cocher un seul checkbox sur 2 uniquement en permettant de les décocher

Ark30

XLDnaute Junior
Je reviens sur ma question qui était d'empêcher que 2 checkboxs soient cochés en même temps:
La solution était le code suivant:

Option Explicit
Private Sub CheckBox1_Click()
CheckBox2 = Not CheckBox1
End Sub
Private Sub CheckBox2_Click()
CheckBox1 = Not CheckBox2
End Sub


Cependant, si j'ai l'un des deux checkboxs cochés et que je le décoche, l'autre est coché automatiquement à cause du not.

Je reformule ma question car j'aimerais savoir comment faire pour décocher les checkboxs car l'application ne doit pas m'obliger à avoir l'un des deux checkboxs cochés.

Avec mes remerciements,
 

Pièces jointes

  • Classeur1.xlsm
    13.2 KB · Affichages: 106
  • Classeur1.xlsm
    13.2 KB · Affichages: 118
  • Classeur1.xlsm
    13.2 KB · Affichages: 125

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : cocher un seul checkbox sur 2 uniquement en permettant de les décocher

bonjour Ark30,

une solution (un peu moins souple) car il faut décocher un pour pouvoir cocher l'autre
mais qui permet de décocher les deux et interdit de cocher les deux en même temps
Code:
Private Sub CheckBox1_Click()
If CheckBox2 And CheckBox1 Then CheckBox1.Value = False
End Sub
Private Sub CheckBox2_Click()
If CheckBox2 And CheckBox1 Then CheckBox2.Value = False
End Sub
à+
Philippe
 

stefan373

XLDnaute Occasionnel
Bonsoir ark30, philippe et le forum.

Un peu plus compliquer :)mais permet de cocher ou décocher plusieurs checkbox en rajoutant les numéro dans Array(2, 3)...

Code:
Private Sub CheckBox1_Click()
Dim tablo As Variant
Dim i As Byte
tablo = Array(2)
If CheckBox1.Value = True Then
For i = LBound(tablo) To UBound(tablo)
Me.Controls("CheckBox" & tablo(i)).Value = True
Next i
End If
If CheckBox1.Value = False Then
For i = LBound(tablo) To UBound(tablo)
 Me.Controls("CheckBox" & tablo(i)).Value = False
Next i
End If
End Sub

A voir, selon vos besoins.

A +
 

Discussions similaires

Réponses
18
Affichages
2 K

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote