[VBA] [Formulaire] Réagir à désélection d'une Case à Cocher
1 réponse
Nemroth
Bonjour à toutes et à tous
En VBA et dans un formulaire, je souhaiterais pouvoir faire la chose
suivante :
Dès que l'utilisateur déselectionne ([ ]), dans un formulaire, une case
à cocher "Cc1", le focus passe à la case à cocher "Cc2", qui est alors
pré-sélectionnée ([X]).
Cela implique deux choses :
1) Comment peut-on détecter le changement d'état de la case à cocher
"Cc1" (avec un évènement, sûrement, mais concrètement ?) ?
2) Comment placer le curseur sur "Cc2" ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
heureux-oli
Salut,
Lorsque tu mentionnes Formulaire, est-ce un formulaire Word ou un UserForm.
Si c'est un formulaire Word, il faut utiliser un macro sur sortie du contrôle, les FormFields ne réagissent pas à d'autres événement. Il faut ensuite récupérer la valeur du FormField et sur le résultat d'un test appliquer l'action que tu souhaites.
Un exemple de code : ******************************* Sub MiseAJourChkBox() If Not ActiveDocument.FormFields(1).Result Then ActiveDocument.FormFields(3).Select End If End Sub *******************************
Ce code peut être exécuté sur la sortie du champ.
Si c'est dans le cas d'un userform, on peut travailler sur un évènement du contrôle, AfterUpDate peut fonctionner.
Mais si tu pouvais nous en dire un peu plus.
-- Heureux-oli Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur. http://heureuxoli.developpez.com/ http://word.developpez.com/ http://marie-lebeau.heaj.be/
"Nemroth" a écrit dans le message de news: 4a6ec1e8$0$439$
Bonjour à toutes et à tous
En VBA et dans un formulaire, je souhaiterais pouvoir faire la chose suivante : Dès que l'utilisateur déselectionne ([ ]), dans un formulaire, une case à cocher "Cc1", le focus passe à la case à cocher "Cc2", qui est alors pré-sélectionnée ([X]).
Cela implique deux choses : 1) Comment peut-on détecter le changement d'état de la case à cocher "Cc1" (avec un évènement, sûrement, mais concrètement ?) ? 2) Comment placer le curseur sur "Cc2" ?
Merci pour vos réponses.
Salut,
Lorsque tu mentionnes Formulaire, est-ce un formulaire Word ou un UserForm.
Si c'est un formulaire Word, il faut utiliser un macro sur sortie du
contrôle, les FormFields ne réagissent pas à d'autres événement.
Il faut ensuite récupérer la valeur du FormField et sur le résultat d'un
test appliquer l'action que tu souhaites.
Un exemple de code :
*******************************
Sub MiseAJourChkBox()
If Not ActiveDocument.FormFields(1).Result Then
ActiveDocument.FormFields(3).Select
End If
End Sub
*******************************
Ce code peut être exécuté sur la sortie du champ.
Si c'est dans le cas d'un userform, on peut travailler sur un évènement du
contrôle, AfterUpDate peut fonctionner.
Mais si tu pouvais nous en dire un peu plus.
--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
http://marie-lebeau.heaj.be/
"Nemroth" <nospam.nemroth@free.fr> a écrit dans le message de news:
4a6ec1e8$0$439$426a74cc@news.free.fr...
Bonjour à toutes et à tous
En VBA et dans un formulaire, je souhaiterais pouvoir faire la chose
suivante :
Dès que l'utilisateur déselectionne ([ ]), dans un formulaire, une case à
cocher "Cc1", le focus passe à la case à cocher "Cc2", qui est alors
pré-sélectionnée ([X]).
Cela implique deux choses :
1) Comment peut-on détecter le changement d'état de la case à cocher "Cc1"
(avec un évènement, sûrement, mais concrètement ?) ?
2) Comment placer le curseur sur "Cc2" ?
Lorsque tu mentionnes Formulaire, est-ce un formulaire Word ou un UserForm.
Si c'est un formulaire Word, il faut utiliser un macro sur sortie du contrôle, les FormFields ne réagissent pas à d'autres événement. Il faut ensuite récupérer la valeur du FormField et sur le résultat d'un test appliquer l'action que tu souhaites.
Un exemple de code : ******************************* Sub MiseAJourChkBox() If Not ActiveDocument.FormFields(1).Result Then ActiveDocument.FormFields(3).Select End If End Sub *******************************
Ce code peut être exécuté sur la sortie du champ.
Si c'est dans le cas d'un userform, on peut travailler sur un évènement du contrôle, AfterUpDate peut fonctionner.
Mais si tu pouvais nous en dire un peu plus.
-- Heureux-oli Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur. http://heureuxoli.developpez.com/ http://word.developpez.com/ http://marie-lebeau.heaj.be/
"Nemroth" a écrit dans le message de news: 4a6ec1e8$0$439$
Bonjour à toutes et à tous
En VBA et dans un formulaire, je souhaiterais pouvoir faire la chose suivante : Dès que l'utilisateur déselectionne ([ ]), dans un formulaire, une case à cocher "Cc1", le focus passe à la case à cocher "Cc2", qui est alors pré-sélectionnée ([X]).
Cela implique deux choses : 1) Comment peut-on détecter le changement d'état de la case à cocher "Cc1" (avec un évènement, sûrement, mais concrètement ?) ? 2) Comment placer le curseur sur "Cc2" ?