Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Plus expl. - Désactiver case à cocher

2 réponses
Avatar
Nathalie
Bonjour,

J'ai cr=E9=E9 deux cases =E0 cocher =E0 partir de la barre=20
d'outils Formulaires. Il est =E0 noter qu'une seule de ces=20
deux cases =E0 cocher doit =EAtre activ=E9e =E0 la fois, ce qui me=20
cause un petit probl=E8me pr=E9sentement.
=20
J'ai r=E9ussi =E0 d=E9velopper une m=E9canique (=E0 l'aide du=20
code VBA) afin de ne permettre qu'une seule selection =E0 la=20
fois pour ces deux cases =E0 cocher. Cependant, lorsqu'une=20
des deux cases =E0 cocher est active et que je clique juste=20
=E0 c=F4t=E9 de l'autre case =E0 cocher (donc, sur le document=20
principal), la seconde case =E0 cocher semble s'activer sur=20
le document (le contour de la case =E0 cocher devient noir)=20
et je suis capable, =E0 ce moment, d'activer la deuxi=E8me=20
case =E0 cocher. J'aimerais savoir si je peux contourner ce=20
probl=E8me =E0 l'aide d'un =E9v=E9nement particulier dans VBA ou =E0=20
l'aide d'une fonction que je pourrais moi-m=EAme d=E9velopp=E9e?

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

Voil=E0, j'esp=E8re que c'est plus clair.

Merci de votre patience et pour vos r=E9ponses.

2 réponses

Avatar
Anacoluthe
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.


Avatar
Geo
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+