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 :

ajout listbox dans userform [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Octobre 2011
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 87
    Par défaut ajout listbox dans userform
    Bonjour
    SVP, comment ajout listbox dans userform ayant déjà 02 listbox
    programme adapter pour mes besoin (source) internet
    merci d'avance pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Un exemple à adapter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Set lb = Me.Controls.Add("Forms.ListBox.1")
        lb.Left = Me.ListBox2.Left + Me.ListBox2.Width + 10
        lb.Top = Me.ListBox2.Top

  3. #3
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Octobre 2011
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 87
    Par défaut ajout listbox dans userform
    Bonjour
    merci pour votre réponse
    comme je suis débutant, je n'arrive pas à adapter sur l'exemple
    en fait, dans l'exemple adapté il existe des données d'une colonne reliées à 1 listbox. ma question comment relier une autre colonne à une autre listbox
    dans l'exemple répond, exactement, à mes besoins
    merci d'avance pour votre aide

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    J'ai besoin de plus de précisions. Où faut-il mettre la listbox ? A partir de quelle plage de cellules faut-il la remplir ?

  5. #5
    Membre actif
    Homme Profil pro
    retraité
    Inscrit en
    Octobre 2011
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 87
    Par défaut ajout listbox dans userform
    Bonsoir
    merci pour votre réponse
    c'est vrai que je m'exprime mal désolé.
    a vrai dire j'aurai besoin d'afficher
    une colonne sur un listbox1 (colonne e)
    une colonne sur listbox2 (colonne f)
    une colonne sur listbox3 (colonne g)
    voila ce que je souhaiterais avoir
    ci-joint un exemple que j'ai adapter pour mes besoins. (source : internet)
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    J'ai modifié la macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm_Initialize()
    comme suit :

    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
    Private Sub UserForm_Initialize()
        Dim i As Integer
        Dim Plage As Range
        Dim cell As Range
        Set Plage = Sheets("Interface").Range("e8:e" & Sheets("Interface").Range("e65534").End(xlUp).Row)
        ReDim Tab1(1 To Plage.Count + 1, 1 To 2)
        i = 0
        For Each cell In Plage
            i = i + 1
            With cell
                Tab1(i, 1) = .Text
                Tab1(i, 2) = .Offset(0, 1).Text
            End With
        Next
        TriLB1
        Doublon
        LabelNB.Caption = ListBox1.ListCount - 1
        'remplissage ListBox2
        Set Plage = Plage.Offset(, 1)
        TriLB2 Plage
        'remplissage ListBox3
        Set Plage = Plage.Offset(, 1)
        TriLB3 Plage
    End Sub
    et j'ai ajouté les macros de remplissage des listboxes :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Sub TriLB2(Plage As Range)
        Dim Dico As Object, c As Range
        Dim Coll As New Collection
        'Elimination des doublons
        Set Dico = CreateObject("Scripting.Dictionary")
        For Each c In Plage
            If Not Dico.exists(c.Value) Then
                Dico.Add c.Value, c.Value
                Coll.Add c.Value
            End If
        Next c
        For i = 1 To Coll.Count - 1
            For j = i + 1 To Coll.Count
                If Coll(i) > Coll(j) Then
                    Swap1 = Coll(i)
                    Swap2 = Coll(j)
                    Coll.Add Swap1, before:=j
                    Coll.Add Swap2, before:=i
                    Coll.Remove i + 1
                    Coll.Remove j + 1
                End If
            Next j
        Next i
        For Each Item In Coll
            Me.ListBox2.AddItem Item
        Next Item
    End Sub
    Sub TriLB3(Plage As Range)
        Dim Dico As Object, c As Range
        Dim Coll As New Collection
        'Elimination des doublons
        Set Dico = CreateObject("Scripting.Dictionary")
        For Each c In Plage
            If Not Dico.exists(c.Value) Then
                Dico.Add c.Value, c.Value
                Coll.Add c.Value
            End If
        Next c
        For i = 1 To Coll.Count - 1
            For j = i + 1 To Coll.Count
                If Coll(i) > Coll(j) Then
                    Swap1 = Coll(i)
                    Swap2 = Coll(j)
                    Coll.Add Swap1, before:=j
                    Coll.Add Swap2, before:=i
                    Coll.Remove i + 1
                    Coll.Remove j + 1
                End If
            Next j
        Next i
        For Each Item In Coll
            Me.ListBox3.AddItem Item
        Next Item
    End Sub
    Tu trouveras le classeur modifié en annexe. Note que la macro d'ouverture plante sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("interface").Shapes("rectangle 4").Visible = True
    parce que la forme est introuvable. J'ai mis très peu de commentaires. N'hésite pas à poser des questions si tu ne comprends pas.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2010] Filtrer une listbox dans Userform
    Par crissud dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/12/2013, 12h22
  2. [XL-2003] Fond listbox dans userform
    Par djoumusic dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/04/2010, 20h52
  3. [XL-2002] Ajout listbox dans nouvelle page d'un multipage
    Par Zarek dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/08/2009, 13h18
  4. vba ajout de bouton dynamique dans userform + action sur bouton ajouté
    Par choupette_64 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/07/2009, 15h04
  5. Recherche sur Format + resultat dans Listbox de Userform
    Par mater31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/09/2008, 19h01

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