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 !
J'ai un Userform avec des labels crées dynamiquement,, la valeur de ces labels est le résultat d'une formule, j'aimerais mettre à jour le résultat de cette formule à chaque changement de valeur dans ma combobox, malheureusement, cela ne marche pas, quelqu'un aurait une idée?
Une proposition de mise à jour du résultat de tes calculs avec des comboboxes dans un label...
Voir fichier ci joint.
VB:
Private Sub UserForm_Initialize()
For i = 1 To 20
ComboBox1.AddItem i
ComboBox2.AddItem i ^ 2
Next i
End Sub
Private Sub ComboBox1_Change()
If ComboBox1.Value <> "" And ComboBox2.Value <> "" Then
Label3.Caption = CLng(ComboBox1.Value) * CLng(ComboBox2.Value)
End If
End Sub
Private Sub ComboBox2_Change()
If ComboBox1.Value <> "" And ComboBox2.Value <> "" Then
Label3.Caption = CLng(ComboBox1.Value) * CLng(ComboBox2.Value)
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Label3.Caption = "?"
End Sub
Eh bien, moi non plus pour tout te dire...😛 Sans un petit fichier exemple, joint à ton post, avec des explications concrètes et les lignes de code qui correspondent à ta création dynamique de labels, tu comprends aisément qu'il est très difficile de deviner ce que tu dois faire et de te proposer des solutions que tu puisses intégrer directement dans ton code existant... (Lien supprimé)
Donc, comme l'intitulé de ta question concernait l'actualisation de label, je te proposais simplement un petit exemple simple qui te montre comment on actualise un label avec un calcul qui provient de comboboxes 🙂
Le problème c'est que je connais pas le nom de mes labels vu qu'ils sont créés automatiquement et que leur nombre est variable
A priori, les labels qui sont crées dynamiquement devraient soit être nommés dans ton code, soit être nommés automatiquement par VBA, par défaut: "Label1", "Label2", "Label3", "Label4", "Label5", etc...
Ci-joint un exemple d'un ajout de Labels en dynamique (avec des labels nommées automatiquement et un label nommé via le code) suivi ensuite d'une actualisation de ces Labels créés avec le code.
Enfin, pour le nombre de labels qui sont créés par ta macro, il faudrait voir ton code.
VB:
Private Sub CommandButton1_Click()
TopPosition = CommandButton1.Top
For i = 5 To 8
Set label_dyna = UserForm1.Controls.Add("Forms.Label.1", , Visible = True) ' creation automatique du label nommé automatiquement
label_dyna.Top = TopPosition
label_dyna.Left = ComboBox1.Left
label_dyna.Caption = label_dyna.Name
label_dyna.Width = 200
TopPosition = TopPosition + 15
Next i
Set LabelDyna2 = UserForm1.Controls.Add("Forms.Label.1", "Nom_du_label", Visible = True) ' creation automatique du label nommé "Nom_du_label"
LabelDyna2.Top = TopPosition '
LabelDyna2.Left = ComboBox1.Left
LabelDyna2.Caption = LabelDyna2.Name
LabelDyna2.Width = 200
End Sub
Private Sub CommandButton2_Click()
For i = 5 To 8
UserForm1.Controls("Label" & i).Caption = "Actualisation du Label" & i
Next i
UserForm1.Controls("Nom_du_label").Caption = "Actualisation du Label 'Nom_du_label'"
End Sub
J'espère que cet exemple va permettre de répondre à ta question sinon il faudra que tu postes un fichier exemple parce que je propose du code dans le brouillard là 😉
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.