Mettre un contrôle entre plusieurs feuilles dans une formule

Bonjour à tous,

J'aurais besoin d'un petit coup de main sur un code VBA que je n'arrive pas à résoudre.

Voici le contexte :

Je souhaite faire paramétrer un contrôle via une feuille qui s'appelle "Board data" où il y aura dans un critère de contrôle qui sera définit dans la cellule S5.

Suivant le critère de tri choisi, des lignes dans une autre feuille appelé "CFC" seront masqués automatiquement s'ils sont différents du critère de contrôle qui a été sélectionné dans la feuille "Board data" cellule S5... (ça peut être du texte, chiffre, ou signe).

Mon VBA actuel est le suivant...

Sub ERP_paie()
Dim Cel As Range
For Each Cel In Worksheets("CFC").Range("A10:A250")
If x = InStr(1, Worksheets("CFC").Range("A10:A250"), ActiveSheet.Range("S5"), vbTextCompare) <> 0 Then
Cel.EntireRow.Hidden = False
Else
Cel.EntireRow.Hidden = True
End If
Next
End Sub

Mon code bugg avec la partie de contrôle "Instr" où je ne sais pas comment faire pour paramétrer le contrôle : "masque les lignes de la feuille "CFC" qui ne contiennent pas dans leur cellule le texte qui apparaît dans la cellule S5 de "Board data".

Petit bonus : dans l'idéal, est-ce qu'il est possible d'activer automatiquement la maccro sans ajouter un bouton d'activation dès qu'on choisi le critère de tri ? A noter qu'il est possible qu'il y ait au moins une 500aine de lignes à traiter par la maccro...

Je vous remercie par avance de votre aide !

Alundrak

5test.xlsx (8.82 Ko)

Sans créer un spam, j'ai trouvé la solution... A moitié complète...

Private Sub ERP_Paie()
Dim Cel As Range
For Each Cel In Worksheets("CFC").Range("A10:A250")
If InStr(1, Cel.Value, ActiveSheet.Cells("5", "S")) = 0 Then
Cel.EntireRow.Hidden = True
End If
Next
End Sub

Plus simple... Par contre, la temps de chargement est assez long...

Quelqu'un aurait un solution?

Rechercher des sujets similaires à "mettre controle entre feuilles formule"