Plus expl. - Désactiver case à cocher

Le
Nathalie
Bonjour,

J'ai cr deux cases cocher partir de la barre
d'outils Formulaires. Il est noter qu'une seule de ces
deux cases cocher doit tre active la fois, ce qui me
cause un petit problme prsentement.

J'ai russi dvelopper une mcanique ( l'aide du
code VBA) afin de ne permettre qu'une seule selection la
fois pour ces deux cases cocher. Cependant, lorsqu'une
des deux cases cocher est active et que je clique juste
ct de l'autre case cocher (donc, sur le document
principal), la seconde case cocher semble s'activer sur
le document (le contour de la case cocher devient noir)
et je suis capable, ce moment, d'activer la deuxime
case cocher. J'aimerais savoir si je peux contourner ce
problme l'aide d'un vnement particulier dans VBA ou
l'aide d'une fonction que je pourrais moi-mme dveloppe?

*** Code VBA ***
Sub Type_cot1()
If ActiveDocument.FormFields("Modif_cot").CheckBox.Value
= True Then
ActiveDocument.FormFields
("Cot_orig").CheckBox.Value = False
End If
End Sub
***

Voil, j'espre que c'est plus clair.

Merci de votre patience et pour vos rponses.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Anacoluthe
Le #118426
Bonsoir !

Comme Geo, c'est maintenant lumineux !!!
Il vous faut 2 macros chacune placée en *sortie* de chaque
champ formulaire case à cocher qui forcera à l'inverse la
valeur de l'autre case :
[Case1].CheckBox.Value = Not [Case2].CheckBox.Value
Notez que la bascule ne prendra effet qu'en passant au
champ suivant (tabulation ou mouvement de souris) dans le
formulaire. C'est en effet une limitation des formulaires Word
et de ces macros de sortie. Si vous souhaitez un comportement
instantanné (quand je coche l'un, l'autre se décoche
aussitôt) vous devez utiliser un contrôle de la barre
d'outils 'Boîte à outils contrôles'

Anacoluthe
« Il ne faut cesser de s’enfoncer dans la nuit :
c’est alors que brusquement la lumière se fait. »
- Francis PONGE


'Nathalie' nous a écrit ...
J'ai créé deux cases à cocher à partir de la barre
d'outils Formulaires. Il est à noter qu'une seule de ces
deux cases à cocher doit être activée à la fois, ce qui me
cause un petit problème présentement.

J'ai réussi à développer une mécanique (à l'aide du
code VBA) afin de ne permettre qu'une seule selection à la
fois pour ces deux cases à cocher. Cependant, lorsqu'une
des deux cases à cocher est active et que je clique juste
à côté de l'autre case à cocher (donc, sur le document
principal), la seconde case à cocher semble s'activer sur
le document (le contour de la case à cocher devient noir)
et je suis capable, à ce moment, d'activer la deuxième
case à cocher. J'aimerais savoir si je peux contourner ce
problème à l'aide d'un événement particulier dans VBA ou à
l'aide d'une fonction que je pourrais moi-même développée?

*** Code VBA ***
Sub Type_cot1()
If ActiveDocument.FormFields("Modif_cot").CheckBox.Value
= True Then
ActiveDocument.FormFields
("Cot_orig").CheckBox.Value = False
End If
End Sub
***

Voilà, j'espère que c'est plus clair.

Merci de votre patience et pour vos réponses.


Geo
Le #118425
Bonjour Nathalie


Bonjour,

J'ai créé deux cases à cocher à partir de la barre
d'outils Formulaires. Il est à noter qu'une seule de ces
deux cases à cocher doit être activée à la fois, ce qui me
cause un petit problème présentement.

J'ai réussi à développer une mécanique (à l'aide du
code VBA) afin de ne permettre qu'une seule selection à la
fois pour ces deux cases à cocher. Cependant, lorsqu'une
des deux cases à cocher est active et que je clique juste
à côté de l'autre case à cocher (donc, sur le document
principal), la seconde case à cocher semble s'activer sur
le document (le contour de la case à cocher devient noir)
et je suis capable, à ce moment, d'activer la deuxième
case à cocher.


J'ai l'impression que cela correspond à la valeur null de ta case à
cocher.
extrait de l'aide :
Selon la valeur de la propriété TripleState, un contrôle CheckBox peut
aussi avoir une valeur nulle.

Valeur entière indiquant si l'élément est activé.
Null Indique que l'élément est à l'état Null, ni activé, ni
désactivé.
-1 True. Indique que l'élément est activé.
0 False. Indique que l'élément est désactivé.

Il te faudrait ajouter uen instruction comme :
CheckBox.TripleState = False

--

A+

Publicité
Poster une réponse
Anonyme