Effacer données filtre

Re le forum,

Comment modifier la Macro de Claude pour que les lignes à partir de 13 "resultat filtre" soient effacer avant chaque filtre au lieu d'avoir un cumule

Crdt,

25filtre-claude.zip (14.91 Ko)
4gestion.xlsm (46.82 Ko)

Bonjour,

Je ne vois pas la macro de claude dont tu parles dans ton message.

Ce fichier contient une macro que j'avais proposée précédemment pour PAT76 afin de sauver les courses dans les feuilles respectives --> https://forum.excel-pratique.com/excel/recopie-dans-une-autre-feuille-sous-condition-novice-macro-t13584-10.html

Le code ne fonctionne d'ailleurs plus correctement.

Merci donc de repréciser ta demande par rapport à ce qui existe ou de réutiliser le code proposé dans le lien ci-avant.

A te relire

Dan

Re le forum,

Sincères excuses Nad-Dan, je n'est pas de doute en ton excellant savoir en Excel, mais je me confirme là par cette erreur d'inattention que je suis vraiment touché par le talon de Claude!

Pour ce qui est de cette macro, elle fonctionne bien pour moi "selon mon objectif au moin"; sauf que:

Une fois les lignes dispatchées après filtre; si je remplis encor une fois les champs en feuille "courses" et je filtre encor une fois, donc les lignes s'accumulent!

Or, je cherche à ce que les lignes du premier filtre s’effacent avant un deuxième filtre!

Possible?

Bonsoir,

Si tu veux filtrer, du devras mettre ta zone statistiques ailleurs !

Peut-être au dessus du filtrage ou autre feuille, à voir.

La macro de Dan ne filtrait pas, elle copiait.

voici avec filtres

Amicalement

Claude.

29kikim78.zip (17.71 Ko)

édit: à noter que cette macro est à revoir, elle filtre 10 fois la même chose (exemple "Trot"),

le résultat est bon mais le code vaseux !

je reverrais si j'ai le temps !

édit2: nouveau code:

Sub copie()
'Macro dan pour Pat76
'revue par Claude pour kikim78 le 28/12/09 (filtres)
Dim plage As Range, cel As Range
Dim dlg As Integer, course
    Application.ScreenUpdating = False
    Set plage = Range("C2:C" & Range("C65536").End(xlUp).Row)
        Range("k2").Formula = "=$c2=$j$1"
    For Each cel In plage
        If cel <> cel.Offset(-1, 0) Then
                Select Case cel
                    Case Is = "T": course = "Trot"
                    Case Is = "O": course = "Obstacle"
                    Case Is = "P": course = "Plat"
                    Case Is = "M": course = "Monte"
                End Select
            If course <> 0 Then
                Range("j1") = cel
                Range("a1:g" & [a65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
                "k1:k2"), CopyToRange:=Range(course & "!" & "a1:g1"), Unique:=False
            End If
        End If
    Next
        Range("j1:k2").ClearContents
        Range("a2:g" & [a65000].End(xlUp).Row).ClearContents
End Sub
capture d ecran 205

Re,

Hum j'ai pas compris le pourquoi du changement. Mais bon si ce que propose Claude te convient.

Un souci toutefois. L'instruction IF COURSE <>0 renvoie une erreur et bug chez moi. je ne vois pas l'utilité mais mettre IF COURSE <> "" me semble mieux

A bientôt

Dan

Bonsoir Dan,

Or, je cherche à ce que les lignes du premier filtre s’effacent avant un deuxième filtre!

voilà le pourquoi !

Toujours pas de nouvelles de Nad ?

Claude.

Bonjour le forum,

slt Claude, Nad-Dan,

Travail impecable Claude, cette fois je crois m'avoir bien expliquer

Sauf que j'ai bien bien fait la difference entre copier et filter 8)

Merci Nad-Dan,

Bonne journée!

Rechercher des sujets similaires à "effacer donnees filtre"