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 :

selectionner une autre ligne dans listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 75
    Par défaut selectionner une autre ligne dans listbox
    Bonjour le forum,
    Voilà mon problème, très simple en fait.
    J'ai une listbox et je veux que quand je clique sur une ligne il m'en selectionne une autre.
    Par exemple quand je clique sur la ligne il faudrait qu'il me selectionne la ligne 2 et non pas la un.

  2. #2
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour nicht le forum sans plus d infos!!!
    regarde du cote de listbox1.listindex

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 75
    Par défaut
    Bonjour laetitia,
    J'ai déja essayé plein de méthodes par exemple mais ceci me change seulement le numéro de l'index sans sélectionner la ligne suivante.
    Merci quand même.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 75
    Par défaut
    C'est bon j'ai trouvé il faut mettreà afterupdate du listbox.

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour Nicht, Laetitia,
    Ce n'est pas si simple que ça, j'ai dù employer une astuce, dans l'événement clik ou change ça ne fonctionne pas.
    Dans un module général...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'Si c'est dans un UF, sinon, mettre le nom de la feuille.
    Public Sub Timer()
        With UserForm1
        If .ListBox1.ListIndex < .ListBox1.ListCount - 1 Then
            .ListBox1.ListIndex = .ListBox1.ListIndex + 1
        End If
        End With
    End Sub
    dans le module de l'UF...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Dim VV As Long
            VV = TimeSerial(Hour(Time), Minute(Time), Second(Time) + 1)
            Application.OnTime VV, "Timer", False
    End Sub
    A+
    EDIT: je n'avais pas encore vu ton dernier poste, et tant mieux si tu a trouver beaucoup plus simple.
    EDIT2 : J'ai essayé avec AfterUpdate mais ça ne fonctionne pas, le curseur se bloque sur la dernière lignes de la listBox ?? Comment a-tu fait ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 75
    Par défaut
    Bonjour LeForestier,
    Par exemple comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If ListBox1.ListIndex = 0 Then
    ListBox1.ListIndex = ListBox1.ListIndex + 1
    end if
    Si tu cliques sur ta première ligne, il sélectionne la seconde.

  7. #7
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Citation Envoyé par nicht Voir le message
    Bonjour LeForestier,
    Par exemple comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If ListBox1.ListIndex = 0 Then
    ListBox1.ListIndex = ListBox1.ListIndex + 1
    end if
    Si tu cliques sur ta première ligne, il sélectionne la seconde.
    Beh oui, et pour les autres lignes ? tu va être obligé de mettre toute une série de If, bon ammusement pour une liste qui aurait des nombres de lignes aléatoire.!!
    Mais si tu ne doit passer que du 1 au 2 alors pas de problème.
    A+

  8. #8
    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
    Par défaut
    Bonjour,

    Voilà qui sera toujours vrai (quelque soit la ligne sélectionnée) et qui reviendra à la première si on clique la dernière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub ListBox1_Click()
      Static toto As Boolean, titi As String
      If ListbOX1.ListIndex < ListbOX1.ListCount - 1 Then titi = "{DOWN}" Else titi = "{PGUP}"
      If Not toto Then SendKeys titi
      toto = Not toto
    End Sub

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour UcFoutu
    Ta solution a quand même quelque inconvéniants...
    La ligne clignote sur deux lignes tant que l'ont n'a pas relacher la souris.
    Supposons que l'ont sélectionne ligne 8.. ça va sur ligne 9 ça c'est OK, mais maintenant la ligne 10 n'est plus accessible !! sinon en recliquant ailleur et revenir sur la ligne 9, !!
    Ma solution est certe moins élégante mais plus efficace.
    A+

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

Discussions similaires

  1. Réponses: 82
    Dernier message: 05/02/2011, 14h34
  2. Faire reference a une autre ligne dans un etat
    Par santacrus dans le forum IHM
    Réponses: 1
    Dernier message: 24/01/2010, 07h41
  3. Faire clignoter une seule ligne dans une listbox ?
    Par tonton67 dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/09/2008, 22h05
  4. comment ajouter une autre ligne dans un texbox
    Par enretard dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 21/07/2008, 14h51
  5. Réponses: 2
    Dernier message: 06/02/2007, 09h17

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