[Filtre VBA]Filtrage lancement worbook
Résolu
seb3489
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrai filtrer mes données en fonction de la valeur d'une cellule... Malheureusement, mon code ne fonctionne pas...
Lorsque je remplace array(filtrage) par le contenu de filtrage, le filtre fonctionne... On dirait qu'il n'arrive pas à lire le contenu de ma cellule...
Merci
Je voudrai filtrer mes données en fonction de la valeur d'une cellule... Malheureusement, mon code ne fonctionne pas...
Lorsque je remplace array(filtrage) par le contenu de filtrage, le filtre fonctionne... On dirait qu'il n'arrive pas à lire le contenu de ma cellule...
Merci
Private Sub Workbook_Open()
Dim debut_periode As Long, fin_periode As Long
Dim critére1, filtrage As String
Application.ScreenUpdating = False
filtrage = Sheets("Parametres").Range("F19").Value
debut_periode = Date
fin_periode = debut_periode - 6
Sheets("Rapport").Range("$A$1:$A$5476").AutoFilter _
Field:=1, Criteria1:="<= " & debut_periode, _
Operator:=xlAnd, Criteria2:=">=" & fin_periode
Sheets("STOCK").Range("$A$1:$A$367").AutoFilter _
Field:=1, Criteria1:="<= " & debut_periode, _
Operator:=xlAnd, Criteria2:=">=" & fin_periode
Sheets("Rapport opérateur").Range("$A$1:$A$5476").AutoFilter _
Field:=2, Criteria1:=Array(filtrage), Operator _
:=xlFilterValues
Call masquage_feuilles_inutiles
Call verrouillage_feuilles
End Sub
A voir également:
- [Filtre VBA]Filtrage lancement worbook
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Filtre whatsapp - Accueil - Messagerie instantanée
- Filtre teams - Accueil - Visio
- Filtre manga - Accueil - TikTok
- Excel compter cellule couleur sans vba - Guide
7 réponses
Bonjour,
Il y a une différence entre le contenu d'une cellule et la valeur d'une cellule. Une cellule peut contenir, par exemple, une formule et la valeur de cette cellule est le résultat de la formule.
Il y a une différence entre le contenu d'une cellule et la valeur d'une cellule. Une cellule peut contenir, par exemple, une formule et la valeur de cette cellule est le résultat de la formule.
Merci de ta réponse.
Je viens de faire divers tests encore... Quand je mets juste un mot dans la cellule F19, cela fonctionne. (Ex : ABC)
Par contre, quand j'en mais plusieurs, impossible d'avoir un filtrage fonctionnelle...
(Ex : "abc", "def")
Merci
Je viens de faire divers tests encore... Quand je mets juste un mot dans la cellule F19, cela fonctionne. (Ex : ABC)
Par contre, quand j'en mais plusieurs, impossible d'avoir un filtrage fonctionnelle...
(Ex : "abc", "def")
Merci
Dans un Array() du Criteria1, les filtres sont des string séparés par une virgule.
Si, pendant l'exécution du code pas à pas, tu passes la souris sur ta variable "filtrage", tu vois ce que contient la variable. Dans ton exemple, si tu as
Si, pendant l'exécution du code pas à pas, tu passes la souris sur ta variable "filtrage", tu vois ce que contient la variable. Dans ton exemple, si tu as
"abc", "def"dans ta cellule F19, tu auras:
filtrage = ""abc", "def"". Tout le contenu est considéré comme un seul string.
J'ai essayé mais de nouveau, sans succès...
Je me suis permis de créer un fichier test...
http://dl.free.fr/getfile.pl?file=/TwCH4CEf
Merci encore
Je me suis permis de créer un fichier test...
http://dl.free.fr/getfile.pl?file=/TwCH4CEf
Merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Impossible de télécharger le fichier.
Utilise Cjoint.com pour déposer un fichier et colle le lien donné par le site ici.
En bref, si tu mets plusieurs critères de tri, il faut mettre
Exemple:
Utilise Cjoint.com pour déposer un fichier et colle le lien donné par le site ici.
En bref, si tu mets plusieurs critères de tri, il faut mettre
F19 = abc, defet non
F19 = "abc", "def"et ensuite utiliser Split() pour récupérer les critères.
Exemple:
Dim filtrage() As String filtrage = Split(Sheets("Parametres").Range("F19").Value, ",") Sheets("Rapport opérateur").Range("$A$1:$A$5476").AutoFilter _ Field:=2, Criteria1:=Array(filtrage(0), filtrage(1)), Operator:=xlFilterValues