Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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?
 

Efgé

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

Re
Si la question est pour moi:
VB:
Private Sub ComboBox1_Click()
MsgBox ComboBox1.Text
End Sub
Cordialement
 

Efgé

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

Re
Parce qu'avec les contrôles formulaires tu n'as pas de gestion d'évennements (seulement une et une seule macro liée)
Cordialement
 

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
495
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…