Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion meldja
  • 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 !

meldja

XLDnaute Impliqué
Bonjour,
Mon problème est sans nul doute tout bête, mais je n'arrive pas à trouver de réponse après des recherches sur le Net.
Origine de mon projet :
Sur ma messagerie, on peut cocher des checkboxs pour sélectionner des lignes (qui correspondent à des messages) et on peut les supprimer via un bouton.
J'ai voulu reproduire ça en VBA sur excel.
Je me suis dit : "facile, yaka mettre un checkbox sur chaque ligne...".
J'ai tenté le code suivant :
Private Sub CheckBox1_Click()
If CheckBox1 Then
Rows("2:2").Select
Else
Exit Sub
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2 Then
Rows("selection, 3:3").Select
Else
Exit Sub
End If
End Sub
...
Sauf que quand je sélectionne un checkbox, pas de problème... mais lorsque j'en sélectionne un autre, la première sélection disparait.
J'ai cherché comment ajouter une sélection sans effacer la précédente, mais en vain.
J'espère avoir été suffisamment explicite.
Merci d'avance pour vos connaissances.
 
Re : CheckBox VBA

Salut,

je vois pas trop pourquoi tu veux utiliser des checkbox pour ça mais bon :

Private Sub CheckBox1_Click()
If CheckBox1 Then
Rows(2).Select
Else
Exit Sub
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2 Then
Set Maplage = Union(Rows(Selection.Row), Rows(3))
Maplage.Select
Else
Exit Sub
End If
End Sub

🙂
 
Re : CheckBox VBA

Bonsoir tous,

Pour envisager tous les cas, je verrais les choses ainsi :
Code:
Private Sub CheckBox1_Change()
  If CheckBox1 Then
    If Not CheckBox2 Then
      Rows(2).Select
    Else
      Union(Rows(2), Rows(3)).Select
    End If
  Else
    If CheckBox2 Then Rows(3).Select
  End If
End Sub
Private Sub CheckBox2_Change()
  If CheckBox2 Then
    If Not CheckBox1 Then
      Rows(3).Select
    Else
      Union(Rows(2), Rows(3)).Select
    End If
  Else
    If CheckBox1 Then Rows(2).Select
  End If
End Sub
mais s'il y a d'autres cases à cocher cela va se compliquer donc pourquoi pas avec une évènementielle ?
 

Pièces jointes

Re : CheckBox VBA

Merci pour vos réponses,
En effet, ça marche bien avec 2 checkboxs mais pas au-dela.
Truc bizarre, lorsque l'on coche un checkbox, qu'on le décoche et que l'on coche un autre checkbox, les deux lignes sont sélectionné alors qu'il ne devrait y en avoir qu'une.

En fait je voulais essayer de reproduire en VBA ce qui est possible de faire sur une messagerie (en PHP ou autre) juste pour expérimentation.
Au départ, je pensais que ça devait ne pas être trop compliqué mais je me suis mis le doigt dans l'oeil... Apparemment, ça à l'air super complexe.
Je vais donc laisser tomber cette expérimentation.
En tout cas, merci à tous (avec beaucoup de retard, comme d'habitude).
Passez un bon w-end
 
- 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
9
Affichages
378
Réponses
7
Affichages
317
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
251
Réponses
13
Affichages
604
Réponses
9
Affichages
246
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…