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

VBA - Bouton d'option qui modifie un label ?

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:

youky(BJ)

XLDnaute Barbatruc
Re : VBA - Bouton d'option qui modifie un label ?

Salut bien,
Voici un fichier tout simple pour l'exemple.
Il est aussi possible de passer par un module de classe plus complexe à faire
Bruno
 

Pièces jointes

  • optionlabel.xls
    41 KB · Affichages: 55

Si...

XLDnaute Barbatruc
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

  • ListBoxOption.xls
    38.5 KB · Affichages: 62
Dernière édition:

laetitia90

XLDnaute Barbatruc
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

  • class1.xls
    88.5 KB · Affichages: 50
  • class1.xls
    88.5 KB · Affichages: 53
  • class1.xls
    88.5 KB · Affichages: 56
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…