Empêcher de sélectionner plusieurs checkbox

Bonjour à tous,

J'ai actuellement un petit problème avec une macro vba sur des checkbox. Je m'explique ...

J'ai 8 checkbox appelées "CheckBox1", 2, ... et je voudrais que l'utilisateur ne puisse sélectionner qu'une checkbox.

J'ai donc voulu créer une macro commune à toutes les checkbox. Cette macro fonctionne dans le sens descendant seulement.

Si la checkbox1 est cochée, lorsque je coche la 3 toutes les autres checkbox sont bien décochées, par contre dans l'autre sens cela ne fonctionne pas. Si la checkbox 5 est cochée, lorsque je coche la 2 seule la 5 reste cochée. Je sais que cela est entièrement dû à la logique dans mon code mais la je sèche un peu pour cela que je viens sur le forum.

Voici le code :

Sub CheckBox_Click()
Dim x As Byte

For i = 1 To 8
    If Sheets("Formulaire").Shapes("CheckBox" & i).DrawingObject.Value = 1 Then
           x = i
    End If

Sheets("Formulaire").Shapes("CheckBox" & i).DrawingObject.Value = 0
Next

Sheets("Formulaire").Shapes("CheckBox" & x).DrawingObject.Value = 1

End Sub

Est-ce quelqu'un aurait une idée pour moi ?

D'avance merci !

Bonjour,

Au lieu de mettre des Checkbox, mets des cases à cocher (bouton radio)

Bonjour,

Merci pour ta réponse rapide, mais de quel point de vu cela peut-il changer quelque chose ?

Le principe reste le même non ?

Re,

Non les boutons options, c'est une seule option cochée.

L'ancien bouton est obligatoirement decochée

exemple

132gus2108.xlsx (12.57 Ko)

Re,

Ha ben ok nikel je vais plutôt partir la dessus alors, je vais modifier un peu tout ca !

Dernière petite chose, quelle est la dénomination pour les radio boutons ? L'équivalent de Sheets(" ").Shapes(" ").DrawingObject. Value ?

Car je dois réaliser des tests à d'autres moments pour voir lequel est sélectionné

Re,

Si c'est sur formulaire (Userform) --> OptionButton1, ou le nom que tu lui donne

Sur feuille --> Case d'option 1 ou le nom que tu lui donne

Rechercher des sujets similaires à "empecher selectionner checkbox"