théorie pour copier/coller correctement en vba

divad

XLDnaute Junior
Bonjour,

je viens vous voir parce que je ne trouve pas de documentation claire concernant le copier/coller en vba.

Selon moi, si je veux copier des cellules, je fais de la manière suivante:
Code:
Range("e6:g6").Select

Premier problème, je ne sais pas copier 1 seule cellule. Si je ne mets que :

Code:
Range("e6").Select
Ca ne fonctionne pas.
Logique... Range = Champ mais... je ne sais pas comment faire.


Et au moment de coller mes données, je suis un peu perdu aussi.
Comment puis-je faire pour coller mes données dans une cellule précise? La H4 par exemple?
Et si je veux la coller en H4, J8 et K12?
Et enfin, si je veux coller dans H4:K4 et J8:J12?

Ce sont juste quelques exemples mais qui vont me permettre de bien avancer dans ma comprehension de la syntaxe!

Ha et une dernière, subsidiaire. Est ce que je peux copier les cellules A1, C3 et K8 d'un coup, et les coller... je ne sais pas, dans 3 cellules différentes ou au moins cotes à cotes dans une autre ligne ou colonne?

Merci énormément :)

D
 

Ubot303

XLDnaute Occasionnel
Re : théorie pour copier/coller correctement en vba

Bonjour,

Connais-tu l'enregistreur de macro?
A défaut de documentation, cet outil aide beaucoup !
Tu le trouveras dans la barre Visual Basic que tu peux faire apparaître avec un clic droit sur tes barres de menus en haut...
C'est l'icône d'un point rouge représentant le "Rec" (enregistrer)

Ci-joint le résultat d'un ctrl c cltr v :

Range("F12:F16").Select 'sélectionne la plage de F12 à F16
Selection.Copy 'copie la séléction
Range("I12").Select 'selectionne la cellule cible
ActiveSheet.Paste 'colle la séléction
 
Dernière édition:

divad

XLDnaute Junior
Re : théorie pour copier/coller correctement en vba

Oui merci, je débute et en effet je ne pense pas souvent à utiliser l'enregistreur de Macros :/

Je vais en effet pouvoir trouver pas mal de réponses à mes questions.
Sauf sans doute la dernière question pour ce qui est de coller à différents endroits d'un coup :)

Je regarderai ça dès demain, merci!

D
 

Ubot303

XLDnaute Occasionnel
Re : théorie pour copier/coller correctement en vba

Je te le fais sous l'enregistreur de macro avec un décalage de A1, C3 et K8 de deux colonnes en C1,E3,M8

Range("A1").Select
Selection.Copy
Range("C1").Select
ActiveSheet.Paste
Range("C3").Select
Application.CutCopyMode = False
Selection.Copy
Range("E3").Select
ActiveSheet.Paste
Range("K8").Select
Application.CutCopyMode = False
Selection.Copy
Range("M8").Select
ActiveSheet.Paste

3 opérations de ctrl c / ctrl v :D
 

tototiti2008

XLDnaute Barbatruc
Re : théorie pour copier/coller correctement en vba

Bonjour à tous,

Comme kjin l'a proposé, on peut copier une cellule (ou plusieurs adjacentes) vers plusieurs cellules

on peut inversement copier plusieurs cellules non adjacentes et les placer à partir d'une cellule

Code:
Range("C4,E4").Copy Range("K4")

mais dans ce cas, les cellules copiées doivent se trouver soit sur la même ligne, soit sur le même colonne

sinon il est conseillé de "désactiver" le mode Copier/Coller une fois qu'on a collé

Code:
Application.cutcopymode = false

reviens-nous si tu veux plus de précisions
 

divad

XLDnaute Junior
Re : théorie pour copier/coller correctement en vba

Merci beaucoup à tous, je vais utiliser tout ça tout à l'heure.

Je viens de chercher à comprendre l'intérêt de désactiver le copier/coller, mais je crois comprendre que c'est un peu comme quand on utiliser Excel à la souris; la même utilité je pense.

Merci encore!

D
 

Discussions similaires

Réponses
2
Affichages
191
Réponses
56
Affichages
1 K

Statistiques des forums

Discussions
312 468
Messages
2 088 682
Membres
103 919
dernier inscrit
BOB66500