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 :

listbox en chaine [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 49
    Par défaut listbox en chaine
    Bonjour
    je viens de trouver comment faire des listbox.
    Je souhaiterais quand je selectionne dans la premiere lstbox
    qui recherche dans les rubriques la selection, et me donne une deuxieme listbox (phases).
    idem pour pour la deuxieme.

    de plus quandj'ai valider dans les listbox, les résultats s'inscrivent dans la feuille,
    et queje puise refaire des autres choix, et qui s'ecrive a la suite des choix précédents.

    ci joint mon fihier
    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,

    Si je sélectionne une rubrique de la première listbox, quelle doit être la liste correspondante dans la seconde listbox ? et ainsi de suite. Pourquoi y a-t-il deuxx listes APS et APD ?

  3. #3
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 49
    Par défaut
    Voici la liste complete des parametres ci apres

    LOT ELEC APS - Repérages sur site
    LOT ELEC APS - Analyse des documents d'entrée
    LOT ELEC APS - Liste équipements prédimensionnés
    LOT ELEC APS - Liste instruments / BDD
    LOT ELEC APS - PID
    LOT ELEC APS - Notes de calcul
    LOT ELEC APS - Bilan de puissance
    LOT ELEC APS - Principes généraux de conduite de l’installation
    LOT ELEC APS - Note technique
    LOT ELEC APS - Revues, Gestion documentaire & TQC / DOE
    LOT ELEC APD - Repérages sur site
    LOT ELEC APD - Analyse modifications et récupération des plans existants
    LOT ELEC APD - Schéma de principe distribution électrique
    LOT ELEC APD - Liste des consommateurs
    LOT ELEC APD - Liste instruments / BDD
    LOT ELEC APD - PID
    LOT ELEC APD - Notes de calcul
    LOT ELEC APD - Bilan de puissance
    LOT ELEC APD - Carnet de câbles
    LOT ELEC APD - Définition préliminaire des boucles
    LOT ELEC APD - Plan de situation des équipements
    LOT ELEC APD - Schéma des interliaisons
    LOT ELEC APD - Spécifications générales élec/instrum
    LOT ELEC APD - Revues, Gestion documentaire & TQC / DOE

  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
    Si tu definis ListBox1 et ListBox2 comme multiselect, il te faut un bouton avec chaque listbox pour signifier que tu as fini tes choix.

  5. #5
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 49
    Par défaut
    je souhaite quand j'ai cliquer sur la 1 listbox avec le choix lot elec, qu'apparait une autre listbox avec choix aps et apd , quand je choisi l'un ou l'autre une 3eme listbox s'ouvre avec une selection multiple multiples.
    j'ai un bouton valider, que ces valeurs s'écrivent dans une feuille.
    que les listbox reviennent a zero, que je fasse une autre recherche, et que cela s'ecrive a la suite de ma 1ere recherche.
    et quand j'ai fini je clique sur le bouton exit et que l'userform s'echappe

  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
    Regarde le code suivant. 9a fonctionne sans les boutons. Je ne sais pas ce que tu veux faire avec le bouton "Valider". Choisis dans ListBox1; clique dans Listbox2, fais tes chois; de même, clique dans ListBox3 et fais tes choix. Voici le code du module :

    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    Dim Dico As Object
     
    Private Sub Bt_Valider_Click()
    'Private Sub CommandButton1_Click()
    Dim I As Integer, y As Integer
     
        With Me.ListBox1
        For I = 0 To .ListCount - 1
        If .Selected(I) = True Then
     
        y = y + 1
        Range("A" & y).Value = .List(I)
        End If
        Next I
        End With
     
     
        With Me.ListBox2
        For I = 0 To .ListCount - 1
        If .Selected(I) = True Then
     
        y = y + 1
        Range("a" & y).Value = .List(I)
        End If
        Next I
        End With
     
        With Me.ListBox3
        For I = 0 To .ListCount - 1
        If .Selected(I) = True Then
     
        y = y + 1
        Range("a" & y).Value = .List(I)
        End If
        Next I
        End With
    End Sub
     
     
    Private Sub CommandButton2_Click()
    Dim I As Integer
        With Me.ListBox1
        For I = 0 To .ListCount - 1
        If .Selected(I) = True Then
        [C1] = [C1] & " " & .List(I)
        End If
        Next I
        End With
    End Sub
     
    Private Sub CommandButton1_Click()
     Unload UserForm1
    End Sub
     
     
     
    Private Sub ListBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        Dim C As Range, Ligne As Long
    '    Dico.RemoveAll
        With Feuil2
            Var = Dico.keys
            For I = 0 To Me.ListBox2.ListCount - 1
                If Me.ListBox2.Selected(I) Then
                    For Each C In .Range("C1", .Cells(.Rows.Count, 3).End(xlUp))
                        For j = 1 To UBound(Var)
                            If C.Value = Me.ListBox1.List(I) And Split(Var(j), "|")(0) = C.Value And _
                                Split(Var(j), "|")(1) = C.Offset(, 1).Value Then
                                Me.ListBox3.AddItem C.Offset(, 2).Value
                            End If
                        Next j
                    Next C
                End If
            Next I
        End With
    End Sub
     
    Private Sub ListBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        Dim C As Range, Ligne As Long
        With Feuil2
            .[F:G].ClearContents
            For I = 0 To Me.ListBox1.ListCount - 1
                If Me.ListBox1.Selected(I) Then
                    For Each C In .Range("C1", .Cells(.Rows.Count, 3).End(xlUp))
                        If C.Value = Me.ListBox1.List(I) Then
                            If Not Dico.exists(C.Value & "|" & C.Offset(, 1).Value) Then
                                Dico.Add C.Value & "|" & C.Offset(, 1).Value, C.Value & "|" & C.Offset(, 1).Value
                                Me.ListBox2.AddItem C.Offset(, 1).Value
                            End If
                        End If
                    Next C
                End If
            Next I
        End With
    End Sub
     
     
    Private Sub UserForm_Initialize()
        Set Dico = CreateObject("Scripting.Dictionary")
    End Sub

  7. #7
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2015
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2015
    Messages : 49
    Par défaut listbox en chaine
    Bonjour
    merci pour ta reponse, je ne vois pas la difference entre les deux codes.
    Le bouton valider sert a envoyer les donnees sur la feuille 1.
    je souhaiterais ensuite mettre a blenc les choix fait dans les listbox, et effectuer
    d'autre saisiess, qui une fois valider se mettrais a suivrent des donnees deja inscritent
    dans la feuille 1. puis faire quitter pour partir de l'userforms.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/12/2009, 14h39
  2. Réponses: 1
    Dernier message: 31/03/2009, 09h44
  3. chaine de caractères listBox
    Par yannfrance dans le forum Débuter
    Réponses: 5
    Dernier message: 30/03/2009, 17h37
  4. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 20h25

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