Astuce VBA : position dans un tableau

Pour rechercher la position d'une valeur dans une variable tableau (Array) en VBA, commencez par copier cette fonction dans un module :


Function arrayPos(tableau, recherche)
    
    'https://www.excel-pratique.com/fr/astuces_vba/recherche-position-tableau-array
    
    arrayPos = -1
    
    For i = LBound(tableau) To UBound(tableau)
        If tableau(i) = recherche Then 'Si valeur trouvée
            arrayPos = i
            Exit For
        End If
    Next
    
End Function

La fonction arrayPos 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 valeurRecherche dans le tableau tableau et afficher ensuite sa position dans une MsgBox :

Sub test()
    
    tableau = Array(23, 67, 38, 17, 854, 9, 92)

    valeurRecherche = 9
    
    MsgBox arrayPos(tableau, valeurRecherche)

End Sub