checkbox dans userform

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

knaekes

XLDnaute Occasionnel
Bonjour,

je souhaite que lorsque je coche une checkbox dans le userfom, que toutes les autres case soient décochées. J'ai écris une macro mais je ne trouve pas l'erreur !
voici le fichier avec les macros

merci
 

Pièces jointes

Re : checkbox dans userform

Bonjour,

pas ouvert ton fichier, mais plutôt que des "checkbox" utiliser des "optionbuttons", ces objets s'excluent l'un l'autre..

bon après midi
@+

Edition : bonjour Dull🙂, en effet...
 
Dernière édition:
Re : checkbox dans userform

Bonjour à tous

en fait ma syntaxe de départ était mauvaise:
j'ai remplacé checkbox_click par checkbox_change
ce qui donne:

Code:
Private Sub CheckBox1_Change()
If UserForm1.Controls("CheckBox" & 1) = True Then
For i = 1 To 12
    If i = 1 Then GoTo suite
    UserForm1.Controls("CheckBox" & i) = False
suite:
Next i
End If
End Sub

Private Sub CheckBox2_Change()
If UserForm1.Controls("CheckBox" & 2) = True Then
For i = 1 To 12
    If i = 2 Then GoTo suite
    UserForm1.Controls("CheckBox" & i) = False
suite:
Next i
End If
End Sub
Private Sub CheckBox3_Change()
If UserForm1.Controls("CheckBox" & 3) = True Then
For i = 1 To 12
    If i = 3 Then GoTo suite
    UserForm1.Controls("CheckBox" & i) = False
suite:
Next i
End If
End Sub
Private Sub CheckBox4_Change()
If UserForm1.Controls("CheckBox" & 4) = True Then
For i = 1 To 12
    If i = 4 Then GoTo suite
    UserForm1.Controls("CheckBox" & i) = False
suite:
Next i
End If
End Sub
Private Sub CheckBox5_Change()
If UserForm1.Controls("CheckBox" & 5) = True Then
For i = 1 To 12
    If i = 1 Then GoTo suite
    UserForm1.Controls("CheckBox" & 5) = False
suite:
Next i
End If
End Sub

cela fonctionne, mais comme l'a signalé job 75 cela fait x macro semblables, et serait à priori optimisable en utilisant un module de classe. Malheureusement je ne n'en ai pour l'instant aucune notion (il faudra que j'y jette un coup d'oeil prochainement )
 
Re : checkbox dans userform

Bonjour Laetitia 🙂

Pourquoi ne pas utiliser classiquement l'événement Click :

Code:
Private Sub cbx_Click()
Dim i As Byte, c As Control
If cbx Then
  For i = 1 To 12
    Set c = cbx.Parent.Controls("CheckBox" & i)
    If c.Name <> cbx.Name Then c = False
  Next
End If
End Sub
Fichier joint.

 

Pièces jointes

Re : checkbox dans userform

re tous🙂🙂

pour l'ami Job🙂
pas de raison importante dans ce cas précis
je me suis dit au lieu de prendre le 3 ieme evenement "click" pourquoi pas prendre le premier
on aurait peu prendre le deuxieme mousse Up

tu sais j'ecris au "Feeling " comme je le ressens a l'instant T🙂
bonne soirée
a+ leti

ps : je crois bien que l'ami knaekes a meme pas vu qu'on lui a écris un module de classe 🙄
 
- 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
6
Affichages
636
Réponses
10
Affichages
331
Réponses
43
Affichages
775
Réponses
7
Affichages
277
  • Question Question
XL 2019 User Form
Réponses
9
Affichages
526
Retour