Combobox et ListFillRange !! ?? !!

  • Initiateur de la discussion Creepy
  • Date de début
C

Creepy

Guest
Salut all,

Voila mon pb

Je créée sur ma feuil1 une combobox1 et dans mes cellules A2 à A4 mes données (Riri, §Fifi, Loulou).

Quand je clique dans les propriétés de la Combobox1 dans ListeFillRange et que je mets : A2:A4, pas de problems j'ai bien dans ma liste déroulante les 3 propositions.

Cependant je voudrais déclarer cette liste de commande dans le code VBA J'ai donc Mis (en ayant pris soin d'enlever dans les propriètés de la combobox1 A2:A3 dans la case ListFillRange):

Private Sub Combobox1_Change()
combobox1.ListFillRange = Range("A2:A4")
end sub

Et là Il n'y a rien dans la liste déroulante !!!!!!!!!!! J'ai essayé toutes les méthodes et rien nada, impossible de faire apparaitre les données. Et je suis obligé de déclarer les donnnées par code car je veux les modifiers plus tard (en ajouter, enlever, etc...).

Comment faire ???????

Merci d'avance

Creepy
 
@

@+Thierry

Guest
Salut Creepy

Non tu ne peux pas écrire comme ceci !

Il faut faire comme celà :

ListFillRange = "A1:A10"

Ou encore ListFillRange = "Feuil1!A1:A10" (si tu travailles pas sur la feuille active)

J'en profite pour rappeler que le nom des feuilles doivent être sans espace ni caractères spéciaux... (çà t'évitera bien des galères)

Bon App
@+Thierry
 
C

Creepy

Guest
Ca ne marche pas !!!!!!!!!!!!!!!!!

voila ce que j'ai mis

Private Sub ComboBox1_Change()
' ComboBox1.RowSource = " Feuil1!A2: A4 "
ComboBox1.ListFillRange = "Feuil1!A2:A4"
End Sub

J'aime essayé en désactivant le row, puis le list et rien de rien !!!

Alors ?? une idée ??

a++

Creepy
 
@

@+Thierry

Guest
re Creepy,

En relisant dans le contexte c'est absurde ceci :
Private Sub Combobox1_Change()
combobox1.ListFillRange = "Feuil1!A2:A4"
end sub

Il serait préférable d'utiliser un évènement style WorkSheet Activate :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
combobox1.ListFillRange = "Feuil1!A2:A4"
End Sub

Ou encore WorkBook Open...
Private Sub Workbook_Open()
combobox1.ListFillRange = "Feuil1!A2:A4"
End Sub

Bon Aprèm
@+Thierry
 
@

@+Thierry

Guest
Re Creepy

Deux fois que je te réponds, et j'ai droit à un merci à credit !

Non, l'évènement initialize n'existe que pour les UserForm...

WorkBook_Open est semble t'il ce qui convient le mieux.... Ou alors tu fais un bouton "initialisation" qui lancera ton code.

Bon Aprèm
@+Thierry
 
C

Creepy

Guest
Ok désolé, Merci tout corps alors

Mais ce que je veux dire c'est que si je passe par woorkbook open et que pendant mon travail je rajoute une ligne à mon tableau, ma combobox reste sur la dernière ligne lors de l'ouverture.

En faites je voudrais une procedure qui me permette de mettre à jour ma listFillRange pendant mon travail sinon mes derniers ajouts ne seront pas pris en compte dans le menu déroulant, jusqu'à la prochaine ouverture du fichier.


ce coup ci merci d'avance

Creepy
 
@

@+Thierry

Guest
Re Creepy

Ben alors l'évènement Change de la sheet contenant la source de tes données devrait être au top !

Tu as le code dans mon post de 23-04-03 13:39

Tiens qu fait tant que tu es dans ta Combobox de Feuille, regarde ce Lien supprimé

Tu y trouveras ptet des Idées avec notamment la méthode "AddtItem" instead of "ListFillRange" qui reste tout de même assez limitée.


Allé bonne Fin de Journée à toi
@+Thierry
 

Discussions similaires

Réponses
13
Affichages
439
  • Question
Microsoft 365 Tableau
Réponses
24
Affichages
682

Statistiques des forums

Discussions
314 651
Messages
2 111 549
Membres
111 199
dernier inscrit
mavoungou regis