Bonjour,
Je me retourne vers les utilisateurs plus expérimentés que moi, afin d’optimiser mon code VBA ce dernier fonctionne bien néanmoins il est limité. Je m’explique avant de refermer le classeur je renomme l’onglet de ma nouvelle feuille et trie l’ensemble des onglets à l’aide du code ci – dessous aucun problème dès la réouverture du classeur l’onglet est bien renommé sauf que si plusieurs feuilles sont crées, seule la première crée sera renommée les autres non.
Y a t – il y code qui permettrait soit de renommer l’ensemble des onglets nouvellement créés avant la fermeture du classeur ou de renommer l’onglet dès lors que les cellules indiquées dans le code seraient renseignées ?
Si vous disposez d’un peu de temps de manière à améliorer mon code, je vous en remercie
Bien cordialement
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveSheet.Name = Range("I10") & " " & Range("F7") & " " & Range("k7")
Dim FlagClassement As Boolean
Dim Compteur As Integer
FlagClassement = True
Do While FlagClassement = True
FlagClassement = False
For Compteur = 1 To Worksheets.Count - 1
If Worksheets(Compteur).Name > Worksheets(Compteur + 1).Name Then
Worksheets(Compteur).Move after:=Worksheets(Compteur + 1)
FlagClassement = True
End If
Next Compteur
Loop
End Sub
Je me retourne vers les utilisateurs plus expérimentés que moi, afin d’optimiser mon code VBA ce dernier fonctionne bien néanmoins il est limité. Je m’explique avant de refermer le classeur je renomme l’onglet de ma nouvelle feuille et trie l’ensemble des onglets à l’aide du code ci – dessous aucun problème dès la réouverture du classeur l’onglet est bien renommé sauf que si plusieurs feuilles sont crées, seule la première crée sera renommée les autres non.
Y a t – il y code qui permettrait soit de renommer l’ensemble des onglets nouvellement créés avant la fermeture du classeur ou de renommer l’onglet dès lors que les cellules indiquées dans le code seraient renseignées ?
Si vous disposez d’un peu de temps de manière à améliorer mon code, je vous en remercie
Bien cordialement
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveSheet.Name = Range("I10") & " " & Range("F7") & " " & Range("k7")
Dim FlagClassement As Boolean
Dim Compteur As Integer
FlagClassement = True
Do While FlagClassement = True
FlagClassement = False
For Compteur = 1 To Worksheets.Count - 1
If Worksheets(Compteur).Name > Worksheets(Compteur + 1).Name Then
Worksheets(Compteur).Move after:=Worksheets(Compteur + 1)
FlagClassement = True
End If
Next Compteur
Loop
End Sub