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

VBA Access Discussion :

Valeur de listbox.ListIndex dans une liste à choix multiples [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut Valeur de listbox.ListIndex dans une liste à choix multiples
    Amis du soir, bonsoir!

    Un petit problème concernant la fonction ListIndex ou tout autre moyen de vérifier qu'une zone de liste déroulante à choix multiples (=listbox liée à une table) a eu au moins 1 enregistrement de sélectionné:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Me.DomaineListe.ListIndex <> -1 Then
    DoCmd.Close
    Else
    MsgBox "Tu n'as même pas sélectionné 1 élément dans la liste déroulante"
    End If
    Ce code ne marche pas car:
    Me.DomaineListe.ListIndex renvoi -1 quand aucun élément n'est sélectionné (ça c'est normal et c'est ma condition if) MAIS Me.DomaineListe.ListIndex renvoi aussi -1 lorsque l'utilisateur sélectionne + d'1 élément de la liste déroulante (ça c'est pas bon)

    Une idée?

    Merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    développeur amateur
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : développeur amateur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Points : 211
    Points
    211
    Par défaut re
    bonjour

    as tu essayés cette methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     x = Me("Liste1").ItemsSelected().Count
    cordialement
    ahmad

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut
    Salut!

    Effectivement, ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.DomaineListe.ItemsSelected().Count
    marche très bien avec des ComboBox, mais ici c'est une ListBox

    Merci quand même

    Quelqu'un d'autre??? SVP

    EDIT: Ou alors comment faire ressembler une ComboBox à une ListBox?

    .

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    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 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    Salut,

    Je crois qu'il y a confusion

    Voici ce qu'en dit l'aide

    ListBox ou zone de liste :
    Contrôle constitué d'une liste et d'une étiquette (facultative); Autorise la sélection multiple d'éléments.

    ComboBox ou zone de liste déroulante :
    Contrôle qui fournit une zone de liste et une zone de texte. Vous pouvez tapez une valeur ou cliquer sur le contrôle pour afficher une liste et y sélectionner un élément. (par conséquent pas de sélection multiple possible)

    Bonne continuation

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut
    Tiens! Bonsoir User!

    Non non, je ne crois pas qu'il y est confusion de ma part. C'est bien une Listbox, exactement comme celle là:
    http://office.microsoft.com/global/i...ZA101555031033

    Le mec de ce site http://www.access-programmers.co.uk/...d.php?t=184095avait exactement le même problème mais persistait à croire que c'était une ComboBox (aucune attaque sur mon User favori, ne tkt pas ) du coup: pas de réponse!!!


    Une idée de comment régler mon problème du coup?

    Merci d'avance

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    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 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    Désolé mais je suis sous Access 2003,

    cela semble être une nouveauté d'Access 2007, donc je ne peux te répondre...

  7. #7
    Membre actif
    Homme Profil pro
    développeur amateur
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : développeur amateur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Points : 211
    Points
    211
    Par défaut re
    bonjour à tous
    User a raison ,d'ou ma reponse
    moi je travail avec access depuis la verion "1" ,
    ...je n'ai jamais vu une liste deroulante a choix multiple et puis c'est impossible à faire car une fois que tu as fais ta selection la liste se ferme.
    j'ai regardé ton exemple
    http://office.microsoft.com/global/i...ZA101555031033
    il me semble que C'est une liste deroulante quand meme.
    je peux quand meme me tromper!!!
    bien cordialement
    ahmad

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut
    Salut,

    Oui c'est une ListBox mais qui est surtout un champ multivalué!
    Je suis en train de chercher une réponse sur ce tuto: http://warin.developpez.com/access/multivalue/

    Je vous tiens au jus si j'ai qlqchose.

  9. #9
    Membre actif
    Homme Profil pro
    développeur amateur
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : développeur amateur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Points : 211
    Points
    211
    Par défaut re
    salut
    exacte
    mais C'est une autre problematique du coup je ne comprend plus ta question?
    ahmad.

  10. #10
    Membre actif
    Homme Profil pro
    développeur amateur
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : développeur amateur
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Points : 211
    Points
    211
    Par défaut re
    salut
    exacte
    mais C'est une autre problematique du coup je ne comprend plus ta question?
    ahmad.
    C'est l'echange qui me fait avancer

  11. #11
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut
    Salut,

    Ma question est que je cherche à vérifier si ma liste multivaluée est vide ou contient au moins 1 valeur.
    Il faut donc adapter ce code à une liste multivaluée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.DomaineListe.ListIndex <> -1 Then
    DoCmd.Close
    Else
    MsgBox "Tu n'as même pas sélectionné 1 élément dans la liste déroulante"
    End If

  12. #12
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 71
    Points
    71
    Par défaut
    Bon il me semble avoir trouvé la solution mais j'aimerais que qlq'un me confirme que "Not IsNull" est correct.

    Ma solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Not IsNull(Me.DomaineListe) Then
    DoCmd.Close
    Else
    MsgBox "Tu n'as même pas sélectionné 1 élément dans la liste déroulante"
    End If
    En fait je ne comprend pas pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsNull(Me.DomaineListe) Then
    à l'air de fonctionner
    Mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.DomaineListe <> Null Then
    ne fonctionne pas?

    Merci d'avance

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut ce que dit l'aide
    Je pense que ceci devrait répondre à la question première, ... Bien que ça ne règle pas mon problème!

    Note Si vous utilisez la propriété MultiSelect pour créer un contrôle ListBox permettant plusieurs sélections, la propriété Selected du contrôle ListBox (plutôt que la propriété ListIndex) identifie les lignes sélectionnées. La propriété Selected est un tableau ayant le même nombre de valeurs que le nombre de lignes du contrôle ListBox. Pour chaque ligne de la zone de liste, la propriété Selected contient la valeur True si la ligne est sélectionnée, et False si elle ne l'est pas. Dans un contrôle ListBox permettant plusieurs sélections, la propriété ListIndex renvoie l'index de la ligne ayant le focus, que celle-ci soit ou non actuellement sélectionnée.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 20/09/2019, 22h36
  2. [AC-2007] Remplacement de valeurs dans une liste à choix multiples
    Par Cinesra dans le forum Modélisation
    Réponses: 1
    Dernier message: 21/07/2011, 15h47
  3. Compter les choix dans une liste à choix multiples
    Par Bullit84 dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2010, 13h13
  4. Option selected dans une liste à choix multiple
    Par Nooby dans le forum Langage
    Réponses: 2
    Dernier message: 21/07/2008, 15h59
  5. Réponses: 4
    Dernier message: 01/10/2006, 15h37

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