Bonjour,
J'ai besoin de votre aide pour une histoire de cases à cocher.
J'ai un document word où j'ai voulu ajouter des cases à cocher B1C1, B1C2, B1C3, B1C4. Je souhaite qu'une seule case soit cochable à la fois, c’est-à-dire:
- Si B1C1 est cochée, B1C2, B1C3 et B1C4 ne peuvent pas l'être également
- Si B1C2 est cochée, B1C1, B1C3 et B1C4 ne peuvent pas l'être également
- Si B1C3 est cochée, B1C1, B1C2 et B1C4 ne peuvent pas l'être également
- Si B1C4 est cochée, B1C1, B1C2 et B1C3 ne peuvent pas l'être également
Pour ajouter mes cases, j'ai été dans l'onglet "développeur", partie "contrôles", formulaires hérités et j'ai choisi la case à cocher.
J'ai créé 4 cases à cocher. Pour chacune d'entre elles, j'ai rempli de la façon suivante:
- Valeur par défaut = case désactivée
- Executer la macro à la sortie
- Case activée "cochée"
- Signet B1Cn (n=1,2,3,4)
- Macro CheckboxB1Cn (n=1,2,3,4)
J'ai pris la macro dans le tutoriel http://heureuxoli.developpez.com/off...d/formulaires/
J'ai bien protégé le document (restriction pour remplissage de formulaire).
Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 Sub CheckboxB1C1() If ActiveDocument.FormFields("B1C1").Result Then With ActiveDocument .FormFields("B1C2").Result = False .FormFields("B1C3").Result = False .FormFields("B1C4").Result = False End With End If End Sub Sub CheckboxB1C2() If ActiveDocument.FormFields("B1C2").Result Then With ActiveDocument .FormFields("B1C1").Result = False .FormFields("B1C3").Result = False .FormFields("B1C4").Result = False End With End If End Sub Sub CheckboxB1C3() If ActiveDocument.FormFields("B1C3").Result Then With ActiveDocument .FormFields("B1C1").Result = False .FormFields("B1C2").Result = False .FormFields("B1C4").Result = False End With End If End Sub Sub CheckboxB1C4() If ActiveDocument.FormFields("B1C4").Result Then With ActiveDocument .FormFields("B1C1").Result = False .FormFields("B1C2").Result = False .FormFields("B1C3").Result = False End With End If End Sub
Ça ne fonctionne pas.
Etapes:
1. Je coche B1C1
2. Je coche B1C2
=> B1C1 reste cochée
+ B1C2 est décochée
+ B1C3 est cochée
+ B1C4 est cochée
Sauriez vous d'où vient le problème ?
Merci de votre aide.
Partager