bonjour
alors oui effectivement j'ai pas précisé que le gagnant est variable et que donc je ne peux pas aller dans le code à chaque fois pour le modifier....
il faudrait idéalement que je trouve un moyen avec ça
arr_donnees = Array("A1", "A2", "A3")
gagnant = "A2"
de trouver index_gagnant=1 sans le taper à la main dans le code évidemment ...peut être existe t il une fonction qui renvoie la clé d'une valeur d'un array
merci
en fouillant chez les ricains j'ai trouvé cette fonction
Function IsInArray(stringToBeFound As String, arr As Variant) As Long
Dim i As Long
' default return value if value not found in array
IsInArray = -1
For i = LBound(arr) To UBound(arr)
If StrComp(stringToBeFound, arr(i), vbTextCompare) = 0 Then
IsInArray = i
Exit For
End If
Next i
End Function
à utiliser comme ça
Private Sub UserForm_Initialize()
Dim gagnant As String
arr_donnees = Array("A1", "A2", "A3")
gagnant = "A2"
Set cbo1 = Me.Frame1.Controls("Combobox1")
cbo1.List = arr_donnees
indexg = IsInArray(gagnant, arr_donnees)
If indexg > 0 Then
cbo1.ListIndex = indexg 'ici il faudrait mettre l'index du gagnant
End If
End Sub
merci à vous