Combobox : valeur ListIndex non conforme

Bonjour à toutes et à tous,

Un petit souci avec ma Combobox et la valeur de ListIndex qui n'est pas conforme à mes yeux.

Si je saisi une valeur qui se trouve dans la liste, le AfterUpdate me donne -1 en ListIndex
Je ne comprends pas pourquoi

Faut-il choisir une propriété spécifique pour ce contrôle

A+

Bonsoir Fallout45 ,

Je n'arrive pas à reproduire le phénomène .

Edit : hé bien si quand on saisit à la mimine une valeur (pas quand on sélectionne via la liste déroulante).

Bonjour

Lorsque rien n'est affiché, le listindex d'un ComboBox ou d'un ListBox donne -1.

Si le premier item est sélectionné, il porte le numéro zéro.Si c'est le 2° il porte le numéro 1 et ainsi de suite

Cela me semble bien être ça sur ton fichier.
Bye !

Re,

Merci pour vos réponse, mais je ne parle pas de sélectionner, mais de saisir la référence

Si je saisi la référence dans ma combo, ListIndex = -1, pourquoi cela ne prends pas le numéro de ligne

Peut-être est-ce normal ?

A+

Re,

C'est bien ce que j'ai précisé dans mon précédent message.

Je ne comprends pas pourquoi.

Un palliatif qui ne me plaît guère mais qui semble fonctionner :

Private Sub ComboBox1_AfterUpdate()
Dim i&
   i = -1
   On Error Resume Next
   i = Application.Match(Val(Me.ComboBox1.Text), ComboBox1.List, 0)
   If i = -1 Then TextBox1 = -1 Else TextBox1 = i - 1
   On Error GoTo 0
End Sub

Re,

Oups désolé je n'avais pas vu

Je viens de voir que si je remplis ma Combo avec du texte de la colonne "Libellé", à ce moment là, cela fonctionne parfaitement

Il s'agit donc d'un problème de reconnaissance des nombres

Je vais peut-être partir sur le palliatif que tu m'as donné, mais je vais l'adapter pour faire une recherche dans les réf. de ma feuille.

Au cas où, si quelqu'un à une autre solution, il ne faut pas hésiter

En tout cas merci mafraise

A+

Bonsoir @ tous,

Bon ben je n'ai pas pris le temps de bien regarder les réponses... Désolé...

@ bientôt

LouReeD

Bonsoir LouReed, il n'est jamais trop tard pour mieux faire

Sinon, voici mon fichier modifié avec une fonction pour trouver la ligne dans le TS

Comme ça, cela fonctionne, mais que c'est étrange quand même

Au plaisir

Bonjour,

Il s'agit donc d'un problème de reconnaissance des nombres

Tout à fait. Ne pas oublier que toute saisie dans une Combox ou une TextBox est toujours interprété comme du texte. Or les valeurs présentes dans votre colonne Code sont au format standard donc numérique par défaut car il n'y a que des chiffres. Donc si vous voulez que ça marche, vous devez saisir vos codes au format texte et non standard.

Bonsoir,

ou bien les mettre en texte au remplissage de la ComboBox, comme cela en ComboBox ou en TextBox on a bien du texte et dans la feuille Excel on reste bien en chiffre :

Option Explicit

Private Sub ComboBox1_AfterUpdate()
    TextBox1 = IIf(Me.ComboBox1.ListIndex = -1, "Article inexistant", Me.ComboBox1.ListIndex)
End Sub

Private Sub UserForm_Initialize()
    Dim tablo, i
    With ThisWorkbook.Sheets("Stock")
        tablo = .Range("Tableau1[Code]").Value
        For i = 1 To UBound(tablo) - 1
            tablo(i, 1) = tablo(i, 1) & ""
        Next i
        Me.ComboBox1.List = tablo
    End With
End Sub

Il y a peut-être un moyen "plus simple" d'opérer cette transformation dans le USF.

ou bien faire un code alphanumérique : C100072 par exemple...

@ bientôt

LouReeD

@thev, @LouReed,

Dans mon vrai fichier, le format des ref. est bien en texte et non standard
Les valeurs qui vont dans List de la combo devraient remonter en texte, non ?

En tout cas merci pour vos réponses, je vais rester sur ce que je sais faire

Bonne soirée

Attention !

un chiffre entré en chiffre dans une cellule (format standard), si vous passez la cellule en format texte, il va visuellement se mettre à "gauche" au niveau alignement mais si vous "n'entrez pas" dans la cellule avec le mode de saisie pour revalider, il ne sera pas considéré comme un alphanumérique... Il faut tout re saisir. Ou bien transformer la colonne en alphanumérique avec la boucle que je vous ai fourni.

@ bientôt

LouReeD

Rechercher des sujets similaires à "combobox valeur listindex conforme"