Combobox plante a fmStyledroplist

Bonjour le forum,

Quand je mets dans la propriété de la combobox a sytle: fmStyleDropList

il plante a:

Private Sub ComboBox1_Change()
ActiveSheet.Unprotect "Elisa1995"
  Set D1 = CreateObject("Scripting.Dictionary")
  X = Replace(Replace(Me.ComboBox1, ".", ""), " ", "")
  tmp = "*"
  For i = 1 To Len(X): tmp = tmp & Mid(X, i, 1) & "*": Next i
  tmp = UCase(tmp)
  For Each c In a
   tmp2 = "*"
   X = c
   For i = 1 To Len(c): tmp2 = tmp2 & Mid(X, i, 1) & "*": Next i
   'Stop
   If UCase(tmp2) Like tmp Then D1(c) = ""
  Next c
  Me.ComboBox1.List = D1.keys              ici ça plante et surligne cette ligne!
  Me.ComboBox1.DropDown
End Sub

Quelqu'un pourrait m'aider svp?

D'avance merci et bon week end

Bonjour

Tu devrais joindre ton fichier en expliquant ce que tu veux obtenir…

Bye !

re Bonjour,

je joins mon fichier, quand je sélectionne une cellule blanche afin de lancer la combobox et interdire la saisi d'autre chose que la liste de nom ça plante car j'ai mis à style: fmstyledropdownlist

je ne comprends pas pourquoi alors quand allant sur le forum j'ai trouvé cette solution.

D'avance merci

13essai.xlsm (615.57 Ko)

Si tes macros sont protégées par un mot de passe, je ne serai pas plus avancé….

Bye !

oups!

et voila, sans la protection.

et c'est quand je mets a style: fmstyledropdownlist que ça plante au moment de choisir un nom.

merci

16essai.xlsm (616.61 Ko)

Bonjour,

Pour quelle raison mettrais-tu le style fmStyleDropDownList ?

parceque l'utilisateur rentre des noms avec la mauvaise orthographe sans passser par la liste.

merci

parceque l'utilisateur rentre des noms avec la mauvaise orthographe sans passser par la liste.

merci

Bonjour,

Ce cas se définit en testant Combox1.Listindex = -1 (=nom entré sans passer par la liste).

Bonjour,

tu as fait une petite usine à gaz...

Pourquoi vouloir modifier la liste une fois que tu as détecté le nom voulu ?

Il n'y a aucune raison, sélectionne-le dans la liste épicétou.

eric

Re,

Il n'est pas inutile de regarder la définition d'une propriété avant de l'utiliser ! La propriété Style te permet 2 modes d'utilisation :

  • Combo : liste modifiable, l'usage habituel, l'utilisateur peut taper un nom ou le début...
  • List : liste non modifiable, analogue à une ListBox, l'utilisateur doit choisir dans la liste !

Donc : erreur s'il tape !

Pour le reste, je suis d'accord avec Eric [ Salut !]

Cordialement.

re bonjour

Tanpis je laisse comme ça, je vous remercie tous,

Ce matin un utilisateur avait rentré un nom mal orthographié dans la combobox qui avait été validé du coup je voulais limité à la liste mais sans succès. pour thev j'ai testé: Combox1.Listindex = -1, sans succès non plus.

merci à tous

et bien utilise fmStyleDropDownList.

Mais à quoi ça sert de vouloir réduire la liste au seul élément sélectionné ?

Tu utilises la sélection et tu fermes l'UF.

eric

Super j'ai trouvé!

j'ai supprimé : Me.ComboBox1.List = D1.keys dans combobox change et supprimé ce qui suit:

Private Sub ComboBox1_KeyDown(ByVal KeyCode As MsForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then ActiveCell = Me.ComboBox1: Unload Me
End Sub

Quelqu'un pourrait me dire à quoi cela servait?

merci

Détecte l'appui sur Entrée pour mettre à jour la cellule.

Donc à rien dans ton cas puisque tu limites le choix à une sélection dans la liste.

En fait il faut faire l'inverse...

D'abord comprendre le bout de code trouvé, et l'ajouter seulement s'il convient à ce que tu veux, en l'adaptant

eric

Rechercher des sujets similaires à "combobox plante fmstyledroplist"