Formulaires, liste déroulante qui dépend d'un champ précédent.
dicamion
Messages postés
7
Statut
Membre
-
m@rina Messages postés 26226 Statut Contributeur -
m@rina Messages postés 26226 Statut Contributeur -
Bonjour à tous.
Je découvre les fonctions de formulaire de word 2007.
Je vous explique mon cas:
J'ai une première liste déroulante qui liste des grandes catégories (une douzaine) et je veux créer un autre champs plus loin avec une liste déroulante de sous catégories (environ 5 par grande catégorie).
Exemple:
liste 1:
moyen de transport
légume
fruit
viande
bâtiment
...
Liste 2: si j'ai sélectionné légume je veux avoir dans ma liste déroulante: courgette, carotte, etc et pas me retrouver avec une énorme liste du genre: maison école banane poire voiture autobus courgette
Je pense que mon exemple est assez parlant...
Si vous avez des liens où tout est expliqué ce serait super sympa, même en anglais (ma version de word est en anglais au bureau), parce que je sais même pas quoi taper pour trouver ça je connais pas le jargon.
Merci à tous.
Je découvre les fonctions de formulaire de word 2007.
Je vous explique mon cas:
J'ai une première liste déroulante qui liste des grandes catégories (une douzaine) et je veux créer un autre champs plus loin avec une liste déroulante de sous catégories (environ 5 par grande catégorie).
Exemple:
liste 1:
moyen de transport
légume
fruit
viande
bâtiment
...
Liste 2: si j'ai sélectionné légume je veux avoir dans ma liste déroulante: courgette, carotte, etc et pas me retrouver avec une énorme liste du genre: maison école banane poire voiture autobus courgette
Je pense que mon exemple est assez parlant...
Si vous avez des liens où tout est expliqué ce serait super sympa, même en anglais (ma version de word est en anglais au bureau), parce que je sais même pas quoi taper pour trouver ça je connais pas le jargon.
Merci à tous.
A voir également:
- Formulaires, liste déroulante qui dépend d'un champ précédent.
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
4 réponses
Merci c'est exactement ca que je cherche, j'ai essayé une première fois, mais ça ne semble pas marcher, je n'ai surement pas du faire dans le même ordre et avec la même version de windows, et en plus ma version est en anglais.
je réessaye encore et si je n'y arrive toujours pas je crie "au secours"
je réessaye encore et si je n'y arrive toujours pas je crie "au secours"
au secour!!!
Bon j'ai ouvert mon document....
renseigné ma liste déroulante ld1,
créé une liste déroulante ld2 vierge,
ouvert l'éditeur de macro. créé une macro nommée synchro.
copié collé le code entier trouvé sur le lien de m@rina.
enregistré sous word macro enabled.
après je suis sensé double cliquer sur la liste déroulante (ca ne fait rien...) du coup j'ai ouvert propriété en mode developer... aucun moyen de sélectionner la macro...
Merci pour l'aide.
Bon j'ai ouvert mon document....
renseigné ma liste déroulante ld1,
créé une liste déroulante ld2 vierge,
ouvert l'éditeur de macro. créé une macro nommée synchro.
copié collé le code entier trouvé sur le lien de m@rina.
enregistré sous word macro enabled.
après je suis sensé double cliquer sur la liste déroulante (ca ne fait rien...) du coup j'ai ouvert propriété en mode developer... aucun moyen de sélectionner la macro...
Merci pour l'aide.
J'ai réussi...
Alors on doit insérer des listes deroulantes dans "legacy forms" (qque chose hérité en francais)
on ouvre le gestionnaire de macro grace a la barre doutils developper, et on va dans la partie project et on sélectionne son document entre parenthèse. on clique dessous sous microsoft word objects, et on double clic sur "this document".
La on copie colle la macro fournie par m@rina là ou c'est écrit "sub bidule" . on sauvegarde en acceptant les macro (dans le type de fichier à sauvegarder).
La premiere liste s'apelle ld2 en double cliquant dessus une fenetre s'affiche, on met "ld2" dans bookmark, on ajoute toutes les valeurs dans "drop down item" (en haut à gauche).
après on laisse entrée et sortie vide.
pour la deuxieme liste on met entrée en synchro et on l'apelle ld1.
on coche les deux points (calculer a la sortie et celui avant).
on est pas obligé d'entrer les valeurs pour la liste ce sera automatique.
Ensuite on verrouille en cochant l'option mentionnant un formulaire.
et voilà.
Alors on doit insérer des listes deroulantes dans "legacy forms" (qque chose hérité en francais)
on ouvre le gestionnaire de macro grace a la barre doutils developper, et on va dans la partie project et on sélectionne son document entre parenthèse. on clique dessous sous microsoft word objects, et on double clic sur "this document".
La on copie colle la macro fournie par m@rina là ou c'est écrit "sub bidule" . on sauvegarde en acceptant les macro (dans le type de fichier à sauvegarder).
La premiere liste s'apelle ld2 en double cliquant dessus une fenetre s'affiche, on met "ld2" dans bookmark, on ajoute toutes les valeurs dans "drop down item" (en haut à gauche).
après on laisse entrée et sortie vide.
pour la deuxieme liste on met entrée en synchro et on l'apelle ld1.
on coche les deux points (calculer a la sortie et celui avant).
on est pas obligé d'entrer les valeurs pour la liste ce sera automatique.
Ensuite on verrouille en cochant l'option mentionnant un formulaire.
et voilà.
Le problème c'est que dans le script que tu m'as donné m@rina, la première liste déroulante doit être un chiffre.
ld1 est définie comme "byte", moi je veux du texte.
il faut utiliser le type de variable "string" c'est ça?
mais comment fait on?
Dois-je changer quelque chose à:
ld1 = ActiveDocument.FormFields("ld2").DropDown.Value
merci
ld1 est définie comme "byte", moi je veux du texte.
il faut utiliser le type de variable "string" c'est ça?
mais comment fait on?
Dois-je changer quelque chose à:
ld1 = ActiveDocument.FormFields("ld2").DropDown.Value
merci
Bonsoir,
Désolée de répondre tardivement, je me suis absentée plusieurs jours.
Je viens de regarder le code, et il y avait une petite coquille que j'ai corrigée. J'avais interverti les ld1 et ld2.
Non, la varialbe est bien byte parce que, en fait, ça correspond au numéro du choix dans la liste déroulante. Si choix =1, on aura la liste déroulante 2 avec choux, carottes, haricots, si le choix =2 on aura autre chose, etc.
m@rina
Désolée de répondre tardivement, je me suis absentée plusieurs jours.
Je viens de regarder le code, et il y avait une petite coquille que j'ai corrigée. J'avais interverti les ld1 et ld2.
Non, la varialbe est bien byte parce que, en fait, ça correspond au numéro du choix dans la liste déroulante. Si choix =1, on aura la liste déroulante 2 avec choux, carottes, haricots, si le choix =2 on aura autre chose, etc.
m@rina
Bonjour
Il faut une macro. Regarde ici :
https://faqword.com/index.php/word/faq-word/vba-solutions/672-comment-obtenir-une-liste-deroulante-b-dont-les-items-soient-fonction-du-choix-dune-liste-deroulante-a
m@rina
Il faut une macro. Regarde ici :
https://faqword.com/index.php/word/faq-word/vba-solutions/672-comment-obtenir-une-liste-deroulante-b-dont-les-items-soient-fonction-du-choix-dune-liste-deroulante-a
m@rina