Bonjour le forum,
Il y a quelques mois, Pierre-Jean (un membre éminent de forum 🙂 ( un tout grand merci à lui ) ) m'a aidé à créer une recherche multi-critère directement dans le fichier.
La recherche s'active automatiquement quand on introduit une valeur dans une des cellules de critères et seul les lignes concernées restent apparentes .
(Pour voir la suite, regarder le lien ci-dessous)
J'aimerais maintenant perfectionner cette macro en donnant la possibilité de ne pas devoir faire matcher le critère de recherche avec les valeur reprises dans la liste.
Pour ce faire j'ai utiliser la fonction Instr mais ça bug avec le Iserror.
Voici le code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Row = 7 Then
Rows.Hidden = False
End If
For m = 2 To 37
If Cells(7, m) <> "" Then
For n = 10 To Range("B65536").End(xlUp).Row
If IsError(InStr(Cells(7, m), Cells(n, m), 0)) Then
Rows(n).Hidden = True
End If
Next n
End If
Next m
Application.ScreenUpdating = True
End Sub
Donc si quelqu'un pouvait m'aider ce serait vraiment genial pcq là je sèche.
D'avance merci
Il y a quelques mois, Pierre-Jean (un membre éminent de forum 🙂 ( un tout grand merci à lui ) ) m'a aidé à créer une recherche multi-critère directement dans le fichier.
La recherche s'active automatiquement quand on introduit une valeur dans une des cellules de critères et seul les lignes concernées restent apparentes .
(Pour voir la suite, regarder le lien ci-dessous)
J'aimerais maintenant perfectionner cette macro en donnant la possibilité de ne pas devoir faire matcher le critère de recherche avec les valeur reprises dans la liste.
Pour ce faire j'ai utiliser la fonction Instr mais ça bug avec le Iserror.
Voici le code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Row = 7 Then
Rows.Hidden = False
End If
For m = 2 To 37
If Cells(7, m) <> "" Then
For n = 10 To Range("B65536").End(xlUp).Row
If IsError(InStr(Cells(7, m), Cells(n, m), 0)) Then
Rows(n).Hidden = True
End If
Next n
End If
Next m
Application.ScreenUpdating = True
End Sub
Donc si quelqu'un pouvait m'aider ce serait vraiment genial pcq là je sèche.
D'avance merci