Bonjour,
Ci dessous le code VBA d'une fonction qui renvoie sous forme matricielle, l'ensemble des valeurs contenant une chaine de caractère.
Elle renvoie sous forme de n lignes ou n colonnes suivant la sélection que tu a fait.
(rappel: faire Shift + Ctrl + Enter après avoir saisi la formule et sélection l'ensemble des cellules de destination)
utilisation: =RechercheMulti(range où s'effectue la recherche; chainecherchée)
avec chainecherchée sans caratère *
exemple: =recherchemulti(A1:A100;"toto") -> dans la zone B1:B10
le code:
Function RechercheMulti(Cellules As Range, texte As String)
Dim result() As String
Dim I As Integer
ReDim result(0)
For I = 1 To Cellules.Count
If InStr(Cellules(I), texte) > 0 Then
result(UBound(result)) = Cellules(I)
ReDim Preserve result(UBound(result) + 1)
End If
Next I
If UBound(result) > 0 Then
ReDim Preserve result(UBound(result) - 1)
End If
If Selection.Rows.Count > 1 Then
RechercheMulti = Application.Transpose(result)
Else
RechercheMulti = result
End If
End Function