- Copier (couper) et coller une seule cellule
- Copier la sélection
- Copier (couper) et coller une plage de cellules
- Copier (couper) et coller une colonne entière
- Copier (couper) et coller une ligne entière
- Copier (couper) et coller dans une autre feuille de calcul ou un autre classeur
- Valeur Coller
- Pâte Spéciale
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.