Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Malheureusement, après moult essais, je crains que la seule solution reste la modification manuelle : il semble impossible de modifier la propriété Name des contrôles par macro. Et quand bien même ça pourrait se faire, il est fort probable que les noms ne soient pas conservés lors de l'enregistrement. J'en ai fait l'expérience pour d'autres propriétés modifiées par code.
A moins qu'un "Barbatruc" ne vienne me contredire, ce que je te souhaite.
ah ca expliquerai pourquoi après pas mal de recherches et de tests je n'ai rien trouvé :-(
D'autres avis sur la question?
Autrement je vais m'amuser à renommer 1000 textbox youhou !
D'accord avec Papou si les TextBox sont dans un UserForm.
Mais bien sûr si elles sont dans une feuille de calcul :
Code:
Sub Renommer()
Dim s As Shape
For Each s In ActiveSheet.Shapes
If s.Name Like "TextBox*" Then _
s.Name = Replace(s.Name, "TextBox", "plouf")
Next
End Sub
bonjour plouf, Papou-net,job75🙂🙂🙂
je vois vraiment pas l'interet dans ton cas de les renommer ???
en plouf 1 plouf2 ect...avec des noms different je peus comprendre
de plus 1000 textboxs attention a l'usine a gaz
J'ai enfaite plusieurs type de textbox, et je dois les renommer à chaque fois par 100 aine.
aa1; aa2; aa3 ...etc..
bb1; bb2; bb3 ...etc..
plouf1; plouf2; plouf 3 etc..
jusqu'à 100
c'est pourquoi j'aurai voulu savoir si il existait un moyen de renommer ou de créer du textbox avec un prefixe de nom précis.. mais ce n'est apparemment pas le cas ! donc tout en manuel 😀
En fait on peut modifier durablement les noms des contrôles d'un UserForm.
Par exemple comme ceci :
Code:
Sub RenommeTextBox()
Dim c As Control
For Each c In ThisWorkbook.VBProject.VBComponents("Userform1").Designer.Controls
c.Name = Replace(c.Name, "TextBox", "papou")
Next
End Sub
Sur Excel 2010, au niveau de la sécurité des macros, la case "Accès approuvé au modèle d'objet du projet VBA" doit être cochée.
Sur Excel 2003, c'est la case "Faire confiance au projet VBA" (de mémoire).
Je vais opter pour la solution de job75 mais j'ai tout de même un question:
le code modifie uniquement les contrôles dont le prefixe est "Textbox" ?
Jean-Marcel: merci pour ce fichier, je ne l'utiliserai peut être pas tout de suite, mais il est très intéressant pour la suite.
Petite question: est-ce que ca allège le fichier que de créer à chaque fois les contrôles plutot que de les créer durablement?
Maintenant supposons plus de 1000 TextBox avec des numéros se suivant.
On peut les renommer en changeant la partie texte toutes les centaines :
Code:
Sub RenommeTextBox()
Dim tablo, c As Control, n, i
tablo = Array("aa", "bb", "cc", "dd", "ee", "ff", "gg", "hh", "ii", "jj", "kk")
For Each c In ThisWorkbook.VBProject.VBComponents("Userform1").Designer.Controls
If c.Name Like "TextBox*" Then
n = Val(Mid(c.Name, 8, 4)) - 1 'numéro du nom - 1
i = Int(n / 100)
c.Name = tablo(i) & n - 100 * i + 1
End If
Next
End Sub
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD