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

IHM Discussion :

Prendre une valeur d'une liste déroulante d'un formulaire, pour en alimenter un autre


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Prendre une valeur d'une liste déroulante d'un formulaire, pour en alimenter un autre
    Bonjour,

    Voici l'exposé de mon souci :

    J'ai 2 formulaires ; sur le 1er, des listes déroulantes formées par 2 colonnes (i.e. N° Fourn;Nom Fourn) le N° est masqué, seul le Nom apparait dans la liste.

    Sur le 2ème formulaire, j'entre des données et je souhaiterais également récupérer le "Nom Fourn" de la liste déroulante du 1er formulaire (ceci m'évitant de le saisir de nouveau). Mais c'est le N° qui s'affiche.

    J'ai essayé un Dlookup, mais je n'arrive pas à faire référence au 1er formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.NomFourn.Value=DLookup("[NomFourn]","Constat","[N° Fournisseur]="&[NomFourn])
    J'ai un peu de mal à comprendre le fonctionnement de DLookup. Je me suis documenté au travers de plusieurs discussions, mais ça ne passe pas.

    - Me.NomFourn.Value : correspond au champ de mon 2ème formulaire qui devrait recevoir la valeur "Nom Fourn" de mon 1er formulaire (là, c'est ok).
    - "[NomFourn]" : c'est le nom de ma liste déroulante du 1er formulaire qui va me renvoyer sa valeur (là aussi, je crois que c'est ok).
    - "Constat" : c'est la table dans laquelle "NomFourn" se trouve (celle qui est rattaché au 1er formulaire, il me semble).
    - "[N° Fournisseur]=" : là je coince, je pense que c'est la 1ere colonne de ma liste déroulante (celle qui est masquée).
    -&[NomFourn] : ce doit être le nom de ma liste déroulante.

    Est-ce que le raisonnement est bon ? J'ai toujours le N° Fourn qui s'affiche dans mon 2ème formulaire, j'aimerai pouvoir identifier mon fournisseur d'un seul coup d'oeil par son nom et non pas par son N°.

    Merci de ce que vous pouvez m'apporter.

  2. #2
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Bonjour !

    Je crois que tu as assez bien compris cette fonction

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... Dlookup("NomFournisseur","TableFournisseur","IdFournisseur = " & Me.lstFournisseurs)
    NomFournisseur : Nom du champ contenant le nom de ton fournisseur dans la table... des fournisseurs
    TableFournisseur : Table contenant le champ "NomFournisseur"
    IdFournisseur : N° d'identification du fournisseur dans cette même table
    Me.lstFournisseur : Nom de ta liste déroulante

    Voilà, n'ayant pas les noms réels figurants dans ta table, je te laisse le soin d'adapter les noms fictifs usités ci-dessus.

    Bonne chance !

    Bernard
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Valeur d'une liste déroulante
    Merci pour ta réponse, Bernard,

    Il me semble que cela fonctionne de champ à champ au travers du même formulaire. Mais d'un formulaire vers un autre, je n'ai pas réussi...ça n'a pas fonctionné, peut-être à cause de ma syntaxe ??

    Par contre, j'ai trouvé tout autre chose qui fonctionne, je reviendrai à la fonction DLookup un peu plus tard.

    Voici ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Load()
    Me.NomFourn.Value = Forms![MonFormulaire]!NomFourn.Column(1)
    EndSub
    La sélection sur ma liste déroulante se fait sur un champ Clé cachée (champ clé primaire mis par défaut par l'assistant de création de contrôle). Pour afficher la valeur de ma 2ème colonne, il m'a suffit d'indiquer son numéro.

    - La première colonne correspond à (0).
    - La seconde colonne correspond à (1).

    Je me suis bien pris la tête, mais quel régal lorsque l'issue est heureuse.

    A bientôt.

    PS : site et forum vraiment géniaux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 3
    Dernier message: 12/11/2010, 23h14
  3. Sélectionner une valeur de la liste déroulante
    Par jacadi87 dans le forum Langage
    Réponses: 22
    Dernier message: 12/01/2010, 16h19
  4. Réponses: 7
    Dernier message: 27/05/2008, 13h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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