VBA - Insérer une variable comme critère de filtre

Patchi06

XLDnaute Nouveau
Bonjour.

J'ai sur une feuille "Tables", une liste nommée "Famille" (de A2 à A13) et une autre "SSFamille" (de B2 à B240) pour l'essentiel.
une seconde feuille "Base" comprend tout mon catalogue des produits ; Un traitement par macro me permet de ne présenter aux utilisateurs que les colonnes utiles et les lignes qui les concerne. J'ai donc besoin de filtrer par famille et par ssfamille pour n'afficher que les produits intéressants à l'instant T pour le service S.

Aujourd'hui, ma macro (ci-dessous) me fait ce travail correctement mais à chaque fois qu'un libellé est modifié sur ma feuille table il faut le recopier ; J'aimerai savoir comment faire pour transformer les critères de sélection en variable en les appelant directement sur le tableur.

(Field 1 = Famille // Field 2 = SSFamille)
ActiveSheet.Range("$A$10:$L$65536").AutoFilter Field:=1, Criteria1:="A.TRACTUS DIGESTIF"
Selection.AutoFilter Field:=2, Criteria1:="A.50 ALIMENTATION ENTERALE"
...
Selection.AutoFilter Field:=2, Criteria1:="A.51 COMPRESSION"
Application.Run "TFA"
...
Selection.AutoFilter Field:=2, Criteria1:="A.52 ASPIRATION IRRIGATION"
...
ActiveSheet.Range("$A$10:$L$65536").AutoFilter Field:=1, Criteria1:="B.SANG CIRCULATIONSANGUINE"
 

Pièces jointes

  • LIVRETDM(ModDown).xls
    141.5 KB · Affichages: 207

CHALET53

XLDnaute Barbatruc
Re : VBA - Insérer une variable comme critère de filtre

Bonjour,

si tu saisis le critère dans une cellule : S1 par exemple
Dans ta macro, tu définis une variable a : dim a as string
Tu définis
a= range("S1").value
ActiveSheet.Range("$A$10:$L$65536").AutoFilter Field:=1, Criteria1:=a

Idem pour les autres

a+
 

Discussions similaires

Réponses
7
Affichages
3 K
Compte Supprimé 979
C