OVH Cloud OVH Cloud

Pourquoi ce code plante ?

4 réponses
Avatar
Philippe
Bonjour,
J'ai ces 4 lignes dans une macro, et cela plante sur selection.paste.

Range("Z2:AD2").Copy
Range("Z3").Resize(der_lig - 2, 5).Select
Selection.Paste
Application.CutCopyMode = False

Quelqu'un peut-il me dire pourquoi, et comment y remédier.

Merci d'avance,

Ph

4 réponses

Avatar
Asterix
bonjour

la methode paste s'applique à un objet sheet et non range
donc il faut remplacer selection par un objet feuille comme par exemple

ActiveSheet.Paste
et non
Selection.Paste


Asterix

Avatar
Vincent.
Change simplement Paste en PasteSpecial... ça devrait le
faire !
-----Message d'origine-----
Bonjour,
J'ai ces 4 lignes dans une macro, et cela plante sur
selection.paste.


Range("Z2:AD2").Copy
Range("Z3").Resize(der_lig - 2, 5).Select
Selection.Paste
Application.CutCopyMode = False

Quelqu'un peut-il me dire pourquoi, et comment y remédier.

Merci d'avance,

Ph


.



Avatar
Chris MICHEL
Bonjour,

si tu copies une zone, tu ne peux la coller sur une zone
de taille différente (en fait si, mais il y a un certain
nombre de conditions, la zone d'arrivée pouvant être de
taille proportionnelle àla taille de départ par exemple).
Bref, je pense que le pb vient de la valeur de la variable
der_lig, ce qui crée une zone de collage de
taille "illégale".

Chris
-----Message d'origine-----
Bonjour,
J'ai ces 4 lignes dans une macro, et cela plante sur
selection.paste.


Range("Z2:AD2").Copy
Range("Z3").Resize(der_lig - 2, 5).Select
Selection.Paste
Application.CutCopyMode = False

Quelqu'un peut-il me dire pourquoi, et comment y remédier.

Merci d'avance,

Ph


.



Avatar
Philippe
Merci de vos réponses. En fait cela marche effectivement en appliquant le
Paste à un objet Feuille, et non Range. J'ai remplacé par ceci, qui ne
plante pas :

Range("Z2:AD2").Copy
ActiveSheet.Paste
Destination:=Sheets("Rime").Range("Z3").Resize(der_lig - 2, 5)
Application.CutCopyMode = False

Bon week end.

Philippe

"Philippe" a écrit dans le message news:
c004ua$
Bonjour,
J'ai ces 4 lignes dans une macro, et cela plante sur selection.paste.

Range("Z2:AD2").Copy
Range("Z3").Resize(der_lig - 2, 5).Select
Selection.Paste
Application.CutCopyMode = False

Quelqu'un peut-il me dire pourquoi, et comment y remédier.

Merci d'avance,

Ph