Astuce VBA : position dans un Array
Pour rechercher la position d'une valeur dans une variable tableau (Array) en VBA, commencez par copier cette fonction dans un module :
Function array_pos(tableau, recherche)
'https://www.excel-pratique.com/fr/astuces_vba/recherche-position-tableau-array
array_pos = -1
For ii = LBound(tableau) To UBound(tableau)
If tableau(ii) = recherche Then 'Si valeur trouvée
array_pos = ii
Exit For
End If
Next
End Function
La fonction array_pos renverra ensuite la position de la première valeur trouvée dans le tableau (ou la valeur -1 si la valeur n'a pas été trouvée dans le tableau).
Voici un exemple simple qui va rechercher la présence de la valeur de la variable "valeur_a_rechercher" dans le tableau "mon_tableau" et afficher ensuite sa position dans une MsgBox :
Sub test()
mon_tableau = Array(23, 67, 38, 17, 854, 9, 92)
valeur_a_rechercher = 9
MsgBox array_pos(mon_tableau, valeur_a_rechercher)
End Sub