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

Macros et VBA Excel Discussion :

Selection multiple dans une listbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Points : 283
    Points
    283
    Par défaut Selection multiple dans une listbox
    Bonjour,
    J'ai créé un userform avec une listbox.
    Quand l'userform s'initialise, je charge les valeurs de la liste box via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Listbox1.additem "exemple"
    Jusque là tout va bien, j'ai les bon choix dans ma listbox.
    Maintenant j'ai activé la selection multiple, donc je peux selectionner plusieures valeures.

    Comment faire pour utiliser les valeures selectionnées.

    J'ai essayé de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i =1 to listbox1.listcount
    If listbox1.selected(i)=true then...
    J'ai aussi essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if listbox1.item(i).selected=true then
    Mais dans les deux cas j'ai une erreur.

    Comment faire?

  2. #2
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Bonjour
    Il faut partir de 0 et aller jusqu'a listcount-1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) = True Then MsgBox ListBox1.List(i)
        Next i
    Un petit lien vers un faq qui devrais t'intéresser
    http://silkyroad.developpez.com/VBA/...serForm/#LII-G

  3. #3
    Membre actif
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Points : 283
    Points
    283
    Par défaut
    Merci, en fait il fallait que je fasse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With listbox1
    if .selected=true then...
    end with

  4. #4
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Hmm il doit manquer un truc non?
    Car chez moi selected demande un argument et tel quel ca plante ou alors j'ai raté un truc et on ne parle pas de la même chose

    Surtout que la je ne voix pas comment tu sais ce qui a été selectionné

    Enfin si c'est bon pense au mais j'aimerais bien comprendre le pourquoi du comment

  5. #5
    Membre actif
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Points : 283
    Points
    283
    Par défaut
    Effectivement je me suis trompé c'est bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With lisbox1
    if .selected(i)=true then...
    end with

  6. #6
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    dans ce cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With lisbox1
    if .selected(i)=true then...
    end with
    est strictement identique a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if lisbox1.selected(i)=true then...
    Du coup si tu n'as pas modifier le reste du code je suis toujours aussi sceptique

  7. #7
    Membre actif
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Points : 283
    Points
    283
    Par défaut
    Voici le lien vers une discussion ou j'ai mis tous le code:
    http://www.developpez.net/forums/d79...m/#post4571054
    Je pensais aussi comme toi mais visiblement il doit y avoir quelque chose de différent.

  8. #8
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Peut être une faute de frappe la première fois qui sait Quoi qu'il en soit je ne suis pas sur que tu détecte la selection de la première ligne de ta liste box tu devrais faire quelque test pour voir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ListBox1.Selected(i) = True Then nom = ListBox1.List(i)
    cela fonctionne bien chez moi
    mais bon ne nous attardons pas la dessus je vais voir si j'ai une idée pour ton autre soucis

  9. #9
    Membre actif
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Points : 283
    Points
    283
    Par défaut
    J'ai fait exprès de commencer à la 2ème ligne de ma list box, la première ligne est "Toutes", et dans listbox change, si la valeur est "toutes" alors je selectionne toutes les autres lignes de la liste box.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/07/2007, 13h44
  2. Sélection multiple dans une Listbox
    Par Gui13 dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 03/07/2007, 14h59
  3. selection multiple dans une zone de liste
    Par issam16 dans le forum Access
    Réponses: 1
    Dernier message: 22/06/2006, 10h44
  4. [Débutant] Sélection multiples dans une Listbox
    Par eraim dans le forum Access
    Réponses: 4
    Dernier message: 15/10/2005, 03h21
  5. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16

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