[Résolu] Renommer des Textbox

plouf

XLDnaute Nouveau
Bonjour,

J'ai 100 textbox à renommer (textbox1, textbox2 etc... jusqu'à textbox100)
J'aimerai les renommer : plouf1, plouf2,... plouf100..

Manuellement c'est très long, y a t il un autre solution ?

Merci


plouf
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Renommer des Textbox

Bonjour plouf,

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.

Cordialement.
 

plouf

XLDnaute Nouveau
Re : Renommer des Textbox

Bonjour Papou-net,

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 !

merci

plouf
 

job75

XLDnaute Barbatruc
Re : Renommer des Textbox

Bonjour plouf, salut Papou-net :)

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
A+
 

plouf

XLDnaute Nouveau
Re : [Résolu] Renommer des Textbox

Bonjour laetitia90,

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 :D

A bientôt

plouf
 

job75

XLDnaute Barbatruc
Re : [Résolu] Renommer des Textbox

Re, salut Laetitia :)

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).

A+
 

plouf

XLDnaute Nouveau
Re : [Résolu] Renommer des Textbox

Bonsoir et re laetitia90 ,job75, Jean-Marcel,

Merci à vous pour votre participation !

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?

merci à vous !

plouf
 

job75

XLDnaute Barbatruc
Re : [Résolu] Renommer des Textbox

Re,

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
A+
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 611
dernier inscrit
sebboes