Couper, copier et coller à partir d'une macro - Exemples de code VBA

Dans ce didacticiel, vous apprendrez plusieurs méthodes différentes pour copier-coller et couper-coller à l'aide d'une macro VBA. Lisez le didacticiel compagnon sur Value Pasting et PasteSpecial pour des options de copier-coller plus avancées.

Pour utiliser ce code : Ouvrez Visual Basic Editor (Alt + F11), Insérez un nouveau module (Insérer > Module) et copiez-collez le code souhaité dans le module.

Copier (couper) et coller une seule cellule

Cet exemple copie ou coupe et colle une seule cellule, A1 vers B1 :

123456789 Sub Paste_OneCell()'Copier et coller une seule cellulePlage("A1").Copier la plage("B1")'Couper et coller une seule cellulePlage ("A1").Coupe Plage ("B1")Fin du sous-marin

Copier la sélection

Si vous souhaitez copier la sélection active, utilisez ceci :

123456789101112 Sub CopySelection()'Coller dans une plage définieSelection.copy range("b1")'Offset Paste (décale 2 cellules vers le bas et 1 vers la droiteSélection.copieSelection.offset(2,1).pasteApplication.CutCopyMode = FalseFin du sous-marin

Copier (couper) et coller une plage de cellules

Cet exemple copie ou coupe et colle une plage de cellules, A1:A3 vers B1:B3 :

123456789 Sub Paste_Range()'Copier et coller une plage de cellulesPlage("A1:A3").Copier la plage("B1:B3")'Couper et coller une plage de cellulesPlage ("A1:A3").Coupe Plage ("B1:B3")Fin du sous-marin

Copier (couper) et coller une colonne entière

Ci-dessous, nous allons démontrer quelques exemples rapides. Lisez notre article sur la copie et le collage de lignes et de colonnes pour des exemples détaillés, des explications et des variantes.

Cet exemple copie ou coupe et colle une colonne entière, de A à B :

12345678910 Sous-collerUneColonne()'Copier et coller la colonnePlage("A:A").Copier la plage("B:B")'Couper et coller la colonnePlage("A:A").Couper Plage("B:B")Fin du sous-marin

Copier (couper) et coller une ligne entière

Cet exemple copie ou coupe et colle une ligne entière, de 1 à 2 :

12345678910 Sub Paste_OneRow()'Copier et coller la lignePlage("1:1").Copier la plage("2:2")'Couper et coller la lignePlage("1:1").Coupe Plage("2:2")Fin du sous-marin

Copier (couper) et coller dans une autre feuille de calcul ou un autre classeur

1234567891011121314 Sub Paste_Other_Sheet_or_Book()'Couper ou copier et coller dans une autre feuille de calculWorksheets("sheet1").Range("A1").Copy Worksheets("sheet2").Range("B1") 'CopyWorksheets("sheet1").Range("A1").Cut Worksheets("sheet2").Range("B1") 'Cut'Couper ou copier et coller dans un autre classeurClasseurs("book1.xlsm").Worksheets("sheet1").Range("A1").Copier _Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'CopierWorkbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Cut _Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'CutApplication.CutCopyMode = FalseFin du sous-marin

Valeur Coller

Normalement, lorsque vous copiez et collez, vous collez toutes les propriétés d'une cellule : mise en forme, formules, etc. Le collage de valeurs vous permet de copier et coller les valeurs des cellules et rien d'autre. Le moyen le plus simple de coller des valeurs dans VBA consiste à définir directement la valeur de la cellule :

123456789101112131415 Sous-valeurColler()'Valeur Coller les CellulesPlage("B1").value = Plage("A1").valuePlage("B1:B3").value = Plage("A1:A3").value'Définir des valeurs entre les feuilles de calculWorksheets("sheet2").range("A1").value = Worksheets("sheet1").range("A1").value'Définir les valeurs entre les classeursWorkbooks("book2.xlsm").Worksheets("sheet1").range("A1").value = _Workbooks("book1.xlsm").Worksheets("sheet1").range("A1").valueApplication.CutCopyMode = FalseFin du sous-marin

Pâte Spéciale

Collage spécial vous permet de copier et coller des propriétés spécifiques des cellules (exemples : formats, valeurs, largeurs de colonnes, etc.). Il vous permet également d'effectuer des opérations de collage spéciales (exemples : sauter des blancs, transposer). Nous examinerons plusieurs exemples ci-dessous, mais pour une lecture approfondie, lisez notre didacticiel sur le collage de valeur et le collage spécial.

12345678910111213141516171819 Sous-collerSpécial()'Effectuer une opération spéciale de collage :Plage("A1").Copier'Coller les formatsRange("B1").PastePâte spéciale :=xlPasteFormats'Coller les largeurs de colonneRange("B1").PasteSpecial Paste:=xlPasteColumnWidths'Coller des formulesRange("B1").PasteSpecial Paste:=xlPasteFormulas'Effectuer plusieurs opérations spéciales de collage à la fois :Plage("A1").Copier'Coller les formats et transposerRange("B1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _Faux, transposer : = vraiApplication.CutCopyMode = FalseFin du sous-marin

Effacer le presse-papiers

Après avoir copié et collé, vous souhaiterez peut-être effacer le presse-papiers (nous le faisons dans certains des exemples de code ci-dessus). Pour effacer le presse-papiers Excel, nous définissons Application.CutCopyMode sur False :

1 Application.CutCopyMode = False

Cela effacera le presse-papiers d'Excel. Cependant, il n'effacera pas le Presse-papiers Windows. Pour effacer le presse-papiers de Windows, suivez les instructions ici.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave