Bonjour à tous,
Pourriez-vous m'indiquer comment je peux insérer 36 feuilles dans un fichier par un code Vba ?
Je vous en remercie par avance
Bonjour à tous,
Pourriez-vous m'indiquer comment je peux insérer 36 feuilles dans un fichier par un code Vba ?
Je vous en remercie par avance
Bonjour,
une piste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For i = 1 To 36 Sheets.Add Next
Bonjour,
tu peut aussi préciser l'endroit ou tu veut les inserer :
Cordialement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub Ajouter_feuilles() 'Declaration des variables Dim no_sheets As Integer Dim nb_add As Integer Dim i As Integer nb_add = 36 'Nombre de feuilles au total no_sheets = 2 'Numéro de la feuille après laquelle l'injection sera faite 'Ajout des feuilles apres la feuille choisie 'pour atteindre un total de 36 feuilles For i = no_sheets To no_sheets + (nb_add -1) Sheets.Add After:=Sheets(i) Next i End Sub
Darki03
bonjour nec babybell Darki03 on peut aussi les nommer!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Option Explicit Sub tableau() Dim i As Byte Application.ScreenUpdating = False For i = 1 To 36 ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count) ActiveSheet.Name = "tableau_" & Format(Sheets(i).Index, "0") Next i End Sub
Pour créer un nouveau classeur avec 36 onglets :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub ajoute_36() Dim res As Long: res = Application.SheetsInNewWorkbook Application.SheetsInNewWorkbook = 36 Workbooks.Add Application.SheetsInNewWorkbook = res End Sub
Et pourquoi pas une fonction a appeler 36 fois (utilisée sans affichage des alertes).
Une fonction perso (a ameliorer ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Function Add_sheet(ByVal MySheet As String, Optional Mydel As Boolean) As Boolean ' ----------------------------------------------------------------------------------' ' Ajout d'une feuille en fin de classeur ' ----------------------------------------------------------------------------------' ' En entree : ' MySheet : Nom de la nouvelle feuille ' MyDel : True pour suppression si existe déja ' ----------------------------------------------------------------------------------' ' Exemple de test : ' ----------------------------------------------------------------------------------' ' Dim NewSheet As String: NewSheet = "toto": desactive ' Add_sheet NewSheet, True '=> Pas de demande de confirmation de suppression ' Add_sheet NewSheet, False '=> Demande de confirmation de suppression ' active ' ----------------------------------------------------------------------------------' Dim F1 As Worksheet ' ------------------------------- ' ' Existence de l'onglet ' ------------------------------- ' For Each F1 In Sheets If F1.Name = MySheet Then If Mydel Then F1.Delete Exit For Else MsgBox "La feuille " & F1.Name & " existe déja", vbInformation, "Classeur " & ThisWorkbook.Name Exit Function End If End If Next ' ------------------------------- ' ' Ajout de l'onglet ' ------------------------------- ' Set F1 = Sheets.Add(After:=Sheets(Sheets.Count)) F1.Name = MySheet Ajout_sheet = True End Function
Merci à tous pour votre aide.
Partager