Remettre une combobox vide après fonction change

Olive33

XLDnaute Nouveau
Bonjour,

Après deux heures de recherches sur des forums en vain, je fais appel à vous (première fois que j'ai à demander quelque chose sur excel tellement le forum est bien fourni).

J'ai une combobox1 dont la liste déroulante est défini lors de l'initialisation du Userform avec le code suivant :
Private Sub UserForm_Initialize()
For i = 3 To Sheets.Count
Me.ComboBox1.AddItem Sheets(i).Name
Next i
End Sub
Par ailleurs, lorsque l'utilisateur change la valeur du combobox1, il se passe le code suivant :
Private Sub ComboBox1_Change()
Worksheets(ComboBox1.Value).Select
UserformFC.Hide
End Sub
Mon souci :
Lorsque l'utilisateur ouvre une deuxième fois le UserformFC, la valeur est sélectionnée automatiquement sur la dernière valeur choisie, de sorte qu'il ne peut la re sélectionner. Je souhaiterais donc qu'elle se remette à vide à chaque fois.
Mes tentatives :
ComboBox1.Value = "" ou Empty ne fonctionne pas, que je le mette à l'initialisation du UserformFC ou dans le ComboBox1_Change (que ce soit au début ou à la fin), car cela fait planter la deuxième ligne du Combobox1_Change

Je vous remercie par avance pour votre aide précieuse, qui me permettra de ne pas devenir fou !

Olivier
 

kjin

XLDnaute Barbatruc
Re : Remettre une combobox vide après fonction change

bonjour,
Note qu'un fichier exemple et une explication claire s'imposent !
Pourquoi ne pas décharger le usf ?!
Code:
Private Sub ComboBox1_Change()
Worksheets(ComboBox1.Value).Select 
Unload.Me
End Sub
 

stefan373

XLDnaute Occasionnel
Re : Remettre une combobox vide après fonction change

Bonjour le forum et bien venu Olive33

Il faut écrire unload me au lieu de "UserformFC.Hide", pour le fermer et ainsi vider les valeurs. Car la commande Hide, ne fait que de le cacher. :)

A+ Séfan

Edit bonjour kijn comme d'habitude, je suis beaucoup plus lent. :p
 

Olive33

XLDnaute Nouveau
Re : Remettre une combobox vide après fonction change

Bonjour à vous deux,

Merci de ces retours.
Lorsque j'essaie la ligne Unload.Me, un message d'erreur s'affiche "Argument non facultatif". Dois-je écrire autre chose ?

Désolé si les explications ne sont pas claires j'ai essayé qu'elles le soient. Que dois-je préciser ?
Pour le fichier exemple, c'est délicat dans la mesure où je travaille sur un document professionnel.

Merci beaucoup par avance,
Olivier
 

stefan373

XLDnaute Occasionnel
Re : Remettre une combobox vide après fonction change

Re bonjour,

Voyez ci-joint un fichier exemple. :)

A+ Stéfan

Edit attention, je viens de remarquer que vous avez placé un "." entre unload et me. :p
 

Pièces jointes

  • olive33.xlsm
    27.3 KB · Affichages: 38

Discussions similaires