VBA Ajouter une nouvelle feuille - Nom, avant/après et plus d'exemples

Ce tutoriel expliquera comment ajouter / insérer des feuilles de calcul à l'aide de VBA.

Ajouter une feuille

Cette macro simple ajoutera une feuille avant l'ActiveSheet :

123 Sous-Ajouter ()Feuilles.AjouterFin du sous-marin

Après avoir inséré une feuille, la nouvelle feuille devient la feuille active. Vous pouvez ensuite utiliser l'objet ActiveSheet pour travailler avec la nouvelle feuille (Au bas de cet article, nous montrerons comment insérer une nouvelle feuille directement dans une variable).

1 ActiveSheet.Name = "NouvelleFeuille"

Ajouter une feuille avec un nom

Vous pouvez également définir un nom de feuille lorsque vous créez la nouvelle feuille :

1 Sheets.Add.Name = "NewSheet"

Créer une nouvelle feuille avec un nom à partir d'une cellule

Ou utilisez une valeur de cellule pour nommer une nouvelle feuille :

1 Sheets.Add.Name = range("a3").value

Ajouter une feuille avant/après une autre feuille

Vous pouvez également choisir l'emplacement où la nouvelle feuille sera insérée. Vous pouvez utiliser les propriétés Après ou Avant pour insérer une feuille à un emplacement spécifique dans le classeur.

Insérer une feuille après une autre feuille

Ce code insèrera la nouvelle feuille APRES une autre feuille :

1 Sheets.Ajouter après : = Sheets("Entrée")

Cela insérera une nouvelle feuille APRÈS une autre feuille et spécifiera le nom de la feuille :

1 Sheets.Add(After :=Sheets("Input")).Name = "NewSheet"

Notez la parenthèse supplémentaire requise dans le deuxième exemple (le premier exemple générera une erreur si la deuxième parenthèse est ajoutée).

ou avant:

1 Sheets.Add(Before:=Sheets("Input")).Name = "NewSheet"

Dans ces exemples, nous avons explicitement nommé la feuille utilisée pour déterminer l'emplacement de la feuille. Souvent, vous voudrez utiliser le numéro d'index de la feuille à la place, afin de pouvoir insérer la feuille au début ou à la fin du classeur :

Ajouter une feuille à la fin du classeur

Pour ajouter une feuille à la fin du classeur :

1 Sheets.Add After : = Sheets(Sheets.Count)

Ajouter une feuille au début du classeur :

Pour ajouter une feuille au début du classeur :

1 Sheets.Add(Before:=Sheets(1)).Name = "FirstSheet"

Ajouter une feuille à la variable

Ce code affecte la nouvelle feuille à une variable lors de la création de la feuille :

12 Dim ws As Feuille de calculDéfinir ws = Sheets.Add

De là, vous pouvez référencer la nouvelle feuille avec la variable « ws » :

1 ws.name = "VarSheet"

Plus d'exemples d'ajout de feuille

Créer une feuille si elle n'existe pas déjà

Vous pouvez créer une feuille uniquement si elle n'existe pas déjà.

Créer des feuilles de calcul à partir d'une liste de noms

La routine suivante examinera le contenu d'une seule colonne configurée dans des feuilles de calcul Excel dans le classeur actuel avec ces noms. Il appelle une autre fonction pour voir si une feuille avec ce nom existe déjà, et si c'est le cas, la feuille n'est pas créée.

1234567891011121314151617181920212223242526 Private Sub CommandButton1_Click()Appelez CreateWorksheets(Sheets("Sheet2").Range("A1:a10"))Fin du sous-marinSub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added As IntegerDim Sheet_Name en tant que chaîneDiminuer en tant qu'entierNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountPour i = 1 To No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells(i, 1).Value'Ajouter une feuille uniquement si elle n'existe pas déjà et que le nom fait plus de zéro caractèresSi (Sheet_Exists(Sheet_Name) = False) Et (Sheet_Name "") AlorsWorksheets.Add().Name = Sheet_NameFin siEnsuite jeFin du sous-marin
1234567891011121314 Fonction Sheet_Exists (WorkSheet_Name en tant que chaîne) en tant que booléenDim Work_sheet en tant que feuille de calculSheet_Exists = FauxPour chaque Work_sheet dans ThisWorkbook.WorksheetsSi Work_sheet.Name = WorkSheet_Name AlorsSheet_Exists = TrueFin siProchainFonction de fin

Donc, si nous avons le texte suivant dans les cellules A1:A30 de la feuille 2 :

Ensuite, les feuilles suivantes seront créées :

Notez que bien que « Chien » apparaisse deux fois, une seule feuille est créée.

Pour télécharger le fichier .XLS de ce tutoriel, cliquez ici.

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

wave wave wave wave wave