Bonjour, bonsoir le forum, existe t'il un moyen plus 'propre' ou 'rapide' d'écrire ce bout de code pour insérer un nombre de feuilles important ?
(j'ai simplifié le code pour que ce soit plus clair, les noms réels des feuilles et les couleurs d'onglets sont rangés dans un tableau)
Merci de votre aide.
Code:
For Y = 1 To 55
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Right("00" & Y,4)
Sheets(Right("00" & Y,4)).Tab.ColorIndex = Y
Next
Sub Macro1()
For Y = 1 To 55
Application.ScreenUpdating = False
Sheets.Add after:=Sheets(Worksheets.Count)
ActiveSheet.Name = "00" & Y
ActiveSheet.Tab.ColorIndex = Y
Next
End Sub
Merci Bernard pour ta réponse, juste une remarque : pourquoi répéter 55 fois Application.ScreenUpdating = False
Code:
Sub Macro1()
For Y = 1 To 55
[COLOR="Red"]Application.ScreenUpdating = False[/COLOR]
Sheets.Add after:=Sheets(Worksheets.Count)
ActiveSheet.Name = "00" & Y
ActiveSheet.Tab.ColorIndex = Y
Next
End Sub
Code:
Sub Macro1()
[COLOR="Red"]Application.ScreenUpdating = False[/COLOR]
For Y = 1 To 55
Sheets.Add after:=Sheets(Worksheets.Count)
ActiveSheet.Name = "00" & Y
ActiveSheet.Tab.ColorIndex = Y
Next
End Sub
Bonne remarque et excellente rectification. J'ai écris un peu vite.
Sub Macro1()
Application.ScreenUpdating = False
For Y = 1 To 55
Sheets.Add after:=Sheets(Worksheets.Count)
ActiveSheet.Name = "00" & Y
ActiveSheet.Tab.ColorIndex = Y
Next
End Sub
Edit : salut job75, c'est vrai l'erreur est humaine, A+
Bonjour Bernard et job75, c'est vrai que l'erreur est humaine et je ne suis pas à l'abri d'en faire aussi.
Mon soucis était beaucoup plus important que l'ajout de 55 feuilles (~2000), pour lister les dossiers, sous-dossiers et fichiers, chose que la version x64 d'Excel refusait (blocage à environ 380 feuilles).
Par contre, la version x86 les ajoute sans rechigner…