Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[NUL] Macro copier coller en relatif

6 réponses
Avatar
Zolive
Bonjour à tous!

le but de la macro que je n'arrive pas à faire tourner est tout bête:

Copier sur la meme page des plages disjointes en position relatives (car je
dois faire la meme manip à plusieurs endrois de la plage..)....

ex :
j'ai réussi (yes!) a trouver comment les selectionner:

ActiveCell.Range("c1:c22,c25:c38,c41:c52,g1:g22,g25:g38,g41:g52,k1:k22,k25:k
38,k41:k52,o1:o22,o25:o38,o41:o52").Select

le pb est que je ne sais pas lui dire copier les plages ci dessus et de les
coller ici...:

("a1:a22,a25:a38,a41:a52,e1:e22,e25:e38,e41:e52,i1:i22,i25:i38,i41:i52,m1:m2
2,m25:m38,m41:m52")


Grand Merci par avance de votre aide
Zolive

6 réponses

Avatar
Daniel
Bonjour.
A ma connaissance, la commande "coller" ne fonctionne pas sur des plages
multiples, quand la zone copiée est également à plages multiples.
Cordialement.
Daniel
"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message de
news: 41fa477f$0$9390$
Bonjour à tous!

le but de la macro que je n'arrive pas à faire tourner est tout bête:

Copier sur la meme page des plages disjointes en position relatives (car
je
dois faire la meme manip à plusieurs endrois de la plage..)....

ex :
j'ai réussi (yes!) a trouver comment les selectionner:

ActiveCell.Range("c1:c22,c25:c38,c41:c52,g1:g22,g25:g38,g41:g52,k1:k22,k25:k
38,k41:k52,o1:o22,o25:o38,o41:o52").Select

le pb est que je ne sais pas lui dire copier les plages ci dessus et de
les
coller ici...:

("a1:a22,a25:a38,a41:a52,e1:e22,e25:e38,e41:e52,i1:i22,i25:i38,i41:i52,m1:m2
2,m25:m38,m41:m52")


Grand Merci par avance de votre aide
Zolive




Avatar
Daniel
Bonjour.
Tu peux utiliser :
ActiveCell.Range("c1:c22,c25:c38,c41:c52,g1:g22,g25:g38,g41:g52,k1:k22,k25:k38,
k41:k52, o1:o22, o25:o38, o41:o52").Select
Selection.Offset(0, -2).Value =
Range("c1:c22,c25:c38,c41:c52,g1:g22,g25:g38,g41:g52,k1:k22,k25:k38,
k41:k52, o1:o22, o25:o38, o41:o52").Value
mais tu ne copies que les valeurs.
Cordialement.
Daniel
"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message de
news: 41fa477f$0$9390$
Bonjour à tous!

le but de la macro que je n'arrive pas à faire tourner est tout bête:

Copier sur la meme page des plages disjointes en position relatives (car
je
dois faire la meme manip à plusieurs endrois de la plage..)....

ex :
j'ai réussi (yes!) a trouver comment les selectionner:

ActiveCell.Range("c1:c22,c25:c38,c41:c52,g1:g22,g25:g38,g41:g52,k1:k22,k25:k
38,k41:k52,o1:o22,o25:o38,o41:o52").Select

le pb est que je ne sais pas lui dire copier les plages ci dessus et de
les
coller ici...:

("a1:a22,a25:a38,a41:a52,e1:e22,e25:e38,e41:e52,i1:i22,i25:i38,i41:i52,m1:m2
2,m25:m38,m41:m52")


Grand Merci par avance de votre aide
Zolive




Avatar
Zolive
Aie... mais merci pour l'info.... je précise à toutes fins utiles que les
plages de départ et d'arrivée ont bien sur de la meme taille... en fait je
ne fais que décaller de qques lignes et colonnes les données...

Si cela peut aider je peux tout aussi bien couper plutot de copier... celà
m'est égal... Si cela change qqchose..

Merci en tout cas...

Zolive

"Daniel" a écrit dans le message de
news:
Bonjour.
A ma connaissance, la commande "coller" ne fonctionne pas sur des plages
multiples, quand la zone copiée est également à plages multiples.
Cordialement.
Daniel
"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message de
news: 41fa477f$0$9390$
Bonjour à tous!

le but de la macro que je n'arrive pas à faire tourner est tout bête:

Copier sur la meme page des plages disjointes en position relatives (car
je
dois faire la meme manip à plusieurs endrois de la plage..)....

ex :
j'ai réussi (yes!) a trouver comment les selectionner:


ActiveCell.Range("c1:c22,c25:c38,c41:c52,g1:g22,g25:g38,g41:g52,k1:k22,k25:k


38,k41:k52,o1:o22,o25:o38,o41:o52").Select

le pb est que je ne sais pas lui dire copier les plages ci dessus et de
les
coller ici...:


("a1:a22,a25:a38,a41:a52,e1:e22,e25:e38,e41:e52,i1:i22,i25:i38,i41:i52,m1:m2


2,m25:m38,m41:m52")


Grand Merci par avance de votre aide
Zolive









Avatar
Zolive
"Daniel" a écrit dans le message de
news:%
Bonjour.
Tu peux utiliser :

ActiveCell.Range("c1:c22,c25:c38,c41:c52,g1:g22,g25:g38,g41:g52,k1:k22,k25:k

38,
k41:k52, o1:o22, o25:o38, o41:o52").Select
Selection.Offset(0, -2).Value > Range("c1:c22,c25:c38,c41:c52,g1:g22,g25:g38,g41:g52,k1:k22,k25:k38,
k41:k52, o1:o22, o25:o38, o41:o52").Value
mais tu ne copies que les valeurs.
Cordialement.
Daniel


Merci Daniel! d'autant plus qu'il n'y a pas de formule ds mes plages...
Donc.. que du bonheur...
byebye

Avatar
Zolive
Merci Daniel! d'autant plus qu'il n'y a pas de formule ds mes plages...
Donc.. que du bonheur...
byebye


J'ai parlé trop vite.. j'ai fait un essai avec:

Sub essai()

ActiveCell.Range("c1:c3,c5:c7,e1:e3,e5:e7").Select
Selection.Offset(0, -2).Value = Range("a1:a3,a5:a7,d1:d3,d5:d7").Value

End Sub

et ce ne me déplace pas les valeurs ... en c1:c3 c5:c7 e1:e3 e5:e7, les
données sont supprimées... comprends pas...

j'ai raté un truc?

désolé de relancer...

Avatar
Daniel
Ou c'est moi qui suis à côté de la plaque...
au lieu de :
Selection.Offset(0, -2).Value = Range("a1:a3,a5:a7,d1:d3,d5:d7").Value
tu dois mettre :
Selection.Offset(0, -2).Value = Range("c1:c3,c5:c7,e1:e3,e5:e7").Value
Cordialement.
Daniel
"Zolive" <http://cerbermail.com/?c29gaUh3kv> a écrit dans le message de
news: 41fa58b5$0$12396$

Merci Daniel! d'autant plus qu'il n'y a pas de formule ds mes plages...
Donc.. que du bonheur...
byebye


J'ai parlé trop vite.. j'ai fait un essai avec:

Sub essai()

ActiveCell.Range("c1:c3,c5:c7,e1:e3,e5:e7").Select
Selection.Offset(0, -2).Value = Range("a1:a3,a5:a7,d1:d3,d5:d7").Value

End Sub

et ce ne me déplace pas les valeurs ... en c1:c3 c5:c7 e1:e3 e5:e7, les
données sont supprimées... comprends pas...

j'ai raté un truc?

désolé de relancer...