Médiaforma

VBA Excel – Copier-coller en VBA

Une seule ligne de code suffit pour copier-coller des cellules, plages, lignes ou colonnes. Voici quelques exemples :

Copie de la cellule G5 en G30 :

Range("G5").Copy Range("G30")

Copie de la colonne A dans la colonne G :

Range("A:A").Copy Range("G:G")

Copie de la ligne 13 dans la ligne 25 :

Range("13:13").Copy Range("25:25")

Copie de la plage A2:C3 de la feuille courante à partir de la cellule A1 du classeur Feuil2 :

Range("A2:C3").Copy Worksheets("Feuil2").Range("A1")

Remarque

Ces instructions n’utilisent pas le presse-papiers multiple d’Office.

Dans tous ces exemples, le contenu des cellules et leur mise en forme sont copies-collés. Si vous voulez limiter le copier-coller aux valeurs ou à la mise en forme, vous devrez utiliser un collage spécial. Ici par exemple, les valeurs de la plage A2:B8 sont copiées en C12, sans tenir compte de la mise en forme :

Set range1 = Range("A2:B8")

range1.Copy

Range("C12").Select

ActiveCell.PasteSpecial Paste:=xlPasteValues

Vous voulez copier-coller la mise en forme mais pas la valeur des cellules ? Remplacez la constante xlPasteValues par la constante xlPasteFormats. Le code devient :

Set range1 = Range("A2:B8")

range1.Copy

Range("C12").Select

ActiveCell.PasteSpecial Paste:=xlPasteFormats
 
Commentaires

Bonjour,
Merci de prendre le temps de partager avec les autres
Comment tu fais pour :
– Copier la cellule active et la coller 6 cellules à droite ?

Merci

Super merci pour ton temps !

ActiveCell.Copy ActiveCell.Offset(0, 6) pour copier une cellule 6 cellules à droite

bonjour, j’ai un tableau et je voudrai copier une partie des lignes afin de les mettre a la suite dans une même colonne.

merci pour votre aide

Bonjour,
J’ai besoin d’une formule VBA pour faire un copier simple pour qu’après je puissent la mettre d’un un document Word, PowerPoint, etc…

Laissez un commentaire