Bonjour,
J'ai des données dans un morceau de colonne qui peut démarrer à n'importe quelle ligne, sur n'importe quelle feuille du classeur.
Je souhaite rechercher une valeur dans cette colonne, sans utiliser la fonction find.
Ci-dessous le code que j'ai réussi à faire. Il donne une erreur "Type d'argument ByRef incompatible" qui empêche mon classeur de s'ouvrir… sans désactiver les macro...
Function Search(value As Variant, ar As Range) As Range
Dim cell As Range
Search = Nothing
For Each cell In ar
If cell.value = value Then
Search = cell
Exit For
End If
Next cell
End Function
Cette fonction doit être utilisée par :
Function rechercheP(val_recherchee As Variant, tabl_recherche As Range, matrice_donnees As Range, col_donnees As Long) As Variant
Dim c As Range
Set c = Search(tabl_recherche, val_recherchee)
If c Is Nothing Then
rechercheP = "Erreur Find"
Else
rechercheP = matrice_donnees.Cells(c.Row - matrice_donnees.Row + 1, matrice_donnees.Column - col_donnees)
End If
End Function
L'erreur semble porter sur l'argument "val_recherchee"