Tutoriel VBA: ajouter une Feuille au Classeur Excel

Il est très simple d'ajouter une Feuille au Classeur en VBA. Vous pouvez, d'ailleurs, en ajouter plusieurs à la fois, les placer directement à un endroit en particulier et il est également possible d'attribuer un nom à la Feuille nouvellement ajoutée.

Méthode Sheets.Add en VBA

De manière générale, on ajoute une Feuille grâce à la méthode Sheets.Add cette méthode a plusieurs paramètres (tous optionnels):

  1. Before – détermine devant quelle Feuille la nouvelle Feuille sera ajoutée (peut être le nom ou le numéro de la Feuille – voir exemples)
  2. After – détermine derrière quelle Feuille la nouvelle Feuille sera ajoutée (peut être le nom ou le numéro de la Feuille – voir exemples)
  3. Count – détermine le nombre de Feuilles qui seront ajoutées. Par défaut, cette valeur est égale à 1 (donc si vous omettez ce paramètre, 1 Feuille sera ajoutée au Classeur).
  4. Type – détermine le type de la Feuille (xlWorksheet, xlChart, xlExcel4MacroSheet ou xlExcel4IntlMacroSheet). Par défaut, c'est la valeur xlWorksheet ce qui signifie que dans 99% des cas, vous n'aurez pas besoin d'utiliser ce paramètre

Voici donc des codes VBA expliqués pour les différents cas de figure…

Ajout d'une Feuille devant la Feuille active

Ceci est le cas le plus simple. On ne choisit pas l'emplacement spécifique (la nouvelle Feuille sera placée devant la Feuille active), ni le nom de la nouvelle Feuille. Son nom sera générique: en français "FeuilX" où X est le numéro qui va dans la suite des Feuilles existantes. Si vous utilisez Excel en anglais, le nom de la Feuille ainsi créée sera "SheetX".

Sub AjouterFeuille()
    Sheets.Add
End Sub

 

Ajouter une Feuille à un endroit spécifique dans le Classeur Excel

Comme on ajoute une Feuille au Classeur, autant directement choisir son emplacement (si cela a une importance). Nous avons deux possibilités, soit on spécifie devant quelle Feuille on veut ajouter la nouvelle, soit derrière quelle Feuille.

Il est possible d'utiliser soit le nom de la Feuille de référence, soit la valeur numérique comme vous pouvez le constater dans les code VBA qui suivent.

Devant une Feuille particulière

Sub AjouterFeuilleDevantUneAutreFeuille()

'Avec le numéro de la Feuille
Sheets.Add Before:=Worksheets(3) 'ajoute une Feuille devant la 3ème Feuille du Classeur

'Avec le nom de la Feuille
Sheets.Add Before:=Worksheets("Revenus") 'ajoute une Feuille devant la Feuille "Revenus"

End Sub

Après une Feuille particulière

Sub AjouterFeuilleDerriereUneAutreFeuille()

'Avec le numéro de la Feuille
Sheets.Add After:=Worksheets(4) 'ajoute une Feuille drrière la 4ème Feuille du Classeur

'Avec le nom de la Feuille
Sheets.Add After:=Worksheets("Calendrier") 'ajoute une Feuille derrière la Feuille "Calendrier"

End Sub

 

Au début ou à la fin du Classeur

On peut également vouloir ajouter la nouvelle Feuille tout au début du Classeur ou tout à la fin. Et cela indépendamment du nombre des Feuilles existantes. Pour cela, vous pouvez utiliser le code suivant:

Sub AjouterFeuilleAvecEmplacement()

'ajoute la nouvelle Feuille tout au début du Classeur
Sheets.Add Before:=Worksheets(1)

'ajoute une Feuille tout à la fin du Classeur
' --> pour déterminer la dernière Feuille du Classeur, on compte les Feuilles avec la méthode Worksheets.Count
Sheets.Add After:=Worksheets(Worksheets.Count())

End Sub

 

Ajouter une Feuille avec un nom

Tout comme il est possible de créer une Feuille à un endroit spécifique du Classeur, il est possible de lui donner directement un nom. Pour cela, on utilise la méthode .Name. Vous trouverez la syntaxe de base (sans le placement de la Feuille à un endroit particulier) dans le code VBA qui suit:

Sub AjouterFeuilleAvecNom()
    Sheets.Add.Name = "NouvelleFeuille" 'ajoute une Feuille devant la Feuille active et la nomme "NouvelleFeuille"
End Sub

 

Si, en même temps que lui attribuer un nom, vous voulez placer cette Feuille à un endroit, c'est également possible:

Sub AjouterPlacerEtNommerUneFeuille()
    'ajouter une nouvelle Feuille à la fin du Classeur et la nommer
    Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Nouvelle_Dernière_Feuille"
End Sub

Remarque: Notez que les paramètres de la méthode Add se trouvent entre parenthèses! La méthode Name suit directement la méthode Add et ses paramètres.

Ajouter plusieurs Feuilles en même temps

Il est possible d'ajouter plusieurs Feuilles d'un coup. Pour cela, nous allons nous servir du paramètre Count. Le code VBA suivant ajoute 4 nouvelles Feuilles devant la Feuille active.

Sub AjouterPlusieursFeuilles()
    Sheets.Add Count:=4 'ajoute 4 Feuilles devant la Feuille active
End Sub

 

Vous pouvez évidemment combiner le nombre de nouvelles Feuilles avec le code pour indiquer leur emplacement. Voir la section "Exemples" qui suit…

Exemples pratiques d'ajout de(s) Feuilles dans un Classeur Excel en VBA

Vous voici familiarisés avec les différentes possibilités d'ajouter une Feuille au Classeur en VBA. J'ajoute encore quelques exemples en plus…

Pour ces exemples, imaginons un Classeur qui contient 4 Feuilles nommées "a", "b","c" et "d".

Sub AjouteFeuilleExemples()
'par Excel-Malin.com ( https://excel-malin.com/ )

'ajoute 1 Feuille au début du Classeur et la nomme "début"
    Sheets.Add(Before:=Worksheets(1)).Name = "début"

'ajoute deux Feuilles après la Feuille "b"
    Sheets.Add After:=Sheets("b"), Count:=2
    
'ajoute une Feuille à la 3ème place et la nomme "3e_feuille"
    Sheets.Add(After:=Worksheets(2)).Name = "3e_feuille"
    
 'ajoute 5 feuilles à la fin du Classeur
    Sheets.Add After:=Worksheets(Worksheets.Count), Count:=5
    
End Sub

Conclusion

On arrive à la fin de ce tutoriel. J'espère qu'il vous a permis d'apprendre une nouvelle fonctionnalité de VBA en Excel ou d'approfondir vos connaissances. Si vous avez des questions, des remarques ou des suggestions, n'hésitez pas à laisser un commentaire.

Pour aller plus loin en VBA

Les articles suivants pourraient également vous intéresser…

Vous pouvez également consulter la page dédiée aux ajouts des Feuilles sur le site de Microsoft. Mais je vous préviens, vous n'y trouverez pas beaucoup d'informations supplémentaires…

 

69 0

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.

6 commentaires sur “Tutoriel VBA: ajouter une Feuille au Classeur Excel”