Remplissage zone de liste qui est sur une feuille Excel

richert90

XLDnaute Occasionnel
Bonjour à tous,

Voilà j'ai un problème assez bête..
J'ai une zone de liste sur une feuille Excel mais je n'arrive pas à l'alimenter en VBAavec les valeurs situées dans la colonne A de la même feuille.
D'habitude j'utilise directement des zones de listes dans des UserForms mais là j'ai besoin que cette zone de liste soit directement incorporée sur une feuille Excel mais je ne trouves pas comment on peut faire pour la remplir.

Voilà dans un UserForm comment je récupère des valeurs dans une zone de lsite:
Code:
 'Renseignement de la zone de liste:
    Filtre.zl_rapport.Clear 'Nettoyage zone de liste 'board' dur UserForm Filtre
    For nb_item = 2 To Fin
            Filtre.zl_rapport.AddItem Cells(nb_item, 11)
    Next nb_item
    Filtre.zl_rapport.ListIndex = -1

Je joins un fichier exemple,

Merci d'avance de votre aide,
 

Pièces jointes

  • Classeur1.xlsm
    95.7 KB · Affichages: 33
  • Classeur1.xlsm
    95.7 KB · Affichages: 36
  • Classeur1.xlsm
    95.7 KB · Affichages: 32

JHA

XLDnaute Barbatruc
Re : Remplissage zone de liste qui est sur une feuille Excel

Bonjour à tous,

A essayer, liste sans doublon rattachée à la zone de liste

JHA
 

Pièces jointes

  • Classeur (Liste déroulante).xlsm
    90.3 KB · Affichages: 23

Efgé

XLDnaute Barbatruc
Re : Remplissage zone de liste qui est sur une feuille Excel

Bonjour richter90, Bonjour JHA

En utilisant une zone de liste déroulente Contrôle Active X (PAS formulaire)
VB:
Private Sub ComboBox1_GotFocus()
Dim i&, Dico As Object, TData As Variant
Set Dico = CreateObject("scripting.dictionary")
With Sheets("Feuil4")
    TData = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(3))
End With
For i = LBound(TData, 1) To UBound(TData, 1)
    Dico(TData(i, 1)) = ""
Next i
ComboBox1.List = Dico.Keys
End Sub
Cordialement
 

Pièces jointes

  • Classeur_1.xls
    519 KB · Affichages: 31
  • Classeur_1.xls
    519 KB · Affichages: 28
  • Classeur_1.xls
    519 KB · Affichages: 28
Dernière édition:

richert90

XLDnaute Occasionnel
Re : Remplissage zone de liste qui est sur une feuille Excel

Bonjour,

Merci pour la réponse

Une dernière question:
En VBA, comment je peux faire pour avoir dans une variable par exemple, la valeur choisie dans la zone de liste?
 

richert90

XLDnaute Occasionnel
Re : Remplissage zone de liste qui est sur une feuille Excel

Re,

Cette question (la même que la précédente) mais dans le cas des contrôles formulaires: En VBA, comment je peux faire pour avoir dans une variable par exemple, la valeur choisie dans la zone de liste? .
Je sais avec Efgé comment faire cela mais dans le cas des contrôles active X

Merci d'avance,
 

Efgé

XLDnaute Barbatruc
Re : Remplissage zone de liste qui est sur une feuille Excel

Bonjour richert90, JHA, le fil, le forum
Pour le contrôle formulaire, il faut utiliser la proposition de JHA (une plage variable de cellule sans doublons.
Clic droit sur la zone / Format de contrôle / Onglet Contrôle / Cellule liée (choisir une cellule)
Cela renverra dans la cellule choisie l'index de la zone.
Pour retrouver quelle valeur est choisie, utiliser une formule du type:
=INDEX(Liste; D13;1)
(voir le classeur joint, fait avec celui de JHA)

Voila aussi pourquoi je préfère les contrôles Active X

Cordialement
 

Pièces jointes

  • Liste-richert(2).xls
    522.5 KB · Affichages: 28

richert90

XLDnaute Occasionnel
Re : Remplissage zone de liste qui est sur une feuille Excel

Ok Merci pour la réponse Efgé.
En effet c'est beaucoup moins pratique d'utiliser les controles formulaires rien que pour récupérer la valeur.. enfin c'est quand même faisable quand on a un traitement assez simple.
 

Discussions similaires

Réponses
2
Affichages
486

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16