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 :

Détection de changement dans un ListView


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 44
    Points : 27
    Points
    27
    Par défaut Détection de changement dans un ListView
    Bonjour,

    J'ai un contrôle ListView et j'aimerais détecter lorsque l'utilisateur change de ligne, le problème c'est qu'on peut changer de ligne soit avec la souris soit avec le clavier.

    Est-ce qu'il existe une action du genre ItemChange ?

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    L'événement click répond à toute sélection (par souris ou par les flêches) !!!
    Tu aurais pu essayer (ce que je viens de faire moi-même !!!) , non, avant de poser cette question ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    Actuellement j'utilise lvwMaListe_Click() et quand je me déplace avec les flèches cet événement N'est pas activé (en tout cas sur mon ordinateur avec mon office 2003). C'est justement ça qui m'a poussé à poser cette question.

    Mais en tout cas merci d'avoir apporté une réponse

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Re,

    Excuse moi (j'ai écrit Click au lieu de ItemClick ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ListView1_ItemClick(ByVal Item As ComctlLib.ListItem)
     MsgBox ListView1.SelectedItem
    End Sub
    répond aux flêches

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Et ???

    J'attendais ta réaction (saine), du genre : "et que puis-je maintenant faire pour savoir sur quelle ligne je suis (si je dois par exemple en extraire les colonnes autres que la première ??"

    Et tu as bien raison car la chose est loin d'être évidente avec les listview

    Alors ?

    On y va :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub ListView1_ItemClick(ByVal Item As ComctlLib.ListItem)
       Dim toto As Integer
      toto = ListView1.ListItems(Item.Index).Index  'oui, je sais, je sais ... ce n'est pas évident ...
      MsgBox "tu viens de sélectionner la ligne N° " & toto & " qui dit" & vbCrLf & _
      "en sa première colonne " & ListView1.ListItems(toto).Text & vbCrLf & _
      "en sa 2ème colonne " & ListView1.ListItems(toto).SubItems(1)
      ' etc.......
    End Sub
    Voilà, ami ... tu as tout ce qu'il te faut, maintenant ...

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    Merci ucfoutu,

    En effet ça marche. Pour la détection de l'élément je l'avais déjà fait, mais j'y avais passé un peu de temps (je me servais du tutorial de Silkroad sur le ListView comme de livre de chevet )

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bon ...

    Alors, s'il te plait (hier j'avais envie de plaisanter) :

    remplace donc la formule "alambiquée" de toto (dans mon message précédent) par la formule toute simple :


Discussions similaires

  1. Pas de changement de couleur au clic dans une ListView
    Par profecie dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 02/11/2011, 17h57
  2. Réponses: 6
    Dernier message: 04/03/2011, 17h02
  3. Détection d'un changement dans un EDITTEXT
    Par Taiby dans le forum Windows
    Réponses: 17
    Dernier message: 06/10/2010, 20h49
  4. détection de cochage ou décochage dans une listview
    Par Oh!Tofocus dans le forum VB.NET
    Réponses: 7
    Dernier message: 23/09/2010, 22h20
  5. [AIR] Détection de changements dans un dossier
    Par toopac dans le forum Flex
    Réponses: 2
    Dernier message: 21/04/2010, 16h54

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