A voir également:
- Modifier une liste déroulante word
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Modifier dns - Guide
- Word 2013 - Télécharger - Traitement de texte
- Supprimer une page word - Guide
4 réponses
Bonjour,
qu'entends-tu par Formulaire?
Un UserForm?
Il faudrait être plus précis!
Poster la macro qui a été faite
en attendant lire ceci, il y aura peut être une réponse à la question:
https://word.developpez.com/faq/?page=VBA
qu'entends-tu par Formulaire?
Un UserForm?
Il faudrait être plus précis!
Poster la macro qui a été faite
en attendant lire ceci, il y aura peut être une réponse à la question:
https://word.developpez.com/faq/?page=VBA
Bonjour,
J'ai avancé sur ma problématique.
J'ai fait le code suivant :
Tout fonctionne bien, sauf le calcul en sortie de liste déroulante (j'ai mis la macro dans la liste déroulante avec calcul en sortie).
En effet, pour que les modifications sur les signets soient effectives, il faut absolument tabuler.
Hors, il peut arriver que quelqu'un sorte de la liste déroulante en cliquant à l'extérieur et dans ce cas le calcul en sortie ne se fait pas.
Pouvez-vous m'aider pour que le calcul en sortie s'effectue quelque soit la façon de quitter la liste déroulante?
D'avance merci.
Sam.
J'ai avancé sur ma problématique.
J'ai fait le code suivant :
Sub MaMacro()
If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect "test"
End If
Select Case ActiveDocument.FormFields("MaListeDeroulante").Result
Case "choix1"
ActiveDocument.Bookmarks("signet1").Range.Font.Hidden = True
ActiveDocument.Bookmarks("signet2").Range.Font.Hidden = False
Case "choix2"
ActiveDocument.Bookmarks("signet2").Range.Font.Hidden = True
ActiveDocument.Bookmarks("signet1").Range.Font.Hidden = False
End Select
If ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.Protect wdAllowOnlyFormFields, noreset, "test"
End If
End Sub
Tout fonctionne bien, sauf le calcul en sortie de liste déroulante (j'ai mis la macro dans la liste déroulante avec calcul en sortie).
En effet, pour que les modifications sur les signets soient effectives, il faut absolument tabuler.
Hors, il peut arriver que quelqu'un sorte de la liste déroulante en cliquant à l'extérieur et dans ce cas le calcul en sortie ne se fait pas.
Pouvez-vous m'aider pour que le calcul en sortie s'effectue quelque soit la façon de quitter la liste déroulante?
D'avance merci.
Sam.
Voir ceci si cela peut te faire avancer:
https://heureuxoli.developpez.com/office/word/formulaires/#L2-E
Sur ce point je ne peux pas t'aider!
https://heureuxoli.developpez.com/office/word/formulaires/#L2-E
Sur ce point je ne peux pas t'aider!
J'ai essayé mais sans succès.
J'avais mis
Faut-il intégrer cette mise à jour à ma macro, ou faut-il mettre cette macro à part?
Et dans ce cas comment la déclenche t'on?
J'avais mis
ActiveDocument.FormFields(4).CalculateOnExit = Trueà la fin de mon code, juste avant la remise de la protection, mais ça ne change rien.
Faut-il intégrer cette mise à jour à ma macro, ou faut-il mettre cette macro à part?
Et dans ce cas comment la déclenche t'on?
Ne serait-il pas possible de créer une boucle qui dirait que tant que je suis dans la liste déroulante, j'exécute la macro?
C'est une idée :-)
C'est une idée :-)
Tu peux t’intéresser aux événements du doc pour déclencher une macro en regardant ceci:
http://faqword.com/evenements/evenements.pdf
@+
http://faqword.com/evenements/evenements.pdf
@+
Il s'agit bien d'un formulaire Word (et non un UserForm).
C'est un courrier avec des champs soit en liste déroulante (civilité) soit avec des zones à remplir (coordonnées).
J'ai commencé, avec les recherches web, ce code :
Sub MaMacro()
If Not ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.Unprotect "test"
End If
Select Case
ActiveDocument.FormFields("MaListeDeroulante").Result
Case "Choix1"
ActiveDocument.Bookmarks("Signet1").Range.Font.Hidden = True
Case "Choix2"
ActiveDocument.Bookmarks("Signet2").Range.Font.Hidden = True
End Select
ActiveDocument.Protect wdAllowOnlyFormFields
End Sub
J'aimerai pouvoir compléter le code pour que lors d'un nouveau changement dans ma liste déroulante, le nouveau choix apparaisse et que l'ancien disparaisse.
De plus, à la fin de la macro, j'aimerai que la protection avec le mot de passe soit remise en place.
Merci pour votre aide.
Sam.
Bon courage
@+