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 :

Lire les valeurs une listbox d'une feuille [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 142
    Par défaut Lire les valeurs une listbox d'une feuille
    Bonjour,

    J'ai des listbox sur une feuille que je rempli via un userForm. Jusque là pas de soucis.

    Par contre, j'ai une procédure qui doit lire le contenu de ces listbox et là je n'y arrive pas. Autant je n'ai pas de soucis pour lire un listbox dans un userform, autant sur une feuille je sèche.

    Sachant qu'en plus ils peuvent être à colonne unique ou multi colonne.

    Avez-vous une idée ?

    Ce que j'ai essayé qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    val2 = Worksheets(CO_sheetACSaisie).lstClientNewAC.list(i, 1)
    val2 = Worksheets(CO_sheetACSaisie).lstClientNewAC.column(i, 1)
    Par contre, j'arrive quand même à savoir si il est vide via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbLignes = Worksheets(CO_sheetACSaisie).lstClientNewAC.ListCount

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Sur une feuille, un objet ActiveX est un OLEObject et c'est par cette propriété qu'il te faut y accéder. Un OLEObject est générique ceci veux dire qu'ils ont tous des propriétés et méthodes de base mais si tu veux utiliser les propriétés propres à l'objet, il te faut utiliser la propriété "Object". Ceci ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheets("Feuil1").OLEObjects("ListBox1").AddItem "Elément 1"
    mais ceci oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheets("Feuil1").OLEObjects("ListBox1").Object.AddItem "Elément 1"
    Après sélection dans la ListBox sur la feuille, ce code te retourne la valeur sélectionnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Test()
     
        Dim Lst As OLEObject
     
        Set Lst = Worksheets("Feuil1").OLEObjects("ListBox1")
     
        MsgBox Lst.Object.List(Lst.Object.ListIndex)
     
    End Sub
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Test()
     
        With Worksheets("Feuil1").OLEObjects("ListBox1").Object
     
            MsgBox .List(.ListIndex)
     
        End With
     
    End Sub
    Si ta ListBox est multi-colonnes, il te suffit, depuis la propriété "Object", de procéder de la même façon que pour une ListBox sur un UserForm !

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 142
    Par défaut
    Merci pour la réponse, cela fonctionne

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

Discussions similaires

  1. [PDO] <select> et lire les données une part une de la bdd
    Par cristelle1986 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/06/2017, 11h08
  2. Réponses: 20
    Dernier message: 25/09/2013, 12h24
  3. Réponses: 5
    Dernier message: 27/08/2008, 15h29
  4. Lire les valeur d'une requete (methode utiliser POSTE)
    Par Alghero dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/07/2007, 15h09
  5. Réponses: 9
    Dernier message: 28/06/2006, 11h11

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