Cocher un CheckBox sans déclancher l'action

Mi_

XLDnaute Occasionnel
(Re) Bonjour le forum,

Dans un USF banal, je voudrais commander le cochage de CheckBox1 (CheckBox1.Value = True) mais sans que l'action assigné à CheckBox1_Click aie place. Juste le cochage.

Est-il possible ?

Merci pour tout conseil,
Mi_
 

Mi_

XLDnaute Occasionnel
Bonjour Monsieur Haricot :)

En fait, c'est simple:

CheckBox1, coché par click, exécute une commande. (banal)

Et je voudrais cocher CheckBox1 par une ligne de code (et pas par click) et que la commande de CheckBox1 ne s'exécute pas.

En mots:

CheckBox1.Value = True mais pas question d'exécuter la commande, juste coche le CheckBox1 puis vas-t-en ! :)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Mi_, Harry Cover MultiPage!, le Forum

Ah tiens cette fois c'est bien un sujet sur des CheckBox mon cher A... Mi_ ;)

Oui c'est un problème récurrant avec les évènementielles... Moi mon BarbaTruc perso... une Chtit Boolean Public Niveau Private Module du UserForm et Hop



Option Explicit

Private RunTime As Boolean

Private Sub UserForm_Initialize()
RunTime =
True
    CheckBox1.Value =
True
RunTime =
False
End Sub

Private Sub CheckBox1_Click()
   
If RunTime = True Then Exit Sub
        MsgBox 'Click Click !!'
End Sub

Private Sub CheckBox2_Click()
   
If RunTime = True Then Exit Sub
        MsgBox 'Click Click !!'
End Sub

Private Sub CheckBox3_Click()
   
If RunTime = True Then Exit Sub
        MsgBox 'Click Click !!'
End Sub


Bonne Soirée
[ol]@+Thierry[/ol]
 

Mi_

XLDnaute Occasionnel
Bonsoir _Thierry,

Encore toi ?! :)

Bon, je n'ai rien compris, et le code ne marche pas chez moi. Ca coche et décoche comme si rien n'était.

Je cherche toujours à décocher CheckBox1 si je coche CheckBox2, mais sans provoquer l'action de CheckBox1. (par exemple)

Merci merci,
Mi_
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Mi_, _Thierry,

Mi_, la méthode que te donne _Thierry fonctionne parfaitement, je pense que tu as du faire une erreur en l'adaptant à ton code...

Cela dit, j'ai eu le même cas de figure il y a peu, et je m'en suis sorti simplement en déplaçant le code que j'avais mis dans l'évènement CheckBox1_Click() pour le mettre dans l'évènement CheckBox1_AfterUpdate(). En utilisant la souris, l'effet obtenu était le même qu'avec l'évènement Click(), mais en faisant CheckBox1.value = False dans le code d'un autre contrôle, je n'avais plus cette réaction non souhaitée...
Private Sub CheckBox1_AfterUpdate()
      MsgBox 'CheckBox1 cliqué !'
End Sub

Private Sub CheckBox2_Click()
      CheckBox1.Value = False
End Sub
Cette façon de faire est peut-être adaptable à ton classeur (tout dépend, bien sûr, de ce qu'il y a dans ton évènement CheckBox1_Click() à l'origine...)

Cordialement,
 

Mi_

XLDnaute Occasionnel
Bonsoir myDearFriend!, _Thierry et le forum,

Edité:

J'attache un fichier pour exemplifier ce que je n'arrive pas à faire.

Mi_

[file name=exemple3.zip size=12190]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple3.zip[/file]

Message édité par: Mi_, à: 08/09/2005 02:40
 

Pièces jointes

  • exemple3.zip
    11.8 KB · Affichages: 44
  • exemple3.zip
    11.8 KB · Affichages: 45
  • exemple3.zip
    11.8 KB · Affichages: 45

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Mi_, Didier, le Forum


Voici une méthode toujours basée comme plus haut sur une Boolean Public...

Option Explicit

Dim LockTogle As Boolean


Private Sub ToggleButton1_Click()
Dim ValBoolean As Boolean
Dim x As Byte
   
If LockTogle = False Then
       
With Me.ToggleButton1
        ValBoolean = IIf(.Value = True, True, False)
           
           
For x = 1 To 3
                Me.Controls('CheckBox' & x) = ValBoolean
           
Next
       
End With
   
End If
   
   
With Me.ToggleButton1
    .Caption = IIf(.Value = True, 'Desélectionner tout', 'Sélectionner tout')
   
End With

End Sub

Private Sub UserForm_Initialize()
End Sub
Private Sub CheckBox1_Click()
StatusChecker
End Sub
Private Sub CheckBox2_Click()
StatusChecker
End Sub
Private Sub CheckBox3_Click()
StatusChecker
End Sub
Private Sub StatusChecker()
    LockTogle =
True
   
If CheckBox1.Value = True And CheckBox2.Value = True And CheckBox3.Value = True Then
        ToggleButton1.Value =
True
   
Else
        ToggleButton1.Value =
False
       
End If
    LockTogle =
False
End Sub


Bonne Journée
[ol]@+Thierry[/ol]

PS : Entre ce Fil et Celui pour afficher chemin dans ListBox avec fichiers, tu pourras indiquer 'Mi__Thierry' sur le Me.Caption du UserForm lol
 

Mi_

XLDnaute Occasionnel
Bonsoir le forum

Oula, j'allais oublier de dire merci.

Faudra attrapper ce Toto (voiture, maison, copines ...) et lui faire payer une bonne bouffe au résto pour tous ceux qui ont contribué à son bonheur. :)

Il est un pingre ce Toto, et j'en suis sûr qu'on le reverra bientôt criant à l'aide.

Ben, merci,
Mi_
 

Discussions similaires

Réponses
18
Affichages
2 K

Statistiques des forums

Discussions
312 215
Messages
2 086 326
Membres
103 179
dernier inscrit
BERSEB50