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 :

Récupérer la dernière valeur d'une Listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de BERRACHED SAID
    Inscrit en
    Janvier 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Janvier 2009
    Messages : 192
    Par défaut Récupérer la dernière valeur d'une Listbox
    Bonjour le forum et bonne journée

    je cherche a afficher dans une label le contenu de la dernière ligne d'une listbox sans clicker dedans automatiquement.

    j'ai met ce code mais apparemment il m'affiche la première ligne et non la dernière après avoir cliquer sur la listbox chose que je désire pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim n As Integer
    Dim Txt As String
    Dim i As Integer
     
    n = Feuil1.ListBox2.TopIndex = Feuil1.ListBox2.ListCount
        For i = 0 To Feuil1.ListBox2.ListCount
            If Feuil1.ListBox2.Selected(i) = True Then
                Txt = Txt & Feuil1.ListBox2.Column(2, n) 
            End If
        Next i
        Feuil1.Label1.Caption = Txt
    Merci d'avance de votre aide

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    bonjour voici un exemple à adapter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    'initialise la listbox avec les joursmalist = Array("Lundi", "Mardi", "Mercredi", "Jeudi")
    Me.ListBox1.List = malist
     
     
     
     
    'met en variable le nb de items
    nbitem = Me.ListBox1.ListCount
     
     
    'donne au label la valeur du dernier item de la listbox
    Me.Label1.Caption = Me.ListBox1.List(nbitem - 1)
     
     
    Rem---- ici Le label affiche bien Jeudi

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Tu veux afficher la dernière ligne de la listbox ou la dernière ligne visible de cette liste ?
    Dans ton bout de code tu cherches la ligne sélectionnée. Ça ne semble pas concerné par ta question (?)

  4. #4
    Membre confirmé Avatar de BERRACHED SAID
    Inscrit en
    Janvier 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Janvier 2009
    Messages : 192
    Par défaut
    bonjour mes amis

    vous été bien aimable et merci de votre réponses

    je cherche simplement a afficher la dernière valeur de la listbox la tout dernière.

    dans le VBA la dernière ligne d'une listbox si je me trompe pas c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox2.TopIndex = ListBox2.ListCount
    j'attend vos précieuses réponses

    merci

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ListBox2.List(ListBox2.ListCount - 1)

  6. #6
    Membre confirmé Avatar de BERRACHED SAID
    Inscrit en
    Janvier 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Janvier 2009
    Messages : 192
    Par défaut
    bonjour

    on s'inspirant de l'idée rvtoulon j'ai modifier le code qui me donne a présent la dernière valeur de la listbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim n As Integer
    Dim Txt As String
    Dim i As Integer
    On Error Resume Next
    Feuil1.Label1.Caption = ""
        For i = 0 To Feuil1.ListBox2.ListCount
        Feuil1.ListBox2.List = i
        If Feuil1.ListBox2.Selected(i) = True Then
           Txt = Feuil1.ListBox2.ListCount
          Feuil1.Label1.Caption = Feuil1.ListBox2.List(Txt - 1)
            End If
        Next i
    le seul souci qui reste c'est que je dois cliquer sur la listbox pour afficher le résultat alors que je souhaite le faire automatiquement a chaque déroulement des boutons Down et up

    j'ai met le code entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Listbox.selected=true
     ....le code
    listbox.selected=false
    ça n'a rien donner
    merci

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Tu n'as pas besoin de boucler pour trouver la dernière valeur d'une listbox, seulement ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1 = ListBox2.List(ListBox2.ListCount - 1)
    Pour te "promener" dans la liste sans cliquer dedans, donc avec les flèches haut-bas, il faut que la listbox ou un autre contrôle ait le focus et tu utilises KeyDown()
    Voici un petit exemple qui utilise un Textbox. C'est celui-ci qui a le focus.
    Ça va tout de même sélectionner la ligne de la listbox, mais sans que tu aies à cliquer celle-ci...

    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 TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
     
        Select Case KeyCode
            Case 13 ' Enter
                If ListBox1.Text <> "" Then ActiveCell = ListBox1.Text  'inscrit la valeur dans la cellule active
                Unload Me
            Case 38 ' Flèche en haut
                If ListBox1.ListIndex > 0 Then ListBox1.Selected(ListBox1.ListIndex - 1) = True
            Case 40 ' Flèche en bas
                If ListBox1.ListIndex < ListBox1.ListCount Then ListBox1.Selected(ListBox1.ListIndex + 1) = True
        End Select
     
    End Sub

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

Discussions similaires

  1. [XL-2007] Pb pour récupérer une valeur dans une Listbox: Obligé de cliquer au moins une fois
    Par Seb_VB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/04/2011, 16h10
  2. [Binding / DataGrid] Récupérer la dernière valeur d'une liste
    Par Hyome dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 16/11/2010, 22h23
  3. [Débutant] Récupérer une valeur dans une listbox
    Par pompier21 dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 03/10/2008, 15h27
  4. Récupérer la valeur d'une listbox dans une fonction javascript
    Par skyangel20 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/10/2007, 10h51
  5. Apelle d une fonction js avec la valeur d'une listbox
    Par echecetmat dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/02/2005, 16h53

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