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 :

creation d'une listbox [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Par défaut creation d'une listbox
    bonjour
    j'ai vu beaucoup de chose sur les listbox, mais ce n'est pas evident a mettre en place.
    je cherche d'apres une feuille excel qui comporte 4 colonnes
    Nº prenom nom date naissance
    je souhaite faire afficher dans la listbox les 3 premieres colonnes.
    quand on clique dans cette listbox sur le prenom, que s'affiche dans une textbox a cote de la listbox la date naissance.
    si quelqu'un connais le code ou un tuto ou je pourrais comprendre comment faire, j'en serais enchante.
    merci
    chris
    Images attachées Images attachées  

  2. #2
    Membre averti
    Homme Profil pro
    Technicien dessinateur industriel
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien dessinateur industriel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut Création d'une ListBox
    Bonjour,
    voilà le code à coller dans la page de code de l'UserForm :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Option Explicit
     
    Const LIGNE_DEBUT_LISTE As Integer = 1
    Const LIGNE_FIN_LISTE As Integer = 10
     
    Const COLONNE_NUMERO As Integer = 1
    Const COLONNE_PRENOM As Integer = 2
    Const COLONNE_NOM As Integer = 3
    Const COLONNE_DATE As Integer = 4
     
    Dim iLigne As Integer
     
     
     
    Private Sub UserForm_Initialize()
        With ThisWorkbook.Sheets(1)
            ListBox1.ColumnCount = 3
            ListBox1.ColumnWidths = "20;60;60"
            For iLigne = LIGNE_DEBUT_LISTE To LIGNE_FIN_LISTE
                ListBox1.AddItem
                ListBox1.List(iLigne - 1, 0) = .Cells(iLigne, COLONNE_NUMERO).Value
                ListBox1.List(iLigne - 1, 1) = .Cells(iLigne, COLONNE_PRENOM).Value
                ListBox1.List(iLigne - 1, 2) = .Cells(iLigne, COLONNE_NOM).Value
            Next iLigne
        End With
        ListBox1.Selected(0) = True
    End Sub
     
     
     
    Private Sub ListBox1_Click()
        For iLigne = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(iLigne) = True Then
                TextBox_Date = ThisWorkbook.Sheets(1).Cells(iLigne + 1, COLONNE_DATE).Value
            End If
        Next iLigne
    End Sub
    Si tu as des questions sur ce code ou autres, n'hésite pas.
    Christophe.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien dessinateur industriel
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien dessinateur industriel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut
    Si BD1 est le nom de la feuille contenant la liste alors
    soit il faut écrire le nom entre guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ThisWorkbook.Sheets("BD1")...
    ou écrire le numéro de la position de la feuille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ThisWorkbook.Sheets(1)...
    L'avantage d'écrire le numéro au lieu du nom entre guillemets est que l'on peut renommer la feuille sans avoir à se soucier du code.

    J'imagine alors que la feuille BD1 n'est pas la première de ton classeur.

  4. #4
    Membre éclairé
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Par défaut listbox
    non c'est la 3, j'ai une page menu, une BD et BD1 et autres derriere

  5. #5
    Membre averti
    Homme Profil pro
    Technicien dessinateur industriel
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien dessinateur industriel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut
    essaye avec ce code alors :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Option Explicit
     
    Const LIGNE_DEBUT_LISTE As Integer = 1
    Const LIGNE_FIN_LISTE As Integer = 10
     
    Const COLONNE_Nº As Integer = 1
    Const COLONNE_PRENOM As Integer = 2
    Const COLONNE_Nom As Integer = 3
    Const COLONNE_datenaissance As Integer = 4
     
    Dim iLigne As Integer
     
     
     
    Private Sub UserForm_Initialize()
        With ThisWorkbook.Sheets(3)
            ListBox1.ColumnCount = 3
            ListBox1.ColumnWidths = "20;60;60"
            For iLigne = LIGNE_DEBUT_LISTE To LIGNE_FIN_LISTE
                ListBox1.AddItem
                ListBox1.List(iLigne - 1, 0) = .Cells(iLigne, COLONNE_Nº).Value
                ListBox1.List(iLigne - 1, 1) = .Cells(iLigne, COLONNE_PRENOM).Value
                ListBox1.List(iLigne - 1, 2) = .Cells(iLigne, COLONNE_Nom).Value
            Next iLigne
        End With
        ListBox1.Selected(0) = True
    End Sub
     
     
     
    Private Sub ListBox1_Click()
        For iLigne = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(iLigne) = True Then
                TextBox_datenaissance = ThisWorkbook.Sheets(3).Cells(iLigne + 1, COLONNE_datenaissance).Value
            End If
        Next iLigne
    End Sub

  6. #6
    Membre éclairé
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2010
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Espagne

    Informations professionnelles :
    Activité : retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 325
    Par défaut listbox
    non cela ne marche pas avec sheets(1), quand je met BD1 a la place de mon userform s'affiche mais rien a l'interieur de la listbox

  7. #7
    Membre averti
    Homme Profil pro
    Technicien dessinateur industriel
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien dessinateur industriel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut
    Il faut que tu remplace ton code par le dernière que je t'ai proposé,
    j'y ai corrigé les numéro de feuille.

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

Discussions similaires

  1. creation d'une file listbox
    Par calimero91 dans le forum Access
    Réponses: 5
    Dernier message: 24/05/2006, 15h40
  2. [debutant][servlet]erreur causée par une listBox
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/03/2004, 10h53
  3. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25
  4. creation d'une raccourcie dans le menu demarre
    Par kenshi dans le forum MFC
    Réponses: 14
    Dernier message: 11/09/2003, 14h59
  5. Creation d une clee dans la registry en VC++
    Par rico27fr dans le forum MFC
    Réponses: 4
    Dernier message: 30/05/2002, 12h36

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