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 :

Click sur une ListBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut Click sur une ListBox
    Bonjour tt le monde,

    Voila mon pb du jour :

    Je veux faire un affichage d'info sur certains element listés dans une listbox:

    Cad que quand l'utilisateur doubleClick sur l'un des elements de la listbox,
    je recupere le nom de l'element selectionné et j'affiche une fenetre avec des infos relatives a cet element..
    Tout est pret au niveau de la gestion des infos etc.. sauf qu'il ya un couac :

    Quand un element de la listbox est deja selectionné, et que je click sur un autre element de cette meme ListBox, l'evenement ListBox_DblClick me recupere la situation AVANT le changement de selection d'item.. Il m'affiche donc les infos de l'element selectionné precedemment!!

    J'ai essayé Click et Dblclick, meme pb !

    Je n'ai pas trouvé d'autre evenemet que ListBox_Click ou ListBox_DblClick pour detecter le click sur un item

    Quelqu'un aurait-il une idée??????

    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ce n'est pas dans les événements que tu dois chercher mais dans les propriétés. Où se trouve ta liste ? Dans un userform ou dans une feuille de calculs ?

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    Ma listbox se trouve dans une feuille...
    Mais je ne veux pas passer par des boutons du genre "afficher les infos de l'element selectionné", ca fera une trop grande surchage de bouton...

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Comment recuperes tu la sélection dans la liste?

    Le code du double_click nous aidera

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub ListBox_myList_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
        Dim selectedItemName As String
        Dim objectList As Variant
     
        selectedItemName = SelectedItem_name(ListBox_myList)
     
        If (SearchInList2D(selectedItemName, ListGlobal) <> -1) Then
            objectList = ListGlobal(SearchInList2D(selectedItemName, ListGlobal))
            Call AfficheInfos(objectList)
            Else: Exit Sub
         End If
     
    End Sub
    Ma fonction SelectedItem_name est toute simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function SelectedItem_name(lst As Object) As String
     
        If (lst.ListIndex <> -1) Then
             SelectedItem_name = lst.List(lst.ListIndex)
             Else: SelectedItem_name = ""
        End If
     
    End Function
    (je sais pas si il ya une maniere de le faire directement en vba sa passer par une petite fonction comme celle la...)

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Comme tu veux afficher les info d'un éléement de la liste, je ne pense pas que tu utilises la multi selection.
    Dans ce cas, j'utilise plutot ListBox_myList.Text pour retourner le choix

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Où as-tu pris ta liste ? Dans la boîte à outils Formulaires ou Contrôles.
    Prise dans la boîte à outils Contrôles, je n'ai pas réussi à reproduire ce pb.

  8. #8
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    Ma ListBox a ete cree directement sur la feuille Excel par la boite à outil de controles..

Discussions similaires

  1. [MVVM] Evènnement Double Click sur une Listbox
    Par DotNET74 dans le forum Windows Phone
    Réponses: 5
    Dernier message: 13/05/2011, 16h49
  2. Envoie d'un formulaire lors d'un click dans une listBox
    Par MicheMTP13 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/10/2005, 17h34
  3. simuler un double click sur une liste dans un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/09/2005, 10h45
  4. Réponses: 4
    Dernier message: 25/07/2005, 14h24
  5. Réponses: 13
    Dernier message: 12/07/2005, 10h14

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