Renseigner un champs de texte suivant résultat liste déroulante
Résolu
Eskéléa
-
smarties123 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
smarties123 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte.
- Suivi des modifications Word : comment l'utiliser - Guide
- Liste déroulante excel - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Liste déroulante en cascade - Guide
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? - Guide
7 réponses
Supposant que le titre de ton contrôle liste déroulante soit "maliste" et que le titre du contrôle zone de texte soit "zt", voici une macro à mettre dans ThisDocument :
m@rina
Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
Dim controle As ContentControl
If CC.Title = "maliste" Then
For Each controle In ActiveDocument.ContentControls
If controle.Title = "zt" Then
If CC.Range = "PROCEDURE" Then
controle.Range = "PRO"
ElseIf CC.Range = "INSTRUCTION" Then
controle.Range = "INS"
ElseIf CC.Range = "MODE OPERATOIRE" Then
controle.Range = "MOP"
End If
End If
Next
End If
End Sub
m@rina
Bonjour
Sélectionne le contrôle de contenu de la liste déroulante et crées-en un signet : Insertion | Signet | lui donner le nom LD par exemple
Ensuite poser la condition avec cette formule
CTRL+F9 pour créer les codes champ { }
{ IF { REF LD } = "PROCEDURE" "PRO"} { IF { REF LD } = "INSTRUCTION" "INS"} { IF { REF LD } = "MODE OPERATOIRE" "MOP"}
REF LD est le renvoi vers le signet que tu viens de créer
Attention, pour une mise à jour à chaque modification de la liste déroulante, CTRL A pour sélectionner et F9 pour mettre à jour et actualiser ainsi le texte
Sélectionne le contrôle de contenu de la liste déroulante et crées-en un signet : Insertion | Signet | lui donner le nom LD par exemple
Ensuite poser la condition avec cette formule
CTRL+F9 pour créer les codes champ { }
{ IF { REF LD } = "PROCEDURE" "PRO"} { IF { REF LD } = "INSTRUCTION" "INS"} { IF { REF LD } = "MODE OPERATOIRE" "MOP"}
REF LD est le renvoi vers le signet que tu viens de créer
Attention, pour une mise à jour à chaque modification de la liste déroulante, CTRL A pour sélectionner et F9 pour mettre à jour et actualiser ainsi le texte
Bonjour Argitxu,
merci pour ta réponse, mais je n'arrive pas à le faire fonctionner.
Quand je bascule les codes de champ, il me met REF et refuse de se mettre à jour.
merci pour ta réponse, mais je n'arrive pas à le faire fonctionner.
Quand je bascule les codes de champ, il me met REF et refuse de se mettre à jour.
C'est que les codes champs sont mal insérés.
Les accolades doivent être faites avec Ctrl+F9. Il y a 3 blocs de IF identiques pour chacune des 3 conditions. Fais-en un et teste.
Sinon transmets ton exemple pour que je regarde. Utilise https://www.cjoint.com/
Argitxu
Les accolades doivent être faites avec Ctrl+F9. Il y a 3 blocs de IF identiques pour chacune des 3 conditions. Fais-en un et teste.
Sinon transmets ton exemple pour que je regarde. Utilise https://www.cjoint.com/
Argitxu
Bonjour,
Il existe des événements qui se déclenche à la modification d'un contrôle de contenu.
Si tu n'as rien contre les macros, les signets sont inutiles, et de plus, comme l'a précisé Argitxu, ils ne se mettent pas à jour automatiquement.
On peut écrire une petite macro qui remplira automatiquement ta zone de texte à la sortie de la liste déroulante.
m@rina
Il existe des événements qui se déclenche à la modification d'un contrôle de contenu.
Si tu n'as rien contre les macros, les signets sont inutiles, et de plus, comme l'a précisé Argitxu, ils ne se mettent pas à jour automatiquement.
On peut écrire une petite macro qui remplira automatiquement ta zone de texte à la sortie de la liste déroulante.
m@rina
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir !
Je n'ai rien contre les macros :) au contraire j'en utilise beaucoup sur excel mais sur word je ne sais pas les mettre en oeuvre.
Votre aide serait vraiment la bienvenue :)
Je n'ai rien contre les macros :) au contraire j'en utilise beaucoup sur excel mais sur word je ne sais pas les mettre en oeuvre.
Votre aide serait vraiment la bienvenue :)
Je cherche à faire exactement la même chose et en suivant tes instructions ça fonctionne. Toutefois, j'ai plusieurs listes déroulantes et j'aimerais faire la même chose avec les autres. Comment dois-je faire ? Quel code je dois écrire ? J'ai copié le même code en changeant les noms de listes et de zone de texte mais j'ai des messages d'erreur. Je crois que je ne copie pas au bon endroit. Merci pour ton aide !