Filtrer et enregistrer résultat

Bonjour,

J'ai un doute que l'on puisse faire ça.

Filtrer des données , là c'est facile (En macro) (Compatible MAC et PC)

Mais enregistrer dans un autre fichier les résultats obtenu et uniquement les résultats

Faisable ou pas ?

Ce qui serait chouette c'est de ne pas voir la feuille des filtres , j'ai une page principale qui lorsque je cliques sur sauvegarder elle va faire la recherche via un filtre et sauvegarde.

Merci pour votre aide

Bonjour,

Mais enregistrer dans un autre fichier les résultats obtenu et uniquement les résultats

Il suffit de copier et coller le résultat sur une feuille d'un autre classeur :

Sub CopieFiltre()

    Dim ClSource As Workbook
    Dim ClCible As Workbook
    Dim Plage As Range
    Dim Critere As String

    'utilisation de variables pour éviter la confusion
    Set ClSource = ThisWorkbook
    Set ClCible = Workbooks.Add

    'adapter le critère
    Critere = "Le critère"

    'défini la plage sur toute la feuille
    Set Plage = DefPlage(ClSource.Worksheets("Feuil1"))

    With ClSource.Worksheets("Feuil1")

        'filtrage sur la colonne 1 de la plage (ici A)
        Plage.AutoFilter 1, "=" & Critere

        'copie du résultat dans la feuille "Feuil1" du nouveau classeur
        'attention, la copie embarque les entêtes
        .AutoFilter.Range.EntireRow.Copy ClCible.Worksheets("Feuil1").Cells(1, 1)

        'suppression du filtrage
        Plage.AutoFilter

    End With

End Sub

Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range

    On Error GoTo Fin

    With Fe

        Set DefPlage = .Range(.Cells(L, C), _
                       .Cells(.Cells.Find("*", .[A1], -4123, , _
                       1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                       2, 2).Column))

    End With

    Exit Function

Fin:

    Set DefPlage = Nothing

End Function

fonctionne très bien sur PC, quid de Mac ?

Bonjour et merci Super rapide Theze, je vais tester ça ce midi si je trouve le temps au pire ce soir.

Bonne journée

C'est parfait ça marche,

Seulement serait il possible que la nouvelle feuille ne s'affiche pas , si pas possible qu'elle se referme ?

Merci pour ton aide magnifique

C'est bon j'ai trouvé suffit de lui dire

Set ClCible = ThisWorkbook

Puis

.AutoFilter.Range.EntireRow.Copy ClCible.Worksheets("Feuil2").Cells(1, 1)

Rechercher des sujets similaires à "filtrer enregistrer resultat"