Comment ajouter de nouvelles feuilles dans Excel à l’aide de VBA
Vous pouvez utiliser les méthodes suivantes dans VBA pour ajouter de nouvelles feuilles à un classeur Excel :
Méthode 1 : ajouter une nouvelle feuille
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
Cette macro ajoutera une nouvelle feuille au classeur avec un nom généré automatiquement qui décrit le numéro de feuille qu’elle représente dans le classeur.
Par exemple, s’il y a trois feuilles dans le classeur et que vous exécutez cette macro, une nouvelle feuille portant le nom Sheet4 sera créée.
Remarque : Par défaut, VBA ajoutera la nouvelle feuille immédiatement avant la feuille actuellement active.
Méthode 2 : ajouter plusieurs nouvelles feuilles
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
Cette macro ajoutera trois nouvelles feuilles au classeur.
Méthode 3 : ajouter une nouvelle feuille avec un nom
Sub AddSheetToWorkbook()
Sheets.Add.Name = "MyNewSheet"
End Sub
Cette macro ajoutera une nouvelle feuille au classeur avec le nom MyNewSheet .
Méthode 4 : ajouter une nouvelle feuille avec un nom avant une feuille spécifique
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets("Teams")).Name = "MyNewSheet"
End Sub
Cette macro ajoutera une nouvelle feuille au classeur avec le nom MyNewSheet juste avant la feuille existante appelée Teams .
Méthode 5 : ajouter une nouvelle feuille avec un nom après une feuille spécifique
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets("Teams")).Name = "MyNewSheet"
End Sub
Cette macro ajoutera une nouvelle feuille au classeur avec le nom MyNewSheet directement après la feuille existante appelée Teams .
Méthode 6 : ajouter une nouvelle feuille avec un nom à la fin du classeur
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "MyNewSheet"
End Sub
Cette macro ajoutera une nouvelle feuille au classeur avec le nom MyNewSheet à la toute fin du classeur.
Méthode 7 : ajouter une nouvelle feuille avec un nom au début du classeur
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(1)).Name = "MyNewSheet"
End Sub
Cette macro ajoutera une nouvelle feuille au classeur avec le nom MyNewSheet au tout début du classeur.
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le classeur Excel suivant comportant trois feuilles existantes :
Exemple 1 : Ajouter une nouvelle feuille
Nous pouvons créer la macro suivante pour ajouter une nouvelle feuille au classeur avec un nom généré automatiquement :
Sub AddSheetToWorkbook()
Sheets.Add
End Sub
Lorsque nous exécutons cette macro, une nouvelle feuille est ajoutée au classeur avec le nom Sheet4 juste avant la feuille Teams , que nous avions sélectionnée lors de l’exécution de la macro :
Exemple 2 : ajouter plusieurs nouvelles feuilles
Nous pouvons créer la macro suivante pour ajouter trois nouvelles feuilles au classeur avec des noms générés automatiquement :
Sub AddSheetToWorkbook()
Sheets.Add Count:=3
End Sub
Lorsque nous exécutons cette macro, trois nouvelles feuilles sont ajoutées au classeur directement avant la feuille Teams , que nous avions sélectionnée lors de l’exécution de la macro :
Exemple 3 : Ajouter une nouvelle feuille avec un nom
Nous pouvons créer la macro suivante pour ajouter une nouvelle feuille au classeur avec un nom spécifique :
Sub AddSheetToWorkbook()
Sheets.Add.Name = "MyNewSheet"
End Sub
Lorsque nous exécutons cette macro, une nouvelle feuille nommée MyNewSheet est ajoutée au classeur juste avant la feuille Teams , que nous avions sélectionnée lors de l’exécution de la macro :
Exemple 4 : Ajouter une nouvelle feuille avec un nom avant une feuille spécifique
Nous pouvons créer la macro suivante pour ajouter une nouvelle feuille au classeur directement avant une feuille existante spécifique :
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets("Teams")).Name = "MyNewSheet"
End Sub
Lorsque nous exécutons cette macro, une nouvelle feuille nommée MyNewSheet est ajoutée au classeur directement avant la feuille Teams :
Exemple 5 : Ajouter une nouvelle feuille avec un nom après une feuille spécifique
Nous pouvons créer la macro suivante pour ajouter une nouvelle feuille au classeur directement après une feuille existante spécifique :
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets("Teams")).Name = "MyNewSheet"
End Sub
Lorsque nous exécutons cette macro, une nouvelle feuille nommée MyNewSheet est ajoutée au classeur directement après la feuille Teams :
Exemple 6 : Ajouter une nouvelle feuille avec un nom à la fin du classeur
Nous pouvons créer la macro suivante pour ajouter une nouvelle feuille à la toute fin du classeur :
Sub AddSheetToWorkbook()
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "MyNewSheet"
End Sub
Lorsque nous exécutons cette macro, une nouvelle feuille nommée MyNewSheet est ajoutée à la toute fin du classeur :
Exemple 7 : Ajouter une nouvelle feuille avec un nom au début du classeur
Nous pouvons créer la macro suivante pour ajouter une nouvelle feuille au tout début du classeur :
Sub AddSheetToWorkbook()
Sheets.Add(Before:=Sheets(1)).Name = "MyNewSheet"
End Sub
Lorsque nous exécutons cette macro, une nouvelle feuille nommée MyNewSheet est ajoutée au tout début du classeur :
Remarque : Vous pouvez trouver la documentation complète de la méthode Sheets.Add ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment trouver la dernière ligne utilisée
VBA : Comment trouver la dernière colonne utilisée
VBA : Comment compter le nombre de feuilles dans un classeur