Code pour remise a blanc d'un menu déroulant active X

Bonjour,

J'ai un soucis, quand je sélectionne un choix dans le menu déroulant de la page accueil et que je quitte Excel (En sauvegardant), lorsque je reviens sur le fichier excel, mon dernier choix apparait toujours dans le menu déroulant.

Je souhaiterai dès que je reviens sur ma page accueil que mon menu déroulant soit "vierge" et affiche"-".

Que pouvez vous svp me conseiller ?

On m'avait donné ce code, mais cela fonctionne pas (Voir ligne en gras) :

Private Sub Worksheet_Deactivate()
'
Application.EnableEvents = False
For x = 1 To 6
OLEObjects("cmb" & x).Object.Text = "-"
Next
Application.EnableEvents = True
'
End Sub

Merci d'avance

Bonjour

Rem : lorsque vous postez un code , merci d'utiliser les balises de code en cliquant sur l'icone </> dans la barre de menu et en collant votre code dans la fenêtre

Dans la feuille Accueil et bien que je n'aime pas trop utiliser l'instruction Enableevents, rajoutez ce code

Private Sub Worksheet_Activate()
On Error GoTo fin
Application.EnableEvents = False
Cmb1.Text = "-"
fin:
Application.EnableEvents = True
End Sub

NB :

1. je ne vois pas à quoi vous sert le code Private Sub Worksheet_SelectionChange
2. Pour la liste de votre combo, faites plutôt ceci
- Allez dans formule -> gestionnaire noms
- Cliquez sur nouveau
- Dans la rubrique Nom, mettez une nom (par exemple "Liste")
- Dans la rubrique fait référence à, mettez cette formule --> =DECALER(ListeAccueil!$A$2;;;NBVAL(ListeAccueil!$A:$A)-1)
- Puis cliquez sur OK puis Fermer
- Sélectionnez votre combo puis cliquez sur l'icone Propriété
- Dans la propriété Listfillrange, mettez le nom créé (donc ici Liste) en lieu et place de ce que vous avez actuellement

Dès que vous ajouterez des noms dans votre feuille Listeaccueil, ils seront automatiquement ajoutés dans la combo

si ok et terminé, pensez à cloturer vos fils -->

Crdlt

Bonjour Dan,

Merci beaucoup pour votre aide.

J'ai suivi vos instructions à la lettre et tout fonctionne parfaitement.

Le code Private Sub Worksheet_SelectionChange me permet si je ne dis pas de bêtise de me renvoyer vers le bon onglet quand je fais un choix dans mon menu déroulant.

Dan, en complément de mon message précédent, j'en profites pour vous poser une question. Savez comment je pourrais faire pour proposer un menu déroulant dans les cellules d'un tableau ? Que les utilisateurs n'est pas le choix pour certaines cellules que de mettre ce qui est définit en amont par mes soins ? Quelle serait la meilleure solution ?

Merci d'avance

Bonjour

Le code Private Sub Worksheet_SelectionChange me permet si je ne dis pas de bêtise de me renvoyer vers le bon onglet quand je fais un choix dans mon menu déroulant

Heu non du tout c'est le code Private Sub Worksheet_Change qui fait cela.
Le code Private Sub Worksheet_SelectionChange ne vous sert à rien. Ce code complétait la liste de validation. Dans votre cas, la combo est remplie par la propriété ListFilltrange comme je vous décrit dans mon post précédent. Vous pouvez donc la supprimer

Savez comment je pourrais faire pour proposer un menu déroulant dans les cellules d'un tableau ?

Vous pouvez utiliser la liste de validation disponible dans le menu Données.
Pour la question des utilisateurs, s'il s'agit de la liste de validation, vous pouvez imposer le choix en mettant une alerte si l'utilisateur veut utiliser autre chose
Le mieux serait que je vois un fichier (sans données confidentielles) à partir duquel je pourrais orienter votre choix

Crdlt

Merci beaucoup Dan,

C'est parfait, j'ai pu faire avec les listes de validations. Le seul petit bémol, c'est quand je clique dans le menu déroulant de ma cellule du tableau, et bien la liste déroulante démarre en bas... Y a t-il moyen de faire en sorte que l'utilisateur ne soit pas obligé de remonter la barre a droite du menu déroulant pour accéder aux premiers choix ?

Re

c'est quand je clique dans le menu déroulant de ma cellule du tableau, et bien la liste déroulante démarre en bas..

Heu...Je ne vois pas comment vous arrivez à faire cela. La liste de validation démarre toujours avec la première valeur et non la dernière

C'est mon fichier excel qui buggait....

Merci Dan pour toute ton aide.

Re

Ok. Pensez à cloturer le fil.

Vous avez pleins de fils non cloturés --> https://forum.excel-pratique.com/membre/9783

Crdlt

Rechercher des sujets similaires à "code remise blanc menu deroulant active"