Sub test()
Dim r As Long, j As Long, a As Variant
r = 2
Do While Cells(r, 1).Value <> "" ' Vérifie si la cellule doit être analysée
j = 1 ' Réinitialisation des catégories
Cells(r, 2).Value = r
Do While Cells(1, j + 2).Value <> "" ' Vérifie si toutes les catégories ont été testées
On Error Resume Next ' Pour éviter que l'erreur Search arrête l'exécution
a = WorksheetFunction.Search(Cells(1, j + 2).Value, Cells(r, 1).Value)
If Err.Number <> 0 Then ' Si une erreur se produit
a = "erreur"
Err.Clear ' Efface l'erreur pour éviter des répercussions
End If
On Error GoTo 0 ' Rétablit la gestion d'erreur normale
Cells(r, j + 2).Value = IIf(IsError(a), "erreur", a) ' Écrit "erreur" si a est une erreur
j = j + 1
Loop
r = r + 1
Loop
End Sub