alimenter combobox avec données feuille active

Y compris Power BI, Power Query et toute autre question en lien avec Excel
s
steven542304
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 25 juin 2016
Version d'Excel : 2013

Message par steven542304 » 19 février 2017, 19:23

Bonsoir à tous,

J'ai une base de donnée répartie sur plusieurs feuilles de mon classeur (tous identiques) que j'alimente par un formulaire.

J'aimerai avoir dans une combobox de mon formulaire les données contenues dans la colonne B de ma feuille active.

J'ai donc essayé :
dim a, dispo, liste()

Private Sub USERFORM_INITIALIZE()

Set a = Sheets(ActiveSheet.Name) 'j'ai également essayé avec "activesheet" seul mais sans résultat
Set dispo = a.Range("B3:B" & a.[a65000].End(xlUp).Row)

liste = Application.Transpose(dispo)
  Me.ComboBox3.List = liste

end sub

Private Sub ComboBox3_Change()

If Me.ComboBox3.ListIndex = -1 And IsError(Application.Match(Me.ComboBox3, liste, 0)) Then
   Me.ComboBox3.List = Filter(liste, Me.ComboBox3.Text, True, vbTextCompare)
   Me.ComboBox3.DropDown
  Else

  End If
End Sub
Mais ça ne fonctionne pas sur la feuille active, je retrouve les données contenues sur ma première feuille.

Merci pour votre aide potentielle,

Bonne soirée
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'194
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 19 février 2017, 21:40

Bonsoir,

:( J'ai une impression de joyeux mélange ! Tout cela donnera sans doute un résultat mais que ce soit le résultat escompté me surprendrait... Enfin, tout est possible... !

D'abord, quand je vois USERFORM_INITIALIZE écrit ainsi, j'ai quelque doute sur son exécution, car VBA ne l'écrit pas ainsi... :D

Variables non typées : je n'aime pas ! On se demande pourquoi passer de dispo à liste ? On se demande aussi pourquoi transposer ?

On tripatouille ensuite la variable liste avec la fonction Filter. Je ne suis pas familier de cette fonction mais je lis qu'elle attend en premier argument un tableau à une dimension. On lui en fournit un à deux dimensions !

Je ne prendrai donc pas de pari sur le résultat de tout cela... :)
Je pense que si tu veux que ton code soit examiné de plus près, un classeur s'impose...
(Pour ma part, je n'examine que si l'indentation est correcte et permet une lecture rapide...)

Cordialement.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message