3 cases à cocher par lignes, une seule activée

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

miku6

XLDnaute Nouveau
Bonjour,
Voila je sèche concernant la programmation vba, donc j'ai réellement besoin d'un coup de main!
Pour chaque ligne de mon tableau, j'ai mis à la fin de ces lignes 3 cases à cocher (qui indique chacune sur la même ligne 3 colonne après une valeur vrai ou faux selon le fait que la case soit cocher).

J'ai recupérer ce code qui me permet de l'etendre à toutes les lignes de mon tableau (environ 400 lignes) parcontre je voudrais que pour une ligne seulement une seule case puisse être cocher (chaque ligne me permettant de connaitre l'etat d'avancement des actions "rien", "en cours" et réalisé").

Merci de m'aider et voici le code (il me donne deja les cases mais toutes peuvent s'activer!!):

Sub CréerCase()
Dim Cellule As Range

For Each Cellule In Range("R22:R24")

With Cellule
.Select
ActiveSheet.CheckBoxes.Add(.Left, .Top, .Width, .Height).Select
End With

With Selection
.LinkedCell = Cellule.Offset(0, 3).Address
.Characters.Text = ""
End With

Next Cellule

For Each Cellule In Range("S22:S24")

With Cellule
.Select
ActiveSheet.CheckBoxes.Add(.Left, .Top, .Width, .Height).Select
End With

With Selection
.LinkedCell = Cellule.Offset(0, 3).Address
.Characters.Text = ""
End With

Next Cellule

For Each Cellule In Range("T22:T24")

With Cellule
.Select
ActiveSheet.CheckBoxes.Add(.Left, .Top, .Width, .Height).Select
End With

With Selection
.LinkedCell = Cellule.Offset(0, 3).Address
.Characters.Text = ""
End With

Next Cellule

End Sub
 
Dernière édition:
Re : 3 cases à cocher par lignes, une seule activée

Bonjour miku6, et bienvenue,

Tu peux appliquer le codes suivant à tes checkbox :

Code:
Private Sub CheckBox1_Click()
If CheckBox1 = True Then
  CheckBox2 = Not CheckBox1
  CheckBox3 = Not CheckBox1
End If
End Sub

Private Sub CheckBox2_Click()
If CheckBox2 = True Then
  CheckBox1 = Not CheckBox2
  CheckBox3 = Not CheckBox2
End If
End Sub

Private Sub CheckBox3_Click()
If CheckBox3 = True Then
  CheckBox1 = Not CheckBox3
  CheckBox2 = Not CheckBox3
End If
End Sub

Toutefois, celà va alourdir rapidement ton programme. Alors, pourquoi ne pas utiliser plutôt des boutons radio (OptionButton), tout à fait adaptés à cet usage ? Ne pas oublier, dans ce cas, de les grouper pour chaque ligne.

Espérant avoir répondu.

Cordialement.
 
- 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
1
Affichages
522
Retour