Copier la valeur des cases à cocher d'un formulaire word... [Résolu/Fermé]

Signaler
Messages postés
34
Date d'inscription
jeudi 11 février 2016
Statut
Membre
Dernière intervention
3 juillet 2018
-
Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
-
Bonjour tout le monde,

J'aimerai réaliser un formulaire dans lequel j'inclus des cases à cocher (jusque la pas de problème) et faire en sorte que les coche introduites dans ces cases à cocher se copient et s'actualisent automatiquement plus loin dans mon documents de façon à éviter les copier-coller...

Faut-il du VBA pour avoir le résulta demander?

Après dans un deuxième temps après avoir ressui le premier aspect serait t'il possible au moment que l’utilisateur coche une case le texte devant devienne Gras?

Pouvez vous m'aider svp.

Merci par avance.

Mes meilleurs salutations

2 réponses

Messages postés
34
Date d'inscription
jeudi 11 février 2016
Statut
Membre
Dernière intervention
3 juillet 2018

Bonjour,

Voici un exemple (http://www.cjoint.com/c/FCqkMchcLPu) l'objectif c'est et de pouvoir coche les case sur le pied de la pag. 1 est d'avoir les même case coche sur le pied de pag. 2, 3 , 4 etc.

Les case coche pag. 1 doive se percute sur les autres pag.

Si cela est possible bien sur...

Merci d'avance
Bonne journée.
Messages postés
34
Date d'inscription
jeudi 11 février 2016
Statut
Membre
Dernière intervention
3 juillet 2018

http://www.cjoint.com/c/FCqkMchcLPu
Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
9 799
Bonjour,

Je ne comprends pas bien ton document. Tu parles de pieds de page, il n'y en a pas.

Cela étant, oui on peut par macro demander que, lorsqu'une case est cochée, qu'une autre case soit automatiquement cochée.

Par exemple le code suivant va faire en sorte que si la case "Marcar10" est cochée, la case "Marcar11" sera également cochée, et inversement.

Pour que ça fonctionne, il faut afficher le champ de formulaire Marcar10 en double cliquant dessus, puis dans la boîte de dialogue, sélectionner la macro dans la liste déroulante "A la sortie".

Par ailleurs, il faudra décocher l'option "Case activée" dans le champ de formulaire qui sera automatiquement coché ("Marcar11" dans mon exemple).


Sub caseacocher()
Dim macase As CheckBox, macase2 As CheckBox
Set macase = ActiveDocument.FormFields("Marcar10").CheckBox
Set macase2 = ActiveDocument.FormFields("Marcar11").CheckBox
If macase.Value = True Then
macase2.Value = True
Else: macase2.Value = False
End If
End Sub


m@rina

Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
9 799
Bonsoir,

Oui "CH" & X signifie CH2, CH3 jusqu'à CH6 (dans mon exemple).
Et c'est bien le nom du signet donné aux cases.

Quelle est l'erreur ?

Exemple ici :
https://www.cjoint.com/c/FCwr04mYfRl

m@rina
>
Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020

Hello m@rina,

Si je dois faire passer plusieurs cases comme case1 exemple:

Sub caseacocher()
Dim case1 As CheckBox, X As Variant
Set case1 = ActiveDocument.FormFields("CH").CheckBox
For X = 1 To 13
If case1.Value = True Then
ActiveDocument.FormFields("CH" & X).CheckBox.Value = True
Else: ActiveDocument.FormFields("CH" & X).CheckBox.Value = False
End If
Next X
Set case1 = ActiveDocument.FormFields("RS").CheckBox
For X = 1 To 13
If case1.Value = True Then
ActiveDocument.FormFields("RS" & X).CheckBox.Value = True
Else: ActiveDocument.FormFields("RS" & X).CheckBox.Value = False
End If
Next X
Set case1 = ActiveDocument.FormFields("VIS").CheckBox
For X = 1 To 13
If case1.Value = True Then
ActiveDocument.FormFields("VIS" & X).CheckBox.Value = True
Else: ActiveDocument.FormFields("VIS" & X).CheckBox.Value = False
End If
Next X

Je peux optimiser le code vba pour aller plus vite?

Genre:

Sub caseacocher()
Dim case1 As CheckBox, X As Variant
Set case1 = ActiveDocument.FormFields("CH","RS","VIS").CheckBox
For X = 1 To 13
If case1.Value = True Then
ActiveDocument.FormFields("CH","RS","VIS" & X).CheckBox.Value = True
Else: ActiveDocument.FormFields("CH","RS","VIS" & X).CheckBox.Value = False
End If
Next X

Merci d'avance pour ton aide...
Meilleures salutations.
Messages postés
16600
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 octobre 2020
9 799 > 7e0o
Bonjour,

Ce code n'est pas bon mais de toutes façons on ne peut pas faire ainsi car la macro se lance à la sortie du champ. Donc, ilf aut que la macro ne soit opérationnelle que pour le champ en question, sinon, ça sera plus long, car la macro va balayer le doc entier à chaque fois que tu vas cocher une case.
Messages postés
34
Date d'inscription
jeudi 11 février 2016
Statut
Membre
Dernière intervention
3 juillet 2018

Bonjour m@rina,

Merci pour l'exemple je vais tester.

bonne journée :)
Messages postés
34
Date d'inscription
jeudi 11 février 2016
Statut
Membre
Dernière intervention
3 juillet 2018

Hello m@rina,

Alors je te remercie ça fonctionne.
C'est super sympa de m'avoir aide.
Je peut t'offrir un verre ? =P

Bonne fin de journée
à+