Filtre automatique sur une feuille

Bonjour,

Pourriez-vous m'aider à résoudre ce problème. Je voudrais réaliser un filtre automatique sur une feuille, sauf que le filtre consisterait à laisser toutes les données qui sont différentes de OPEX, "?" et "0" et "".

J'ai essayé de machiner un code mais ça me fait le contrayire de ce que je veux ( fait apparaitre que ces valeurs...) Merci pour votre aide .

Private Sub Worksheet_Change(ByVal Target As Range)

Dim menu As String

Application.ScreenUpdating = False

ActiveSheet.Range("$A$1:$L$8").AutoFilter Field:=8, Criteria1:=OPEX

ActiveSheet.Range("$A$1:$L$8").AutoFilter Field:=8, Criteria1:="?"

ActiveSheet.Range("$A$1:$L$8").AutoFilter Field:=8, Criteria1:="0"

ActiveSheet.ShowAllData

Application.ScreenUpdating = True

End Sub

Bonjour,

Peut-être plutôt du style :

ActiveSheet.Range("$A$1:$A$8").AutoFilter Field:=1, Criteria1:="<>OPEX", _
        Operator:=xlAnd, Criteria2:="<>?"

Attention toutefois, ta dernière ligne de code remet tous tes filtres à zéro.

Tiens-nous au courant.

comme cela?

Private Sub Worksheet_Change(ByVal Target As Range)

Dim menu As String

Application.ScreenUpdating = False

ActiveSheet.Range("$A$1:$A$8").AutoFilter Field:=1, Criteria1:="<>OPEX", _

Operator:=xlAnd, Criteria2:="<>?"

Application.ScreenUpdating = True

End Sub

ça ne fonctionne pas.

Re,

Pourrais tu posté un bout de ton fichier avec ta macro et le résultat attendu afin de pouvoir t'aider plus efficacement ?

@+.

voilà le lien .

Je te remercie pour ta rapidité et ton aide

Re,

Je comprend mieux maintenant : ce n'est pas un filtre automatique qu'il te faut mais plutôt un filtre élaboré.

Je vais regardé ce que je peux faire.

@+.

merci de ton aide

Re,

En retour, ton fichier modifié.

Attention, ton onglet Résultat final avait un espace après final : bref, c'était juste pour que tu sois au courant et je l'ai corrigé.

Le filtre élaboré se construit à partir de ta feuille Imputation : j'ai du insérer des lignes pour pouvoir recevoir les critères du filtre.

Je te laisse découvrir et tu me diras ce que t'en penses.

Tiens-moi au courant.

Bon après-midi.

https://www.cjoint.com/c/CDAo1JF5oQP

A mince...

je me suis mal fait comprendre. Je voudrais que que le filtre et les résultats du filtre soit réalisés dans la même feuille : "Imputtaion". J'ai mis une feuille résultat final pour illustrer ce que je voulais à la fin. Ensore désolée.

serait il possible que le filtre s'annule automatiquement à chaque fois que je change les données de ma feuille DEFI et qu'il se réalise de nouveau par la suite?

Merci pour ton aide

Re,

Tu veux le résultat du filtre sur la même feuille, Ok mais veux tu filtrer sur place ou copier le résultat du filtre à un autre endroit de ta feuille ?

Quant à ta dernière question, je n'ai pas tout compris.

@+.

je voudrais filtrer sur place si c'est possible ...

merci encore

Re,

Sub Export()
  Sheets("Imputation").Range("B6:J14").AdvancedFilter _
         Action:=xlFilterInPlace, _
         CriteriaRange:=Range("H1:I2")
End Sub

Voici le code de la macro modifié pour filtrer tes données sur place : tu testes et tu me dis.

Bonne soirée.

@+.

Si tu veux remettre le filtre élaboré à zéro, tu crées un bouton associé à une macro :

ActiveSheet.ShowAllData

Bonsoir,

j'ai remplacé le code par le nouveau mais rien ne se passe...


j'ai modifié le code au niveau de la colonne à filtrer et ça fonctionne maintenant.

Ma question en ce qui concerne la remise à 0 du filtre c'est plus de savoir si lorsque j'efface mes données dans la feuille SAP et Outil, je conserve les formule dans mes cellules bien qu'il y ait eu un filtre?

merci encore pour ton aide ça m a été très bénéfique

Re,

Normalement tes formules ne bougent pas même si tu effaces tes données dans tes 2 onglets : je te conseille quand même de tester au cas où.

Tu peux me tenir au courant dans tous les cas.

Content que mon intervention te soit bénéfique.

Bonne continuation et bon week-end.

@+.

Bonjour ,

je te remercie pour ton aide en tout cas.

J'avais une question car j'ai transposé ce code sur un autre fichier (enmodifiant les données bien sûr), mais vba m'indique maintenant

nom de champs introuvable.

A quoi cela peut il être dû?

Bonsoir,

Aurais-tu des plages nommées dans ton fichier où tu a transposé le code ?

Le mieux, si tu peux, serait de poster un bout de ton fichier afin de voir le problème.

Bonne soirée.

@+.

Bonjour crisis

Je t'envoie une copie de mon fichier par mail car même par le lien c-joint, le fichier est trop lourd.

Merci encore pour ton aide


Bonsoir,

Voici le code modifié :

Sub Export()
  Sheets("Imputation").Range("A1:J65536").AdvancedFilter _
         Action:=xlFilterCopy, _
         CriteriaRange:=Range("G1:H2"), _
         CopyToRange:=Sheets("Final").Range("A2:J65536"), _
         Unique:=False
End Sub

Ton code ne pouvait pas fonctionner en raison (voir les commentaires) :

 Sheets("Imputation").Range("A1:J65536").AdvancedFilter
        Action:=xlFilterCopy,_ 'un espace en moins entre la virgule et le _ 
        CriteriaRange:=Range("G1:H2"), _
        CopyToRange:=Sheets("Final").Range("A2:J65536"), 'il manque l'espace et le _ après la virgule
        Unique:=False
End Sub

Bonne soirée à toi.

@+.

bonsoir crisis. merci encore pour ton aide.

pour le code qui filtre sur la même page j'ai le même problème. j'ai copié ton code. mais il ne fonctionne pas.

par ailleurs, je commence à partir de la colonne B et ligne 2. et j'ai plus de 3000 lignes...

merci pour ton aide.

Re,

Sub Export()
      Sheets("Imputation").Range("B2:J65336").AdvancedFilter _
             Action:=xlFilterInPlace, _
             CriteriaRange:=Range("G1:H2")
    End Sub

A tester : tiens nous au courant.

Bonne soirée.

@+.

Rechercher des sujets similaires à "filtre automatique feuille"