Je suis perplexe..... J'ai un checkbox sur une feuille; si je le coche, je =
fais quelque chose, si je le d=E9coche je fais autre chose. Voil=E0 ce que =
=E7a donne selon moi :
Private Sub BLab_Click()
Application.EnableEvents =3D False
If BLab Then
BLab =3D False
Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.Col=
orIndex =3D 2
Else
BLab =3D True
Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.Col=
orIndex =3D xlAutomatic
End If
Application.EnableEvents =3D True
End Sub
Or, ma proc=E9dure se fiche =E9perdument de mon "enableevents=3Dfalse" et b=
oucle all=E8grement 7 ou 8 fois =E0 chaque changement d'=E9tat (BLab=3D Fal=
se ou True). D'ailleurs, je ne comprends m=EAme pas pourquoi elle finit par=
s'arr=EAter toute seule..... La fatigue ??????
Ouuuppps, Gestion du CLICK sur checkbox bien sûr !!
Le mercredi 20 février 2013 16:40:34 UTC+1, ThierryP a écrit :
Bonjour,
Je suis perplexe..... J'ai un checkbox sur une feuille; si je le coche, j e fais quelque chose, si je le décoche je fais autre chose. Voilà ce qu e ça donne selon moi :
Or, ma procédure se fiche éperdument de mon "enableeventsúlse" et boucle allègrement 7 ou 8 fois à chaque changement d'état (BLab= F alse ou True). D'ailleurs, je ne comprends même pas pourquoi elle finit p ar s'arrêter toute seule..... La fatigue ??????
Qu'est-ce qui ne va pas, à part moi ?
Merci d'avance
ThierryP
Ouuuppps, Gestion du CLICK sur checkbox bien sûr !!
Le mercredi 20 février 2013 16:40:34 UTC+1, ThierryP a écrit :
Bonjour,
Je suis perplexe..... J'ai un checkbox sur une feuille; si je le coche, j e fais quelque chose, si je le décoche je fais autre chose. Voilà ce qu e ça donne selon moi :
Or, ma procédure se fiche éperdument de mon "enableevents=false" et boucle allègrement 7 ou 8 fois à chaque changement d'état (BLab= F alse ou True). D'ailleurs, je ne comprends même pas pourquoi elle finit p ar s'arrêter toute seule..... La fatigue ??????
Ouuuppps, Gestion du CLICK sur checkbox bien sûr !!
Le mercredi 20 février 2013 16:40:34 UTC+1, ThierryP a écrit :
Bonjour,
Je suis perplexe..... J'ai un checkbox sur une feuille; si je le coche, j e fais quelque chose, si je le décoche je fais autre chose. Voilà ce qu e ça donne selon moi :
Or, ma procédure se fiche éperdument de mon "enableeventsúlse" et boucle allègrement 7 ou 8 fois à chaque changement d'état (BLab= F alse ou True). D'ailleurs, je ne comprends même pas pourquoi elle finit p ar s'arrêter toute seule..... La fatigue ??????
Qu'est-ce qui ne va pas, à part moi ?
Merci d'avance
ThierryP
isabelle
bonjour Thierry,
essai en ajoutant le nom de la feuille
Sheets("Feuil1").CheckBox1
isabelle
Le 2013-02-20 10:48, ThierryP a écrit :
Ouuuppps, Gestion du CLICK sur checkbox bien sûr !!
bonjour Thierry,
essai en ajoutant le nom de la feuille
Sheets("Feuil1").CheckBox1
isabelle
Le 2013-02-20 10:48, ThierryP a écrit :
Ouuuppps, Gestion du CLICK sur checkbox bien sûr !!
je ne comprend pas pourquoi tu change la valeur du CheckBox dans la macro?
isabelle
Le 2013-02-20 11:43, ThierryP a écrit :
Bonsoir Isabelle,
Ben.... pas concluant ! La seule différence visible, c'est que la case reste obstinément à False.
Mais pourquoi le fait de rajouter le nom de feuille change-t-il le comportement de la case ??
ThierryP
Le mercredi 20 février 2013 17:21:39 UTC+1, isabelle a écrit :
bonjour Thierry,
essai en ajoutant le nom de la feuille
Sheets("Feuil1").CheckBox1
isabelle
Le 2013-02-20 10:48, ThierryP a écrit :
Ouuuppps, Gestion du CLICK sur checkbox bien sûr !!
MichD
Bonjour,
Essaie comme ceci : '---------------------------------- Private Sub BLab_MouseDown(ByVal Button As Integer, _ ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) BLab = Not BLab If BLab = False Then Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.ColorIndex = 2 Else Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.ColorIndex = xlAutomatic End If BLab.Select End Sub '----------------------------------
A ) La commande "Application.EnableEvents" n'a aucun impact sur les événements des boutons de la barre d'outils "Contrôle". Elle ne contrôle que les événements dans l'application Excel (événements de la feuille et du Thisworkbook.
B ) Quand tu cliques sur le checkbox, cet événement modifie la valeur du checkbox. Si tu modifies par le code la valeur du Checkbox, ceci appelle la commande de l'événement "Clic"
C ) Il s'agit de choisir et d'adapter d'autres événements en fonction du but recherché.
Essaie comme ceci :
'----------------------------------
Private Sub BLab_MouseDown(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
BLab = Not BLab
If BLab = False Then
Union(Range("B_Lab"), Range("B_Lab_Cal"),
Range("B_Lab_Cell")).Font.ColorIndex = 2
Else
Union(Range("B_Lab"), Range("B_Lab_Cal"),
Range("B_Lab_Cell")).Font.ColorIndex = xlAutomatic
End If
BLab.Select
End Sub
'----------------------------------
A ) La commande "Application.EnableEvents" n'a aucun impact sur
les événements des boutons de la barre d'outils "Contrôle". Elle
ne contrôle que les événements dans l'application Excel (événements
de la feuille et du Thisworkbook.
B ) Quand tu cliques sur le checkbox, cet événement modifie la valeur
du checkbox. Si tu modifies par le code la valeur du Checkbox, ceci
appelle la commande de l'événement "Clic"
C ) Il s'agit de choisir et d'adapter d'autres événements en fonction
du but recherché.
Essaie comme ceci : '---------------------------------- Private Sub BLab_MouseDown(ByVal Button As Integer, _ ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) BLab = Not BLab If BLab = False Then Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.ColorIndex = 2 Else Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.ColorIndex = xlAutomatic End If BLab.Select End Sub '----------------------------------
A ) La commande "Application.EnableEvents" n'a aucun impact sur les événements des boutons de la barre d'outils "Contrôle". Elle ne contrôle que les événements dans l'application Excel (événements de la feuille et du Thisworkbook.
B ) Quand tu cliques sur le checkbox, cet événement modifie la valeur du checkbox. Si tu modifies par le code la valeur du Checkbox, ceci appelle la commande de l'événement "Clic"
C ) Il s'agit de choisir et d'adapter d'autres événements en fonction du but recherché.
En fait, je voulais : - en cochant la case, faire apparaitre un texte qui demande à l'utilisate ur des infos complémentaires - en décochant, faire disparaître ce texte.
Visiblement, je n'ai pas choisi la bonne solution !!!
Merci
Le mercredi 20 février 2013 18:01:36 UTC+1, isabelle a écrit :
aucun,
je ne comprend pas pourquoi tu change la valeur du CheckBox dans la macro ?
isabelle
Le 2013-02-20 11:43, ThierryP a écrit :
> Bonsoir Isabelle,
>
> Ben.... pas concluant ! La seule différence visible, c'est que la cas e reste obstinément à False.
>
> Mais pourquoi le fait de rajouter le nom de feuille change-t-il le comp ortement de la case ??
>
> ThierryP
>
> Le mercredi 20 février 2013 17:21:39 UTC+1, isabelle a écrit :
>> bonjour Thierry,
>>
>>
>>
>> essai en ajoutant le nom de la feuille
>>
>>
>>
>> Sheets("Feuil1").CheckBox1
>>
>>
>>
>> isabelle
>>
>>
>>
>> Le 2013-02-20 10:48, ThierryP a écrit :
>>
>>> Ouuuppps, Gestion du CLICK sur checkbox bien sûr !!
>
Bonjour,
En fait, je voulais :
- en cochant la case, faire apparaitre un texte qui demande à l'utilisate ur des infos complémentaires
- en décochant, faire disparaître ce texte.
Visiblement, je n'ai pas choisi la bonne solution !!!
Merci
Le mercredi 20 février 2013 18:01:36 UTC+1, isabelle a écrit :
aucun,
je ne comprend pas pourquoi tu change la valeur du CheckBox dans la macro ?
isabelle
Le 2013-02-20 11:43, ThierryP a écrit :
> Bonsoir Isabelle,
>
> Ben.... pas concluant ! La seule différence visible, c'est que la cas e reste obstinément à False.
>
> Mais pourquoi le fait de rajouter le nom de feuille change-t-il le comp ortement de la case ??
>
> ThierryP
>
> Le mercredi 20 février 2013 17:21:39 UTC+1, isabelle a écrit :
>> bonjour Thierry,
>>
>>
>>
>> essai en ajoutant le nom de la feuille
>>
>>
>>
>> Sheets("Feuil1").CheckBox1
>>
>>
>>
>> isabelle
>>
>>
>>
>> Le 2013-02-20 10:48, ThierryP a écrit :
>>
>>> Ouuuppps, Gestion du CLICK sur checkbox bien sûr !!
En fait, je voulais : - en cochant la case, faire apparaitre un texte qui demande à l'utilisate ur des infos complémentaires - en décochant, faire disparaître ce texte.
Visiblement, je n'ai pas choisi la bonne solution !!!
Merci
Le mercredi 20 février 2013 18:01:36 UTC+1, isabelle a écrit :
aucun,
je ne comprend pas pourquoi tu change la valeur du CheckBox dans la macro ?
isabelle
Le 2013-02-20 11:43, ThierryP a écrit :
> Bonsoir Isabelle,
>
> Ben.... pas concluant ! La seule différence visible, c'est que la cas e reste obstinément à False.
>
> Mais pourquoi le fait de rajouter le nom de feuille change-t-il le comp ortement de la case ??
>
> ThierryP
>
> Le mercredi 20 février 2013 17:21:39 UTC+1, isabelle a écrit :
>> bonjour Thierry,
>>
>>
>>
>> essai en ajoutant le nom de la feuille
>>
>>
>>
>> Sheets("Feuil1").CheckBox1
>>
>>
>>
>> isabelle
>>
>>
>>
>> Le 2013-02-20 10:48, ThierryP a écrit :
>>
>>> Ouuuppps, Gestion du CLICK sur checkbox bien sûr !!
>
ThierryP
Bonjour Denis,
Comme je l'ai dit à Isabelle, je n'ai pas choisi la bonne solution !! Je voulais quelque chose de visuel pour l'impression, mais je vais utiliser un bouton bascule en changeant le caption et ça devrait le faire.
J'ai testé ta proposition, mais elle a également un fonctionnement erra tique : je dois cliquer plusieurs fois sur la case pour voir un changement, donc c'était vraiment une mauvaise idée de ma part !!
Merci à toi également
ThierryP
Le mercredi 20 février 2013 20:34:07 UTC+1, MichD a écrit :
Bonjour,
Essaie comme ceci :
'----------------------------------
Private Sub BLab_MouseDown(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Comme je l'ai dit à Isabelle, je n'ai pas choisi la bonne solution !! Je voulais quelque chose de visuel pour l'impression, mais je vais utiliser un bouton bascule en changeant le caption et ça devrait le faire.
J'ai testé ta proposition, mais elle a également un fonctionnement erra tique : je dois cliquer plusieurs fois sur la case pour voir un changement, donc c'était vraiment une mauvaise idée de ma part !!
Merci à toi également
ThierryP
Le mercredi 20 février 2013 20:34:07 UTC+1, MichD a écrit :
Bonjour,
Essaie comme ceci :
'----------------------------------
Private Sub BLab_MouseDown(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Comme je l'ai dit à Isabelle, je n'ai pas choisi la bonne solution !! Je voulais quelque chose de visuel pour l'impression, mais je vais utiliser un bouton bascule en changeant le caption et ça devrait le faire.
J'ai testé ta proposition, mais elle a également un fonctionnement erra tique : je dois cliquer plusieurs fois sur la case pour voir un changement, donc c'était vraiment une mauvaise idée de ma part !!
Merci à toi également
ThierryP
Le mercredi 20 février 2013 20:34:07 UTC+1, MichD a écrit :
Bonjour,
Essaie comme ceci :
'----------------------------------
Private Sub BLab_MouseDown(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Private Sub CheckBox1_MouseUp(ByVal Button As Integer, _ ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If CheckBox1 = False Then Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.ColorIndex = 2 Exit Sub Else Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.ColorIndex = xlAutomatic Exit Sub End If End Sub
Private Sub CheckBox1_MouseUp(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If CheckBox1 = False Then
Union(Range("B_Lab"), Range("B_Lab_Cal"),
Range("B_Lab_Cell")).Font.ColorIndex = 2
Exit Sub
Else
Union(Range("B_Lab"), Range("B_Lab_Cal"),
Range("B_Lab_Cell")).Font.ColorIndex = xlAutomatic
Exit Sub
End If
End Sub
Private Sub CheckBox1_MouseUp(ByVal Button As Integer, _ ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If CheckBox1 = False Then Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.ColorIndex = 2 Exit Sub Else Union(Range("B_Lab"), Range("B_Lab_Cal"), Range("B_Lab_Cell")).Font.ColorIndex = xlAutomatic Exit Sub End If End Sub