VBA - Bouton d'option qui modifie un label ?

  • Initiateur de la discussion Initiateur de la discussion Int0x
  • 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 !

Int0x

XLDnaute Occasionnel
Bonjour le forum,

Petite question qui semble assez simple pour les pros que vous êtes ! 🙄

J'ai créé une UserForm, dans lequel j'ai un cadre (frame1) contenant 4 boutons d'option (OptionButton de 1 à 4).
Je souhaite qu'en choisissant l'un des boutons, le Label38 soit modifié.

Par exemple:
- si je choisis le bouton 1, alors label 38 = 15
- si je choisis le bouton 2, alors label 38 = 98
etc...

Pour être complet, j'ai 7-8 cadres, avec 4 choix à chaque fois, qui doivent alimenter 8 labels.
A la fin, j'aurais un label qui fait la somme de ces 8 labels.

Par avance merci pour vos idées / retours,
Int0x

PS: cela semble fonctionner avec

Code:
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then Label38.Caption = 0

End Sub

Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then Label38 = 5
End Sub

Private Sub OptionButton3_Click()
If OptionButton3.Value = True Then Label38.Caption = 10
End Sub

Private Sub OptionButton4_Click()
If OptionButton4.Value = True Then Label38.Caption = 50
End Sub

Mais je trouve ça indigeste...n'y a-t-il pas une façon plus propre & simple ?
 
Dernière édition:
Re : VBA - Bouton d'option qui modifie un label ?

salut

Si... tu es mal à l'aise avec les Modules de Classe, tu peux simplifier en remplaçant tes "Boutons d'option" par des contrôles "ListBox" avec options.
Un exemple Si... joint. Merci youky(Bj) pour le fichier 😉
 

Pièces jointes

Dernière édition:
Re : VBA - Bouton d'option qui modifie un label ?

bonjour tous 🙂
une autre facon de l'ecrire



ps petite correction dans la classe ecrire comme cela
Code:
With cbx
 .Parent.Parent.Controls("label" & Right(.Parent.Name, 1)).Caption = cbx.Tag
 End With
 With UserForm1
  .Label9 = 0
 For i = 1 To 8
 If .Controls("label" & i) <> "" Then x = x + CDbl(.Controls("label" & i))
 Next
 .Label9 = x
 End With

trop vite fait🙁 autrement calcul pas bon...
eventuellement dans initialize user..

Code:
 For Each c In Controls
 If TypeName(c) = "OptionButton" Then
 ect...

suffisant
 

Pièces jointes

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

Réponses
10
Affichages
282
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
174
Réponses
2
Affichages
169
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
482
Retour