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

Renommer en masse Label dans 5 Frames

  • Initiateur de la discussion Initiateur de la discussion carlos
  • Date de début Date de début

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 !

carlos

XLDnaute Impliqué
Bonjour

j'ai une userform avec 5 frames nommées FrameA,frameB etc...

Sur chacune des frame il y a 50 petits Labels qui changent de couleur en fonction de valeurs(bref)
j'ai renommé manuellement la premiere serie de label sur la FrameA :
Alabel1,Alabel2,Alabel3,.........................Alabel50

j'aimerai trouver un moyen rapide pour renommer les autres .
Sur la frame B ce serait:
BLabel1,BLabel2 etc....

Etc jusqu'a la frameC

merci
 
Re : Renommer en masse Label dans 5 Frames

Bonjour Carlos

essaye avec le code ci dessous :

Code:
Private Sub UserForm_Initialize()
Dim f As Control, c As Control, i As Integer
For Each c In Me.Controls
    If TypeOf c Is MSForms.Frame Then
        i = 1
        For Each l In c.Controls
            If TypeOf l Is MSForms.Label Then l.Name = Mid(c.Name, 6, 1) & Label & i: _
                i = i + 1
        Next l
    End If
Next c
End Sub

bonne journée
@+

Edition : regarde peut être ce fil, utilisation de la propriété "tag" et module de classe. A mon avis pas sur d'être obligé de renommer...
https://www.excel-downloads.com/threads/plusieurs-option-button.84971/
 
Dernière édition:
Re : Renommer en masse Label dans 5 Frames

Salut Pierrot93, le forum

Deja , merci pour ta proposition

j'ai 2 questions
1 - le l n'est pas déclaré,je pense que c'est: Dim l As Control
2 - Le Label du code : "Mid(c.Name, 6, 1) & Label & i: _ "
n'est pas une variable déclaréee non plus ? comment la declarer?

Si tu peux encore me renseigner pour cela.
PS : j'ai deja des modules de classe et des tags dans mon projet mais ceux ci ne m'aide pas pour cette question.

Merci

Carlos
 
Re : Renommer en masse Label dans 5 Frames

Re

essaye comme ci dessous, attention c'est la propriété "caption" qui est modifiée, a priori on ne peut pas modifier le nom d'un controle lors de l'execution d'un code, cf aide vba ci dessous, enfin si j'ai bien compris.



Code:
Private Sub UserForm_Initialize()
Dim f As Control, c As Control, l As Control, i As Integer
For Each c In Me.Controls
    If TypeOf c Is MSForms.Frame Then
        i = 1
        For Each l In c.Controls
            If TypeOf l Is MSForms.Label Then l.Caption = Mid(c.Name, 6, 1) & "label" & i: _
                i = i + 1
        Next l
    End If
Next c
End Sub

bonne soirée
@+
 
- 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

Discussions similaires

N
Réponses
5
Affichages
3 K
Nicocotte125
N
J
Réponses
4
Affichages
1 K
jmten92
J
N
Réponses
9
Affichages
1 K
Julien01
J
H
Réponses
3
Affichages
1 K
N
Réponses
3
Affichages
2 K
N
D
Réponses
17
Affichages
2 K
Defcom60
D
O
Réponses
0
Affichages
2 K
okidaccord
O
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…