Macro formulaire qui place le bon mot
Résolu/Fermé
CLOWNELLE
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020
-
3 avril 2020 à 13:09
CLOWNELLE Messages postés 26 Date d'inscription jeudi 10 janvier 2019 Statut Membre Dernière intervention 24 avril 2020 - 5 avril 2020 à 19:08
CLOWNELLE Messages postés 26 Date d'inscription jeudi 10 janvier 2019 Statut Membre Dernière intervention 24 avril 2020 - 5 avril 2020 à 19:08
A voir également:
- Macro formulaire qui place le bon mot
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Meilleur place accor arena ✓ - Forum Loisirs / Divertissements
- Macro word - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
6 réponses
m@rina
Messages postés
21080
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
11 351
5 avril 2020 à 01:54
5 avril 2020 à 01:54
Bonsoir,
J'en ai fait un article ici :
https://faqword.com/index.php/word/formulaires-controles/1114-comment-recopier-automatiquement-a-divers-endroits-d-un-document-la-selection-d-une-liste-deroulante
m@rina
J'en ai fait un article ici :
https://faqword.com/index.php/word/formulaires-controles/1114-comment-recopier-automatiquement-a-divers-endroits-d-un-document-la-selection-d-une-liste-deroulante
m@rina
m@rina
Messages postés
21080
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
11 351
3 avril 2020 à 14:02
3 avril 2020 à 14:02
Bonjour,
Pour commencer il faut déjà qu'on sache quelle est ta version de Word et quel type de formulaire tu utilises. Il y en a plusieurs, comme j'explique ici :
https://faqword.com/index.php/word/formulaires-controles/911
Par ailleurs, dans tes exemples, je vois "Nom de l'activité de l'atelier", il y a les deux mots, c'est une erreur ?
Ensuite, est ce que tu veux le remplacement pour TOUS les mots ou bien uniquement certaines expressions à certains endroits ? Si c'est réellement TOUS les mots, ce peut être dangereux selon le contenu du document.
m@rina
Pour commencer il faut déjà qu'on sache quelle est ta version de Word et quel type de formulaire tu utilises. Il y en a plusieurs, comme j'explique ici :
https://faqword.com/index.php/word/formulaires-controles/911
Par ailleurs, dans tes exemples, je vois "Nom de l'activité de l'atelier", il y a les deux mots, c'est une erreur ?
Ensuite, est ce que tu veux le remplacement pour TOUS les mots ou bien uniquement certaines expressions à certains endroits ? Si c'est réellement TOUS les mots, ce peut être dangereux selon le contenu du document.
m@rina
CLOWNELLE
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020
3 avril 2020 à 15:02
3 avril 2020 à 15:02
Bonjour Marina,
Tu m'as déjà aidé pour l'histoire du formulaire avec le n° tél & sécu avec un nombre de chiffres à respecter.
Pour ce document, je suis donc toujours avec WORD 2016 et un formulaire via le Développeur.
Pour suivre tes recommandations, effectivement le mot "activité" et "atelier" sera a faire disparaître à certains endroits (en l’occurrence au niveau des intitulés).
Merci.
Sandra
Tu m'as déjà aidé pour l'histoire du formulaire avec le n° tél & sécu avec un nombre de chiffres à respecter.
Pour ce document, je suis donc toujours avec WORD 2016 et un formulaire via le Développeur.
Pour suivre tes recommandations, effectivement le mot "activité" et "atelier" sera a faire disparaître à certains endroits (en l’occurrence au niveau des intitulés).
Merci.
Sandra
m@rina
Messages postés
21080
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
11 351
3 avril 2020 à 16:08
3 avril 2020 à 16:08
Bonjour,
Ah oui, désolée, j'avais zappé ta signature !! ;)
Donc tu utilises des contrôles de contenu. Il y a quelque chose de très simple à faire :
Tu insères un contrôle de contenu de liste déroulante et depuis la boîte de dialogue Propriétés, tu coches l'option "Utiliser un style...". Si tu as déjà prévu un style, tu le choisis dans la liste déroulante, sinon tu peux créer un nouveau style.
Attention, tu ne peux prendre que des styles de caractères ou des styles liés s'ils ne sont pas désactivés.
Peu importe le format qui peut être exactement identique au style Normal, c'est le nom qui importe.
Ensuite, à la place des termes "activité" et "atelier" qui seront modifiés, tu insères un champ STYLEREF avec le nom du style (tu insères une fois, et après tu fais des copier-coller). Avec l'affichage des champs (Alt+F4), si le style se nomme "toto", cela devrait donner : {STYLEREF toto}.
Les champs ne vont pas se mettre à jour tout seuls... On peut ajouter une macro à la sortie du contrôle pour mettre les champs à jour automatiquement. Si tu mets une balise nommée "liste":
Comme l'autre code, à mettre dans ThisDocument
Si ce code est pour le même document, tu n'ajoutes pas une deuxième macro, tu peux juste ajouter la ligne :
avant le
m@rina
Ah oui, désolée, j'avais zappé ta signature !! ;)
Donc tu utilises des contrôles de contenu. Il y a quelque chose de très simple à faire :
Tu insères un contrôle de contenu de liste déroulante et depuis la boîte de dialogue Propriétés, tu coches l'option "Utiliser un style...". Si tu as déjà prévu un style, tu le choisis dans la liste déroulante, sinon tu peux créer un nouveau style.
Attention, tu ne peux prendre que des styles de caractères ou des styles liés s'ils ne sont pas désactivés.
Peu importe le format qui peut être exactement identique au style Normal, c'est le nom qui importe.
Ensuite, à la place des termes "activité" et "atelier" qui seront modifiés, tu insères un champ STYLEREF avec le nom du style (tu insères une fois, et après tu fais des copier-coller). Avec l'affichage des champs (Alt+F4), si le style se nomme "toto", cela devrait donner : {STYLEREF toto}.
Les champs ne vont pas se mettre à jour tout seuls... On peut ajouter une macro à la sortie du contrôle pour mettre les champs à jour automatiquement. Si tu mets une balise nommée "liste":
Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
If CC.Tag = "liste" Then ActiveDocument.Fields.Update
End Sub
Comme l'autre code, à mettre dans ThisDocument
Si ce code est pour le même document, tu n'ajoutes pas une deuxième macro, tu peux juste ajouter la ligne :
ActiveDocument.Fields.Update
avant le
Exit Sub
m@rina
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
CLOWNELLE
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020
3 avril 2020 à 22:13
3 avril 2020 à 22:13
Marina,
J'ai essayé de faire, mais il y a forcément quelque chose que je ne dois par faire correctement.
Dans le titre de mon doc "Projet", j'ai bien mis la zone déroulante, pour choisir entre d'atelier" "d'activité".
Je me suis ensuite placée sur la ligne de mon titre "Professionnel responsable de l'activité ou l'atelier", là où je souhaite voire apparaître le mot qui correspond, donc juste après "Professionnel responsable de" à cet endroit j'ai inséré un contrôle de contenu de liste déroulante.
Dans "Propriétés" j'ai coché "Utilisé un style", j'ai sélectionné "Titre 1" dans la liste déroulante.
Dans la même fenêtre en bas "Propriétés de la liste déroulante, j'ai supprimé "d'activité" et "d'atelier" et j'ai ajouté "STYLEREFTitre 1" puis OK
J'ai fait ma Macro avec ALT+F11 depuis ce document en insérant le 1er bloc que tu m'as transmis et après "Update", je suis revenue à la ligne et j'ai rajouté ta 2ème partie "ActiveDocument...." (donc juste avant End Sub") car Exit Sub n'est pas écrit (à moins que c'est ça qu'il faut que j'écrive....
Bref, je vois apparaître sur ma ligne : "Professionnel responsable de STYLEREFTitre 1 !
Help me Marina !
m@rina
Messages postés
21080
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
11 351
4 avril 2020 à 04:05
4 avril 2020 à 04:05
Bonsoir,
Tout d'abord, pas le style Titre 1, surtout pas... Il faut un style neutre, pas un style de titre qui sert aux titres. Donc, pour faire simple, tu crées un style de caractères et tu mets un nom simple sans espace.
Ensuite, tu dis "j'ai ajouté "STYLEREFTitre 1""... Mais non ! J'ai dit d'ajouter UN CHAMP... Un champ ce n'est pas du texte.
Pour ajouter un champ : Ctrl +F9 et à l'intérieur des { } on saisit le nom du champ avec la syntaxe
ou bien Insertion => groupe Texte, bouton QuickPart => Champ
Catégorie Liaisons et renvois => Refstyle
ensuite on choisit le style dans la colonne de droite et OK
Au final on doit avoir { STYLEREF mon_style } comme je l'ai dit plus haut (en appuyant sur Alt+F9).
Quant à la macro, si tu as bien pris la deuxième version, il y a bien un Exit Sub deux lignes avant la fin.
En fait, j'avais pas réalisé, mais je me rends compte que tu ne connais pas du tout Word... ça peut être problématique pour la maintenance des modèles.
Pour tout savoir sur les champs, c'est ici :
https://faqword.com/index.php/word/outils-edition/894
m@rina
Tout d'abord, pas le style Titre 1, surtout pas... Il faut un style neutre, pas un style de titre qui sert aux titres. Donc, pour faire simple, tu crées un style de caractères et tu mets un nom simple sans espace.
Ensuite, tu dis "j'ai ajouté "STYLEREFTitre 1""... Mais non ! J'ai dit d'ajouter UN CHAMP... Un champ ce n'est pas du texte.
Pour ajouter un champ : Ctrl +F9 et à l'intérieur des { } on saisit le nom du champ avec la syntaxe
ou bien Insertion => groupe Texte, bouton QuickPart => Champ
Catégorie Liaisons et renvois => Refstyle
ensuite on choisit le style dans la colonne de droite et OK
Au final on doit avoir { STYLEREF mon_style } comme je l'ai dit plus haut (en appuyant sur Alt+F9).
Quant à la macro, si tu as bien pris la deuxième version, il y a bien un Exit Sub deux lignes avant la fin.
En fait, j'avais pas réalisé, mais je me rends compte que tu ne connais pas du tout Word... ça peut être problématique pour la maintenance des modèles.
Pour tout savoir sur les champs, c'est ici :
https://faqword.com/index.php/word/outils-edition/894
m@rina
CLOWNELLE
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020
4 avril 2020 à 22:52
4 avril 2020 à 22:52
Bonsoir Marina,
Effectivement, je ne maîtrise par WORD en profondeur.
Donc je n'ai rien touché à ma liste déroulante, dans laquelle j'ai bien mis une balise "liste".
Je me suis placée ensuite sur la ligne de mon titre où je souhaite que le mot "activité ou "atelier" se place.
J'ai bien inséré un champ, en respectant ton mode opératoire. J'ai sélectionné "Police par défaut" et OK.
Je vois bien apparaître STYLEREFNORMAL
Pour la macro, je n'ai mis que ta 1ère partie, mais ça ne fonctionne pas (le mot "activité" ou "atelier" ne se place pas à l'endroit où j'ai mis en place le champ.
Où est l'erreur ???
Effectivement, je ne maîtrise par WORD en profondeur.
Donc je n'ai rien touché à ma liste déroulante, dans laquelle j'ai bien mis une balise "liste".
Je me suis placée ensuite sur la ligne de mon titre où je souhaite que le mot "activité ou "atelier" se place.
J'ai bien inséré un champ, en respectant ton mode opératoire. J'ai sélectionné "Police par défaut" et OK.
Je vois bien apparaître STYLEREFNORMAL
Pour la macro, je n'ai mis que ta 1ère partie, mais ça ne fonctionne pas (le mot "activité" ou "atelier" ne se place pas à l'endroit où j'ai mis en place le champ.
Où est l'erreur ???
5 avril 2020 à 12:59
YOUPI !!!!! ça fonctionne !
Alors, dans les propriétés de ma zone déroulante : je n'avais pas coché "Ne pas supprimer le contrôle de contenu" de mon champ.
Quant à mon champ, dans la partie "Nom du style" je ne l'avais pas changé (cf. Titre 1 choisis la 1ère fois que tu m'avais déconseillé car trop risqué). Je l'ai donc bien modifié en cliquant sur "monstyle" (j'ai conservé ton appellation).
Je vois Marina, que mes "os à ronger" te donne matière à créer des articles. C'est parfait, si ça peut aider d'autres personnes.
Je ne suis pas pro comme toi (très loin derrière toi d'ailleurs), mais j'aime bien chercher à savoir et du coup il n'y a rien de mieux que la mise en pratique ! J'explore les fonds....
Un grand MERCI MERCI MERCI !
Prends soin de toi et de tes proches.
Cordialement.
Sandra
5 avril 2020 à 16:32
Oui du coup j'en fais des articles, parce que tes questions sont intéressantes et que c'est le genre de questions qui intéressent plein de monde.
L'option "Ne pas supprimer le contrôle" c'est bien quand on fait des formulaire, ça évite des erreurs. Car si la personne veut retourner dans la liste et qu'elle a supprimé le contrôle, il n'y a plus de liste.
On peut à l'inverse choisir "Supprimer le contrôle lorsque le contenu est modifié" dans d'autres situation : quand, par exemple, dans un modèle, on donne des indications qui doivent disparaître. Par exemple : "Cliquez ici pour saisir votre conclusion qui devra comporter 20 lignes au maximum..." Et donc la personne clique dedans, et le texte et le contrôle disparaissent.
Bien à toi, et bon courage pour la suite.
Bon confinement ! ;)
m@rina
5 avril 2020 à 19:08
Merci pour la précision et l'explication de la case "supprimer le contrôle lorsque le contenu est modifié", c'est effectivement une information que je vais retenir pour les prochaines fois.
Nous sommes allés marcher cet après-midi (pas plus loin d'1 km), mais nous avons la chance d'être à la campagne !
Je vais faire une autre question sur CCM pour savoir comment bloquer les pages d'un formulaire afin et que le texte de la page 2 ne remonte pas sur la page 1.
Tu verras peut être mon post.
Cordialement.
Sandra