IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Word Discussion :

Afficher un champ en fonction de la valeur d'une liste déroulante


Sujet :

Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Points : 24
    Points
    24
    Par défaut Afficher un champ en fonction de la valeur d'une liste déroulante
    Bonjour à tous,

    Je débute dans l'utilisation de champs et de signet sous word et je me pose une question : est-il possible de utiliser if elseif ..else... pour terster une liste déroulante?

    Je m'explique : j'ai une liste déroulante "listeDéroulante1" qui a 4 valeur A,B,C,D
    en suite, j'ai crée un champ, ce champ va être actualisé en fonction de ce que j'ai choisi dans ma liste "listeDéroulante1" , exemple : si la valeur choisie est A, mon champ sera mettre à jour automatiquement à l'aperçu "Apple" , si c' est B,il doit entre "Banana"...

    Pour le moment, j'ai utilisé "alt+9" pour taper les codes. J'ai testé le syntaxe: {listeDéroulante1 = "A" "Apple"} ,ça ne marche pas

    Quelqu'un pourra m'aider?
    Merci à l'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    On peut le faire avec des champs conditionnels, mais la méthode qui me semble la pus simple est l'utilisation du VBA qui va en fonction de la valeur choisie affecter une valeur à un signet ou un champ de formulaire.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Heureux-oli Voir le message
    Salut,

    On peut le faire avec des champs conditionnels, mais la méthode qui me semble la pus simple est l'utilisation du VBA qui va en fonction de la valeur choisie affecter une valeur à un signet ou un champ de formulaire.
    Merci pour ta réponse
    Ma question est que c'est où je dois ajouter le code VBA, à l'ouverture du fichier? et la syntaxe pour affecter une valeur à un signet est comment?

    Excusez moi pour ces questions un peu bêtes

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Non, pas à l'ouverture du fichier.

    Tu crées une macro de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub MiseAJourSignet()
    Dim myText As String
    Select Case ActiveDocument.FormFields(1).Result
    Case "A"
        myText = "Anana"
    Case "B"
        myText = "Banane"
    Case "C"
        myText = "Citron"
    Case "D"
        myText = "Date"
    End Select
    ActiveDocument.Bookmarks("S1").Select
    Selection.TypeText myText
    ActiveDocument.FormFields(2).Result = myText
     
    End Sub
    tu l'actives à la sortie du champ

    Je met l'exemple complet sur le forum
    Fichiers attachés Fichiers attachés
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Points : 24
    Points
    24
    Par défaut
    Ok,Ca marche. C'est encore mieux que j'ai pensé.
    Merci énormément
    Bonne soirée

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Des liens vers des tutos, tu en trouveras sur http://word.developpez.com/cours/

    Tu as des tutos en tout genre, initiation au VBA, VBA Word, ...

    Après le changement de la liste, il faut en sortir pour que ça fonctionne, c'est pour cette raison que j'ai mis un textbox en plus.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 39
    Points : 24
    Points
    24
    Par défaut le champ se répète
    Bonjour,
    Le problème maitenant est que le champ signet se répète, par exemple, quand je choisis "B",il met bien banana à la place, mais il répère 2 fois, dont "banana banana".
    J'ai essayé de vider le signet d'abord en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActiveDocument.Bookmarks("motif").Select
    Selection.TypeText myText
    ActiveDocument.Bookmarks("motif").Delete
    ActiveDocument.FormFields(5).Result = myText
    mais ca ne marche pas
    Une solution?

  8. #8
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    C'est un exemple que j'ai donné.

    Le mot est ajouté derrière le signet, mais le précédent n'est pas supprimé.

    Il y a sur les forum des explications données pour utiliser un méthode ne supprimant pas le signet.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/03/2010, 13h20
  2. Réponses: 0
    Dernier message: 09/09/2008, 21h53
  3. Réponses: 1
    Dernier message: 28/11/2007, 00h18
  4. Réponses: 27
    Dernier message: 12/04/2007, 10h23
  5. Réponses: 12
    Dernier message: 13/02/2007, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo