çà fait 3 jour que je suis dessus mais j'arrive pas à le résoudre ( et
pourtant c'est pas dure )
voila je t'explique : A FAIRE EN VBA
à l'ouverture du fichier planning v129
dans le workbook open
je dois copier pour la feuille indexé 6 (c'est l'index car le nom de la
feuille peut changer) (le nom actuel est phillipe)
les cellules à copier: L4:AL501 (ce sont les cellules blanches ou
lorsqu'on click dessus l'useform "cellule" ou suivipaye apparaît.
le but c'est de copier cette plage dans la feuille nommé "recup base" en A20
LE PROBLÈME
Ça marche pas ,
j ai pu isoler 2 causes peut être 3
a) dans workbook open j ai ça qui bloque
Private Sub Workbook_SheetActivate(ByVal sh As Object)
Application.CutCopyMode = False
End Sub
b) peut être quand je fais range("L4:AL501").select
il active les useforms suivipaye et cellule qui me foire le copier coller
c) à faire attention il y a un script dans la feuille indexé 6 (phillipe)
pour la protection des cellules.
je m'arrache les cheveux, peux tu m'aider
j avais essayer ce script mais ça bug
Private Sub Workbook_SheetActivate(ByVal sh As Object)
Range("L4:AL500").Select
Selection.Copy
Sheets("RECUP BASE").Select
Range("A20").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
voici les éléments
fichier : planning v129
une fois la listbox activé choisir AGEFEC
Mot de passe AGEFEC
pour enlever la barre outil : mot de passe "toto"
pour entrer dans le vba "mot de passe "toto"
note : il n'y a pas de mot de passe pour déverrouiller la protection des
feuilles a partir de la barre outil excel
après je me débrouillerais car je dois faire cette manip sur chaque feuille
vers l'onglet "recup base " et a la suite.. (y'a du taf :| )
surtout n hésitez pas a me contacter
voila je t'explique : A FAIRE EN VBA je dois copier pour la feuille indexé (le nom actuel est phillipe) les cellules à copier: L4:AL501 copier cette plage dans la feuille nommé "recup base" en A20
Bonjour, il n'est pas nécessaire de commencer par un select en VBA pour coper-coller... On peut directement passer par cette syntaxe :
<Source>.Copy(<destination>) Note : il existe aussi la syntaxe <Source>.copy Destination:=<destination>
Par exemple pour toi ça ressemblerait plausiblement à : Feuil6.Range("L4:AL501").Copy(Sheets("recup base").Range("A20"))
avec ça il n'y a plus aucun besoin de PasteSelectúlse (la sélecti on de l'utilisateur ne change pas) ni autres trucs du genre. Tout en une seule ligne c'est plus confortable et plus rapide.
Et normalement ça t'évite bien d'autres problèmes (faire une séle ction active la zone sélectionnée le plus souvnet par exemple). Pas la mé thode copy.
voila je t'explique : A FAIRE EN VBA
je dois copier pour la feuille indexé (le nom actuel est phillipe)
les cellules à copier: L4:AL501
copier cette plage dans la feuille nommé "recup base" en A20
Bonjour, il n'est pas nécessaire de commencer par un select en VBA pour
coper-coller...
On peut directement passer par cette syntaxe :
<Source>.Copy(<destination>)
Note : il existe aussi la syntaxe
<Source>.copy Destination:=<destination>
Par exemple pour toi ça ressemblerait plausiblement à :
Feuil6.Range("L4:AL501").Copy(Sheets("recup base").Range("A20"))
avec ça il n'y a plus aucun besoin de PasteSelect=false (la sélecti on de
l'utilisateur ne change pas) ni autres trucs du genre. Tout en une
seule ligne c'est plus confortable et plus rapide.
Et normalement ça t'évite bien d'autres problèmes (faire une séle ction
active la zone sélectionnée le plus souvnet par exemple). Pas la mé thode
copy.
voila je t'explique : A FAIRE EN VBA je dois copier pour la feuille indexé (le nom actuel est phillipe) les cellules à copier: L4:AL501 copier cette plage dans la feuille nommé "recup base" en A20
Bonjour, il n'est pas nécessaire de commencer par un select en VBA pour coper-coller... On peut directement passer par cette syntaxe :
<Source>.Copy(<destination>) Note : il existe aussi la syntaxe <Source>.copy Destination:=<destination>
Par exemple pour toi ça ressemblerait plausiblement à : Feuil6.Range("L4:AL501").Copy(Sheets("recup base").Range("A20"))
avec ça il n'y a plus aucun besoin de PasteSelectúlse (la sélecti on de l'utilisateur ne change pas) ni autres trucs du genre. Tout en une seule ligne c'est plus confortable et plus rapide.
Et normalement ça t'évite bien d'autres problèmes (faire une séle ction active la zone sélectionnée le plus souvnet par exemple). Pas la mé thode copy.
abcd
D'ailleurs, pour ton information, le plus souvent on peut regrouper les termes. Par exemple : Range("L4:AL500").Select Selection.Copy
peut se taper directement : Range("L4:AL500").Copy
Ou encore Sheets("RECUP BASE").Select Range("A20").Select