OVH Cloud OVH Cloud

Numéro de feuille

4 réponses
Avatar
Claire
Bonjour,
J'aimerais savoir si on peut forcer la renumérotation des feuilles dans VBA.
Je me suis aperçu que je ne pouvais me fier au numéro de feuille dans VBA.
Merci beaucoup
Claire

4 réponses

Avatar
michdenis
Bonjour Claire,

Tu peux utiliser ce type de macro pour attribuer le numéro des feuilles en vba

Attention, Si le numéro de tes feuilles est anarchique, exécute la macro 2 fois.
la première fois A = A+500

la seconde fois A = A+1

Et ceci afin de t'assurer que la macro n'essaie pas d'attribuer un numéro déjà existant ... la procédure va planter !

'-----------------------
Sub AjoutFeuille()

Dim Sh As Worksheet
For Each Sh In Worksheets
A = A + 1
ActiveWorkbook.VBProject.VBComponents(Sh.CodeName).Name = "Feuil" & A
Next

End Sub
'-----------------------

P.S. Le compteur se remet à zéro seulement après avoir fermé le classeur ... à sa réouverture...compteur = 0


Salutations!



"Claire" a écrit dans le message de news:
Bonjour,
J'aimerais savoir si on peut forcer la renumérotation des feuilles dans VBA.
Je me suis aperçu que je ne pouvais me fier au numéro de feuille dans VBA.
Merci beaucoup
Claire
Avatar
Claire
Bonjour Michdenis,
J'essaie ta petite macro et voici ce que cela me donne:

"L'accès par programme au projet Visual Basic n'est pas fiable."

Ceci est une copie de la macro....
Sub AjoutFeuille()

Dim Sh As Worksheet
For Each Sh In Worksheets
A = A + 500
ActiveWorkbook.VBProject.VBComponents(Sh.CodeName).Name = "Feuil" & A
Next

End Sub

Salut
Avatar
Clément Marcotte
Bonjour,

Tu affrontes un Excel zélé. Va voir là:

Outils - Options - Sécurité - Sécurité des macros - Sources fiables

Coche au moins "Faire confiance au projet Visual Basic"


"Claire" a écrit dans le message de
news:
Bonjour Michdenis,
J'essaie ta petite macro et voici ce que cela me donne:

"L'accès par programme au projet Visual Basic n'est pas fiable."

Ceci est une copie de la macro....
Sub AjoutFeuille()

Dim Sh As Worksheet
For Each Sh In Worksheets
A = A + 500
ActiveWorkbook.VBProject.VBComponents(Sh.CodeName).Name "Feuil" & A
Next

End Sub

Salut




Avatar
Claire
Un Excel zélé en effet. Tout a bien fonctionné cette fois.

Merci beaucoup
Claire

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Tu affrontes un Excel zélé. Va voir là:

Outils - Options - Sécurité - Sécurité des macros - Sources fiables

Coche au moins "Faire confiance au projet Visual Basic"


"Claire" a écrit dans le message de
news:
Bonjour Michdenis,
J'essaie ta petite macro et voici ce que cela me donne:

"L'accès par programme au projet Visual Basic n'est pas fiable."

Ceci est une copie de la macro....
Sub AjoutFeuille()

Dim Sh As Worksheet
For Each Sh In Worksheets
A = A + 500
ActiveWorkbook.VBProject.VBComponents(Sh.CodeName).Name > "Feuil" & A
Next

End Sub

Salut