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

Access Discussion :

Récupérer la sélection d'une liste dans un autre formulaire avec une macro


Sujet :

Access

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut Récupérer la sélection d'une liste dans un autre formulaire avec une macro
    Bonjour,

    Après avoir fouillé sur ce forum, je n'ai pas vraiment trouvé la solution à mon problème (qui risque de vous paraitre simplissime mais dont je ne me sors pas...). Je m'explique :

    J'ai un formulaire dans lequel il y a une zone de liste. Dans cette zone de liste, j'affiche quelques champs d'une table de clients (nom de la société, nom de contact, prénom, ville). Sur ce même formulaire j'ai un bouton "Voir fiche" qui doit permettre lorsqu'on a sélectionné un enregistrement dans la liste d'ouvrir un formulaire basé sur la table Client à l'enregistrement correspondant à cette sélection. Jusque là rien de bien compliqué si ce n'est que j'aimerai créer cet événement par une macro. J'ai donc créer un événement sur clic sur mon bouton "voir fiche". j'ai séléctionné Macro. Dans cette macro j'ai ajouter "OuvrirFormulaire". j'ai séléctionner le bon formulaire, en mode lecture seule mais je n'arrive pas à créer le WHERE qui permet d'ouvrir à l'enregistrement voulu. Voici ce que j'ai pour le moment et qui ne foncitonne pas du tout ... :

    formulaire![liste_clients]!liste!Activé![NOM_CLIENT] = CLIENTS.[NOM_CLIENT]

    Si quelqu'un peut me venir en aide je lui serait extremement reconnaissant

    Merci d'avance!!!!

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    essaie avec
    Formulaires![liste_clients]!liste.Column(i)

    liste_clients = nom du formulaire
    liste = nom du contrôle zone de liste
    i = le numéro de colonne en partant de la gauche -1 (1ere colonne=0, 2e=1, ...)

    A+

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    Malheureusement ça ne fonctionne pas non plus... Il me dit qu'il ne connait pas Column(). Je pense qu'il s'agit uniquement de syntaxe VBA et non de "pseudo-SQL" comme le crée le générateur de code. En fait, je crée cette petite appli access sous access 2000, sur un ordi qui n'a pas de connexion internet et sur lequel il m'est impossible de mettre une version plus récente (et probablement pas non plus de faire des mises à jour). Bref je suis capable de créer cet événement en VBA (j'ai déjà eu l'occasion de le faire) mais la version de VB que j'ai ne connait pas QueryDef, ce qui est plus que gênant. D'où l'obligation pour moi de gérer ce traitement grâce à une macro...

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Re-salut,

    J'ai aussi access2000.

    1. Je viens de refaire l'essai de la formule que je t'ai donné.
    Je l'ai mise dans une zone de texte d'un nouveau formulaire
    =[Formulaires]![MultiSelect]![Liste2].Column(0)

    MultiSelect est un autre formulaire (ouvert) ayant une liste nommée Liste2.

    Ca marche bien.

    2. Concernant QueryDef, vérifie dans l'éditeur visual basic, si la référence à Microsoft DAO 3.6 est cochée (Outils->Références...)
    Par défault elle ne l'est pas dans une nouvelle base.

    A+

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    Je vais réessayer ça demain alors. En tous cas merci bcp c'est très sympa à toi.

    Bonne soirée

    Je te tiens au courant

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 336
    Points : 19 572
    Points
    19 572
    Billets dans le blog
    65
    Par défaut
    Salut,

    sinon,

    il faut que la colonne liée dans ta liste corresponde au champ affiché dans la liste (Nom_Client):

    après tu as essayé dans le where de la macro:
    [CLIENTS]![NOM_CLIENT]=[Forms]![liste_clients]![liste]


    Bonne nuit !
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    Je vais essayer ça et voir ce que ça donne. Il me semble avoir déjà essayé pourtant mais bon j'ai essayer tellement de choses. Enfin si jamais ça ne fonctionne pas je réexpose mon pb :

    En fait, j'ai une table Client contenant un certain nombre de champs (NOM_CLIENT, NOM_CONATCT, PRENOM_CONTACT, ADRESSE, CP, VILLE, TEL, MAIL, ...etc...). J'ai créé un formulaire basé sur cette table. J'ai également créé un formulaire dans lequel j'ai une zone de liste contenant les champs NOM_CLIENT, NOM_CONATCT, PRENOM_CONTACT, VILLE. Ce que je voudrais faire c'est qu'une fois qu'on a sélectionner un client dans cette liste, lorsqu'on clique sur un bouton de commande, mon formulaire Clients s'ouvre à l'enregistrement correspondant.

    J'ai d'abord essayé en utilisant une macro qui s'exécute sur clic du bouton. Dans cette macro, j'ai spécifié l'action "OuvrirFormulaire". Dans les arguments de cette action, j'ai bien entré le nom du formulaire à savoir Clients, l'affichage (Formulaire), le nom de filtre que j'ai laissé vide, la condition where :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![Liste_consultationl]![Liste]![NOM_CLIENT]=[Clients]![NOM_CLIENT]
    le mode de données (Lecture seule) et le mode de fenêtre (Standard). je pense que c'est la condition where qui pose problème. J'ai essayé plusieurs choses comme par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![Liste_consultationl]![Liste].[Column(0)]=[Clients]![NOM_CLIENT]
    En changeant plusieurs fois les points d'exclamation par des points et vice-versa.

    Comme je n'ai pas réussi à faire fonctionner cette macro (Erreur de paramètre d'après Access) j'ai voulu essayer en utilisant du code VBA. Voici ce à quoi je suis arrivé et qui ne fonctionne pas non plus :

    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
    18
    19
    20
    21
    22
    23
    24
     
    Private Sub Commande4_Click()
     
        'Déclaration
        Dim Query As DAO.QueryDef
        Dim Base_de_Donnees As DAO.Database
        Dim Formulaire As Form
        Dim Formulaire_Client As Form
        Dim Ctrl_Champ As Control
        Dim Element As Variant
     
        'Initialisation
        Set Base_de_Donnees = CurrentDb
        Set Formulaire = Me
        Set Formulaire_Client = Form_Clients
        Set Ctrl_Champ = Formulaire!Liste
     
        For Each Element In Ctrl_Champ.ItemsSelected
     
        DoCmd.OpenForm Formulaire_Client, acNormal, , Clients.NOM_CLIENT = Ctrl_Champ.ItemData(Element).Column(0), acFormReadOnly, acWindowNormal
     
        Next Element
     
    End Sub
    Là encore j'ai essayé plusieurs choses pour la condition WHERE mais sans succès.

    Enfin j'ai essayé de modifier des propriétés de la zone de liste (colonne liée, source de contrôle, contenu, ...) mais en vain. Je suis pourtant persuadé qu'il n'y a rien de compliqué mais impossible de trouver ce qui ne va pas.

  8. #8
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bon sang j'aurai dû le voir plus tôt.
    Le critère pour le WHERE est une chaîne de caractères:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim strWHERE as String
    
    strWHERE = "[NOM_CLIENT]='" & [Formulaires]![Liste_consultationl]![Liste]![NOM_CLIENT] & "'"
    ' ou peut-être plus simplement
    strWHERE = "[NOM_CLIENT]='" & Me.Liste & "'"
    ' ou encore
    strWHERE = "[NOM_CLIENT]='" & Me.Liste.Column(0) & "'"
    
    DoCmd.OpenForm "Clients", acNormal, , strWHERE, acFormReadOnly, acWindowNormal
    Le nom du formulaire doit aussi être une chaîne de caractères.

    Donc dans ta boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For Each Element In Ctrl_Champ.ItemsSelected
    
        ' Element prend la valeur de la colonne liée 
        ' Ce n'est pas un N° d'indice de la liste
        strWHERE = "NOM_CLIENT = '" & Element & "'" 
        DoCmd.OpenForm "Clients", acNormal, , strWHERE, acFormReadOnly, acWindowNormal
        
    Next Element
    A+

  9. #9
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    Merci bcp !!!

    Malheureusement je ne vais pas pouvoir essayer ça étant donné que ma base de données ne s'ouvre plus et malgré une fois de plus quelques recherches je ne trouve pas de solution : Quand je souhaite l'ouvrir j'ai le message d'erreur suivant :

    "AOIndex n'est pas un index de cette table" avec deux possibilités : OK qui ne fait que fermer cette fenêtre d'erreur et n'ouvre pas ma BD et Aide qui ne m'en donne pas la moindre...

    C'est le gouffre!!!

  10. #10
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Tu peux tenter une réparation de la base.
    . Ouvrir Access directement (sans ouvrir une base)
    . Outils -> Urilitaires de base de données -> Compacter une base de données
    . Selectionner la base à compacter/réparer
    . Définir une nouveau nom pour la base
    . Ouvrir la nouvelle base (si compactage n'a pas échoué)

    Voir aussi dans ce post http://www.developpez.net/forums/sho...d.php?t=154709
    les liens proposés par Snoopy69

    Bon courage

  11. #11
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    Bon finalement, après bcp de recherches et d'essais infructueux j'ai décidé de recommencer entièrement ma base (je n'avais pas encore enregistré de données dedans donc je perd uniquement du temps mais aps de données...).

    Bref toujours le même problème concernant ma ma liste. Mais avec votre aide voici ce à quoi je suis arrivé et qui ne fonctionne pas quand même mais je dois aps être bien loin :

    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
    18
    19
    20
    21
    22
    Private Sub Commande3_Click()
     
        'Déclaration
        Dim Formulaire As Form
        Dim Ctrl_Champ As Control
        Dim Element As Variant
        Dim strWHERE As String
     
        'Initialisation
     
        Set Formulaire = Me
        Set Ctrl_Champ = Formulaire!Liste0
     
        For Each Element In Ctrl_Champ.ItemsSelected
     
        strWHERE = "NOM_CLIENT = '" & Element & "'"
        DoCmd.OpenForm "Clients", acNormal, , strWHERE, acFormReadOnly, acWindowNormal
     
        Next Element
     
     
    End Sub
    Si quelqu'un a une idée je suis preneur. Sachant que le formulaire "Clients" s'ouvre mais il est totalement vide. pas le moindre champ ne s'affiche. J'ai une fenetre toute grise sans rien à l'intérieur...

    Petite précision qui peut peut-être aider : Ma zone de liste n'a pas de source de contrôle. L'origine de la source est la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [Clients].[NOM_CLIENT], [Clients].[NOM_CONTACT], [Clients].[PRENOM_CONTACT], [Clients].[VILLE] 
    FROM Clients;
    Sinon je n'ai rien modifié sur la zone de liste ou le formulaire (sauf erreur)...

  12. #12
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    J'ai tenté encore autre chose mais qui ne fonctionne pas non plus. Celà dit ça peut faire avancer le Schmilblick....

    J'ai attribuer à l'événement Clic une macro qui exécute ceci :

    OuvrirFormulaire qui ouvre en lecture seule et en fenêtre standard mon formulaire Clients

    AtteindreEnregistrement qui, dans ce formulaire Clients, est censé atteindre l'enregistrement avec comme référence (la référence devant être égale à un entier) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ="SELECT Clients.N°CLIENT FROM Clients 
    WHERE Clients.NOM_CLIENT=Formulaire!Consultation!Liste0"
    Bien que celà ne fonctionne toujours pas, ce qui se passe diffère des autres essais que j'ai pu effectuer. En effet, mon formulaire Clients s'ouvre correctement mais au premier enregistrement quel que soit ma sélection dans la liste de l'auter formulaire. Et un message d'erreur apparait :

    -------------------------------------------------------------

    Le type d'une expression entrée pour un des arguments est incorrect.

    Vous avez essayé d'éxecuter une macro ou vous avez utilisé une méthode pour éxecuter une action, mais le type de données d'une expression s'est révélé incorrect.
    Vous avez peut-être spécifié une chaine opur l'argument Type Objet de la méthode Close, alors qu'il n'est possible d'attribuer à cet argument que certaines constantes intrinsèques ou leurs équivalents numériques.

    -------------------------------------------------------------

    Une idée ...???

  13. #13
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Essaie avec un code plus simple
    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
    Private Sub Commande3_Click()
    
        'Déclaration
        Dim Element As Variant
        Dim strWHERE As String
                   
        For Each Element In Me.Liste0.ItemsSelected
        
            strWHERE = "NOM_CLIENT = '" & Element & "'"
            ' MsgBox juste pour déboguer
            MsgBox strWHERE
            DoCmd.OpenForm "Clients", acNormal, , strWHERE, acFormReadOnly, acWindowNormal
    
        Next Element    
    
    End Sub
    Rappel, pour que ça fonctionne :
    Colonne liée de Liste0 est la colonne 1
    Source du formulaire "Clients" doit être une table ou une requête ayant un champ nommé NOM_CLIENT

    Pour ton autre essai, il faudrait plutôt l'action TrouverEnregistrement avec comme critère =[Formulaires]![Consultation]![Liste0].
    Au préalable il faut sélectionner le formulaire (SélectionnerObjet), sélectionner le contrôle NOM_CLIENT (AtteindreContrôle).

    A+

  14. #14
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    Voici ce que ça donne:

    Pour la macro, le formulaire Clients s'ouvre sans aucun problème et sans aucune fenêtre d'erreur mais toujours au premier enregistrement.

    Pour l'essai avec le code VBA, lorsque dans ma liste je sélectionne par exemple le 3ème élement, la msgBox affiche :

    NOM_CLIENT = '3'

    J'comprend pô...

  15. #15
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    Je viens d'essayer aussi ceci :

    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
    18
    19
     
     
    Private Sub Commande3_Click()
     
    'Déclaration
        Dim Element As Variant
        Dim strWHERE As String
     
        For Each Element In Me.Liste0.ItemsSelected
     
            strWHERE = "NOM_CLIENT = (SELECT Clients.NOM_CLIENT FROM Clients WHERE Clients.N°CLIENT = '" & Element & "')"
            ' MsgBox juste pour déboguer
            MsgBox strWHERE
            DoCmd.OpenForm "Clients", acNormal, , strWHERE, acFormReadOnly, acWindowNormal
     
        Next Element
     
     
    End Sub
    Mais il ne veut pas m'ouvrir mon formulaire Clients et me met une erreur en me disant:

    -----------------------------------

    Erreur d'execution '2501':

    L'action OpenForm a été annulée.

    -----------------------------------

  16. #16
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    Après plusieurs essais, je me suis aperçu que élément ne recevait pas le numéro d'enregistrement (Clients.N°CLIENT) mais le numéro de la ligne dans ma zone de liste. Element ne devrait-il pas prendre la valeur de la colonne liée de la sélection???

  17. #17
    Membre habitué

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Points : 129
    Points
    129
    Par défaut
    VICTOIRE !!!!!!

    Bon c'est la révélation, j'ai enfin trouvé la solution! (Grâce à votre aide, sinon j'y serait pas parvenu). Voilà le code final :

    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
    18
    19
    20
    21
    22
    23
     
     
    Private Sub Commande3_Click()
     
    'Déclaration
        Dim Element As Variant
        Dim strWHERE As String
        Dim nom_client As String
        Dim nom_contact As String
     
        For Each Element In Me.Liste0.ItemsSelected
     
            nom_client = Me.Liste0.Column(0, Element)
            nom_contact = Me.Liste0.Column(1, Element)
            strWHERE = "NOM_CLIENT = '" & nom_client & "' AND NOM_CONTACT = '" & nom_contact & "'"
            ' MsgBox juste pour déboguer
            MsgBox strWHERE
            DoCmd.OpenForm "Clients", acNormal, , strWHERE, acFormReadOnly, acWindowNormal
     
        Next Element
     
     
    End Sub
    Element renvoi en fait le numéro de la ligne sélectionnée. Enfin ça fonctionne parfaitement.

    Merci bcp à tous !!!

  18. #18
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bien joué.

    J'aurai juré que la collection ItemsSelected renvoyait le contenu de la colonne liée et non le numéro d'index dans la liste.
    Ceci à cause du fait que c'est une collection de Variants alors que l'index est de type Long.
    C'est pour ça que je ne m'en suis jamais servi.
    Je pense que je vais commencer à m'en servir maintenant.
    J'ai appris quelque chose.

    A+

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

Discussions similaires

  1. [Batch] Parcourir une liste dans un autre fichier
    Par jepasderemy dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 22/10/2009, 09h49
  2. trier dans un formulaire avec une liste déroulante
    Par FENUA CLIM dans le forum IHM
    Réponses: 2
    Dernier message: 04/08/2008, 08h45
  3. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 14h51
  4. Source d'un Champ définie avec une liste dans Access
    Par Mymi dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 24/10/2006, 21h23
  5. Réponses: 2
    Dernier message: 08/06/2006, 13h38

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