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 :

Afficher liste dépendante à partir d'une autre feuille masquée


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
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 24
    Par défaut Afficher liste dépendante à partir d'une autre feuille masquée
    Bonjour,

    Je souhaiterais de l'aide pour la réalisation d'un userform - Malgré mes recherches et tentatives, je n'y arrive pas.

    En effet, je souhaiterais charger une liste en cliquant sur un bouton se trouvant dans la feuille nommée "Mon Reporting".
    Cette liste doit afficher des données se trouvant dans une autre feuille qui sera masquée nommée "Liste"
    Pourriez-vous m'indiquer ce que je dois saisir ?

    Merci de votre aide


    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
     
    Dim Colonne As Integer
    Dim i As Integer, j As Integer
    Private Sub UserForm_Initialize()
     
        'Initialisation des variables
        Colonne = 2 'Affectation du numéro de colonne à 2 car première donnée en colonne B
        'On efface la couleur de remplissage des en-têtes de colonnes, ici les noms des Types
        Sheets("Liste").Range("B2:E2").Interior.ColorIndex = Clear
     
        Do While Cells(2, Colonne).Value <> "" 'Tant qu'il y a des valeurs dans la ligne 2, on charge les noms des types
     
            frmRecherche.cboType.AddItem Cells(2, Colonne).Value
            Colonne = Colonne + 1 'On incrémente le numéro de colonne afin de passer à la colonne de droite.
     
        Loop
     
    End Sub
     
    '*********************************************
    ' Procédure permettant de charger la
    ' liste déroulante des résultats correspondants
    '*********************************************
     
    Private Sub cboType_Change()
     
        'Initialisation des variables
        i = 2
        'On vide la liste déroulante des résultats afin de ne pas cumuler les enregistrements
        frmRecherche.cboResultat.Clear
        'On retire les couleurs de remplissage des en-têtes
        Sheets("liste").Range("B2:F2").Interior.ColorIndex = Clear
           Do While Cells(2, i).Value <> ""
            If Cells(2, i).Value = cboType.Value Then
               Cells(2, i).Select
               ActiveCell.Interior.ColorIndex = 32
               Colonne = ActiveCell.Column
     
            End If
        i = i + 1 'On incrémente le numéro de colonne
        Loop
            j = 3
        Do While Cells(j, Colonne).Value <> ""
            frmRecherche.cboResultat.AddItem Cells(j, Colonne)
            j = j + 1 'On incrémente le numéro de ligne.
        Loop
        'On affiche la première valeur par défaut
        cboResultat.ListIndex = 0
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 432
    Par défaut
    Bonjour,

    Une façon de faire:
    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
    Option Explicit
     
    Private Sub UserForm_Initialize()
        Dim wshListe As Worksheet, colonne As Long
        Set wshListe = ThisWorkbook.Worksheets("Liste")
        colonne = 2
        frmRecherche.cboType.Clear
        Do While wshListe.Cells(2, colonne).Value <> ""
            frmRecherche.cboType.AddItem wshListe.Cells(2, colonne).Value
            colonne = colonne + 1
        Loop
        Set wshListe = Nothing
    End Sub
     
    '**********************************************
    ' Procédure permettant de charger la
    ' liste déroulante des résultats correspondants
    '**********************************************
     
    Private Sub cboType_Change()
        Dim wshListe As Worksheet, j As Long, colonne As Long
        Set wshListe = ThisWorkbook.Worksheets("Liste")
        colonne = cboType.ListIndex + 2
        j = 3
        frmRecherche.cboResultat.Clear
        Do While wshListe.Cells(j, colonne).Value <> ""
            frmRecherche.cboResultat.AddItem wshListe.Cells(j, colonne)
            j = j + 1
        Loop
        cboResultat.ListIndex = 0
        Set wshListe = Nothing
    End Sub
    Cordialement.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 24
    Par défaut Super !
    Avec beaucoup de retard, je tiens à te remercier EricDgn

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/06/2012, 13h51
  2. créer une liste a partir d'une autre feuille ?
    Par deuval dans le forum Excel
    Réponses: 2
    Dernier message: 23/07/2009, 11h12
  3. remplissage d'une liste déroulante à partir d'une autre liste
    Par monphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/05/2007, 12h28
  4. [VBA-E] extraire des données à partir d'une autre feuille
    Par zzman dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/01/2007, 13h26
  5. Remplir deux listes select à partir d'une autre
    Par Raduris dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/11/2005, 15h29

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