Médiaforma

VBA Excel – Copier-coller en VBA

Partagez cet article sur vos réseaux

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…

Bonjour,
Apres le  » Coller » la selection de  » copier » reste active ,
comment faire pour pour sortir du code après le  » coller » ?
Merci
cordialement

Bonjour,

Je souhaiterais savoir si dans le code qui permet de copier coller la cellule A2 de la feuille courante de la cellule A1 Feuil2 suivante:

Range(« A2 »).Copy Worksheets(« Feuil2 »).Range(« A1 »)

Nous pouvions mettre des cellule qui varie, car le code suivant ne fonctionne pas mais je souhaiterais pourvoir réaliser cette automatisation.

Range(Cells(LigneX, ColonneY)).Copy Worksheets(« Feuil2 »).Range(Cells(LigneZ, ColonneW))

D’avance merci.

Bonjour,

J’aimerai fais un copier coller d’un certain nombre de cellules d’un tableau pour les copier ailleurs, dans un autre tableau. Le problème ? J’aimerai créer une variable pour copier seulement les cellules qui sont intéressantes (exemple avec une bouche if quantité supérieur à 0, je copie la ligne en question). La variable serait alors « ligne » présente dans une boucle For. Voici mon code:

For ligne = 44 To 83
For ligne1 = 8 To 37
If Sheets(« ARBALETES »).Range(« G » & ligne1).Value > 0 Then
Range(« Bligne1:Hligne1 »).Copy Range(« Jligne:Pligne »)

Else

End If

Next ligne1

Cependant, le copie coller ne marche par pour le range car il ne comprend pas les cellules Bligne, comment faire ? Merci beaucoup pour votre aide !

Bonjour
Est-il possible de faire un copier coller d’un combo box et lui incrémenter un numéro par rapport à la combo box qui a servi au copier.?

Laissez un commentaire