Filtre avancé et les mises en forme

Bonsoir,

J'aurai besoin de conseil sur l'export avec un filtre avancé dont je n'arrive pas à ne copier que la valeur des cellules sans les mises en formes.

Que dois je rajouter au code pour cela ?

[quote]Sheets("ENT.REP.").Range("ENT_REP[[#Headers],[#Data],[NATURE]:[N° PIECE]]"). _

AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _

"'SERVICE GENERAUX'!Criteria"), CopyToRange:=Range( _

"'SERVICE GENERAUX'!Extract"), Unique:=False[/quote]

Je vous remercie pour votre aide.

Bonjour Tompouce

Pourtant tout semble fonctionner !

Cela dépend peut-être du type de mise en forme !!

Mise en forme conditionnelle et mise en forme de type tableau ne sont pas en effet reprises. Mais le reste oui.

Exemple :

14test-filtre.xlsm (19.55 Ko)

Bonjour Steelson,

Effectivement le filtre marche à la perfection, mais il recopie la mise en forme quel-quelle soit des données du tableau a filtrer.

Je suis passée par une mise en forme conditionnelle pour pouvoir supprimer celle du tableau .

Peut on passer par la macro du filtre pour pourvoir extraire les données filtrées en ne copiant que les valeurs des cellules choisies.

Je te remercie pour ton aide.

Bonne journée

Dans ce cas, remplace la macro par :

Sub filtrer()

Sheets("ENT.REP.").Range("ENT_REP[[#Headers],[#Data],[NATURE]:[N° PIECE]]"). _
    AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
    "'SERVICE GENERAUX'!Criteria"), CopyToRange:=Range( _
    "'SERVICE GENERAUX'!Extract"), Unique:=False

    With Range("'SERVICE GENERAUX'!Extract").CurrentRegion.Offset(1, 0).Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    With Range("'SERVICE GENERAUX'!Extract").CurrentRegion.Offset(1, 0).Font
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
    End With
    Range("'SERVICE GENERAUX'!Extract").CurrentRegion.Offset(1, 0).Font.Bold = False

End Sub
9test-filtre.xlsm (21.15 Ko)

Bonjour Steelson,

J'ai repris ton code et il me copie toujours la mise en forme conditionnelle sur les traits. Peut on rajouter un quadrillage normale ?

En te remerciant pour tout ton investissement,

Bien cordialement

Bonjour,

Je pense que la mise en forme conditionnelle prendra le pas sur la mise en forme manuelle. Il faut la supprimer en ajoutant .FormatConditions.Delete

Sub filtrer()

Sheets("ENT.REP.").Range("ENT_REP[[#Headers],[#Data],[NATURE]:[N° PIECE]]"). _
    AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
    "'SERVICE GENERAUX'!Criteria"), CopyToRange:=Range( _
    "'SERVICE GENERAUX'!Extract"), Unique:=False

    Range("'SERVICE GENERAUX'!Extract").CurrentRegion.Offset(1, 0).FormatConditions.Delete
    With Range("'SERVICE GENERAUX'!Extract").CurrentRegion.Offset(1, 0).Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    With Range("'SERVICE GENERAUX'!Extract").CurrentRegion.Offset(1, 0).Font
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
    End With
    Range("'SERVICE GENERAUX'!Extract").CurrentRegion.Offset(1, 0).Font.Bold = False

End Sub

Dis moi si cela résout le problème.

9test-filtre.xlsm (21.93 Ko)

Bonsoir Steelson,

En rajoutant .FormatConditions.Delete rien ne change. Mais en passant par l'enregistreur de macro pour un quadrillage simple cela fonction. Cela m'a enregistré une tartine d'instruction dont je ne sais pas si je dois tout garder.

Merci de ton aide

Bonne soirée

Mais en passant par l'enregistreur de macro pour un quadrillage simple cela fonction. Cela m'a enregistré une tartine d'instruction dont je ne sais pas si je dois tout garder

Si cela fonctionne comme cela ... ne touche plus à rien !

Ok, alors c'est résolu.

Merci beaucoup de ton investissement et de ton aide

Un grand bravo du partage de vos connaissances

Bonne soirée

Rechercher des sujets similaires à "filtre avance mises forme"