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 :

Plusieurs ListBox dans le même 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 confirmé
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 79
    Par défaut Plusieurs ListBox dans le même UserForm
    Bonjour,
    Je souhaite placer plusieurs ListBox (qui font chacune référence à des listes situées sur une feuille de calcul) à choix multiples dans la même fenêtre afin de compléter un formulaire.
    Le problème que je rencontre (et là vous allez vite voir mon niveau de compétence en Visual Basic ) c'est que seule la première ListBox fonctionne et j'ai un bug récurrent sur les autres. Voici le code maudit :

    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
    'Sauvegarde le contenu des ListBox lors de la fermeture du UserForm
    'Private Sub UserForm_Initialize()
    '    TextBox1.Value = GetSetting("Mes parametres", "ListBox2", "Valeur TextBox1")
    '    TextBox2.Value = GetSetting("Mes parametres", "ListBox3", "Valeur TextBox2")
    'End Sub
    Private Sub UserForm_Initialize()
        ListBox2.RowSource = Range("L6:L12").Address
        P = Array("6", "7", "8", "9", "10", "11", "12")
    End Sub
    Private Sub CommandButton1_Click()
    Dim n As Integer, y As Integer
        Range("c12").Clear
        With Me.ListBox2
        For n = 0 To .ListCount - 1
        If .Selected(n) = True Then
        y = y + 1
        [c12] = [c12] & " / " & .List(n)
        End If
        Next n
        End With
    End Sub
    Private Sub UserForm_Initialize()
        ListBox3.RowSource = Range("M6:M12").Address
        P = Array("6", "7", "8", "9", "10", "11", "12")
    End Sub
    Private Sub CommandButton2_Click()
    Dim n As Integer, y As Integer
        Range("c16").Clear
        With Me.ListBox3
        For n = 0 To .ListCount - 1
        If .Selected(n) = True Then
        y = y + 1
        [c16] = [c16] & " / " & .List(n)
        End If
        Next n
        End With
    End Sub
    'Sauvegarde le contenu des ListBox lors de la fermeture du UserForm
    'Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    '    SaveSetting "Mes parametres", "ListBox2", "Valeur TextBox1", TextBox1.Value
    '    SaveSetting "Mes parametres", "ListBox3", "Valeur TextBox2", TextBox2.Value
    'End Sub
    
    Private Sub CloseButton_Click()
        SelectProd.Hide
    End Sub
    La partie verte tourne nickel mais celle en rouge pas du tout, j'ai bien compris que deux UserForm_Initialize() ne cohabitent pas ensemble mais je n'arrive pas à trouver de solution.

    Merci d'avance pour vos réponses pas trop complexes, Paul.

    PS : j'utilise un CommandButton_Click() pour valider les choix de chaque ListBox y a t il un moyen de n'en faire qui valide tout d'un coup ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 79
    Par défaut
    Bonjour de nouveau,

    Merci Ormonth pour le déplacement et l'ajout des balises, je m'étais un peu précipité en postant je serais désormais plus précis .

    Mes connaissances étant bien maigres pour ce genre de codage je suis parti de bout de codes trouvés sur le net et je les ai adapté ce qui ne donne jamais un résultat probant dès le début. Néanmoins j'ai commencé quelques améliorations, notamment en remplaçant ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ListBox3.RowSource = Range("M6:M12").Address
    P = Array("6", "7", "8", "9", "10", "11", "12")
    Par ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox3.RowSource = "BaseBl!M6:M12"
    Mais les problèmes précédemment énoncés subsistent, voici un screen complémentaire pour visualiser le résultat souhaité :


  3. #3
    Membre confirmé
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 79
    Par défaut
    Et bien j'ai finalement repris le projet depuis le début en évitant les copier/coller des codes trouvés sur le net et finalement cela fonctionne parfaitement .

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/05/2007, 13h25
  2. [VBS] Lancer plusieurs script dans le même interpréteur
    Par intrud3r dans le forum VBScript
    Réponses: 4
    Dernier message: 12/07/2006, 15h26
  3. [Requête] plusieurs champs dans une même table ayants la même source
    Par Christophe93250 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/04/2006, 16h18
  4. TForm pour plusieurs fenêtre dans une même fonction ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 5
    Dernier message: 15/11/2005, 12h38
  5. [Applet]Utiliser plusieurs Applet dans une même classe
    Par BRAUKRIS dans le forum Applets
    Réponses: 5
    Dernier message: 11/06/2004, 15h27

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