Exemple de macro pour insérer/supprimer des lignes ou des colonnes sur plusieurs feuilles de calcul dans Excel

Résumé

Cet article contient un exemple de macro Microsoft Visual Basic pour Applications (sous-procédure) que vous pouvez utiliser pour insérer ou supprimer des lignes ou des colonnes dans plusieurs feuilles de calcul dans Microsoft Excel.

Informations supplémentaires

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support Microsoft peuvent expliquer la fonctionnalité d’une procédure en particulier. Toutefois, ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques. Pour insérer ou supprimer des lignes ou des colonnes sur plusieurs feuilles de calcul, utilisez une condition de type « Pour chaque... Instruction suivante » pour parcourir toutes les feuilles de calcul requises ou sélectionner les lignes ou colonnes avant d’effectuer l’insertion ou la suppression.

Remarque

Les exemples de macros suivants fonctionnent uniquement sur une plage contiguë de colonnes ou de lignes.

Exemple de macro utilisant une boucle pour insérer des lignes dans plusieurs feuilles de calcul

Sub Insert_Rows_Loop()
     Dim CurrentSheet As Object

     ' Loop through all selected sheets.
     For Each CurrentSheet In ActiveWindow.SelectedSheets
        ' Insert 5 rows at top of each sheet.
        CurrentSheet.Range("a1:a5").EntireRow.Insert
     Next CurrentSheet
End Sub

Exemple de macro pour sélectionner une colonne et insérer une nouvelle colonne

L’exemple de macro suivant permet de sélectionner la colonne entière avant d’insérer de nouvelles colonnes :

Sub Select_Insert_Column()
    Dim MyRange as Object
    ' Store the selected range in a variable.
    Set MyRange = Selection
    ' Select the entire column.
    Selection.EntireColumn.Select
    ' Insert Columns in all selected sheets.
    Selection.Insert
    ' Reselect the previously selected cells.
    MyRange.Select
End Sub