Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Renommer séquentiellement les feuilles objets (vbe)

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Il me semble (plus sûr) 'il y qq années JOB m'avait permis de renommer les feuilles (voir image) 1 2 3 4 5 ... et pas 45 46 ...
mais je retrouve pas
Est ce vraiment possible ?
 

Pièces jointes

  • noms F.jpg
    8.6 KB · Affichages: 3

Staple1600

XLDnaute Barbatruc
Re

@Jacky67
Moi aussi, je fais dans le VBA mais uniquement les jours de pluie ou les nuits sans lune.
[!!!alerte sexisme détectée dans le message!!!]
Non, la vraie raison, c'est pour épater mes collègues à jupons au boulot.
Mais ca marche moyen, vu qu'elles ont le nez rivé sur l'écran de leur smartphone
 

patricktoulon

XLDnaute Barbatruc
re
le renommage en masse
j'ai vu passer 2/3 fois une boucle avec un renomage avec les index
il y a juste un petit problème
il arrive que dans le classeur on ajoute ou enlève des feuille ou pire on les déplace dans un ordre différent
si bien que par exemple ceci


se retrouve comme ceci dans le vbe

je vous laisse imaginer l'ordre si je renomme
qui ne sera bien sur pas le même
 

Dranreb

XLDnaute Barbatruc
J'avoue que je ne sais pas. Je soupçonne que s'il faut l'écrire ainsi quand on emploie .Properties c'est parce ce n'est pas vraiment une propriété de l'objet. @Staple1600 emploie plutôt .Name et c'est plus clair. j'ignore si ça n'aurait pas quelque inconvénient. J'ai trouvé comme ça, avec .Properties, sur la toile, c'est tout.
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Il me semble (plus sûr) 'il y qq années JOB m'avait permis de renommer les feuilles (voir image) 1 2 3 4 5 ... et pas 45 46 ...
mais je retrouve pas
Est ce vraiment possible ?
Comme déjà dit par les différents intervenants, il suffit de changer, soit manuellement, soit par VBA, le "CodeName" de chaque feuille.
Si tu le fais par macro, il faut savoir quel critère permet de savoir quel CodeName donner à quelle feuille. Il faut aussi faire attention lors du renommage à ne pas attribuer un CodeName qui est déjà attribué à une autre feuille.


Le truc c'est que si le si le fichier se lance x fois ( possible d'aller à + de 500) je ne sais pas si VBE acceptera Feuil567 exemple ?
et se taper manuellement .... à chaque fois pas marrant
Si tu dois partir sur 567 feuilles ou plus, un conseil : n'utilise pas le CodeName Feuil1, mais Feuil001, sinon à la fin tu vas pleurer parce que tes feuilles ne seront pas dans le bon ordre...
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Re

@herve62

Mais à quoi cela sert ?
Sinon il faut aimer se faire mal !!
Et comme l'a démontré Patrick tu vas plutôt au bug du reste de ton code

Une autre solution :

VB:
Sub ChangeCodeName()
Dim MaFeuille As Worksheet
Set MaFeuille = Worksheets("Feuil1") 'Nom de l'onglet ==> le Name
MaFeuille.[_CodeName] = "Toto"       'Nom interne de l'onglet ==> le codeName
Set MaFeuille = Nothing
End Sub

Mais perso on marche un peu sur la tête car on part du nom de l'onglet celui que l'utilisateur peut modifier facilement pour renommer le nom interne (le codeName) de la dite feuille celui qui n'est pas accessible autrement que par le code VBA

Sans compter que tu dois faire un test
1)
sur le nom de l'onglet (le Name) pour être sur que l'onglet existe sinon erreur d’exécution 9



ET un test quelque soit la méthode choisi
2)
sur le nom interne (le CodeName) de la feuille pour être sur que le nom interne (le CodeName) n'est pas déjà attribué sinon erreur d’exécution 32813



Et pour finir le CodeName est limité à 31 caractères donc tu peux dormir tranquille je pense .....
 

Discussions similaires

Réponses
5
Affichages
266
Réponses
7
Affichages
405
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…