Filtre avancé de plusieurs feuille en vba

BAUVINEAU Muriel

XLDnaute Nouveau
Bonjour à tous et tous mes vœux pour cette nouvelle année :)
J'ai un souci avec un filtre avancé que j'aimerais effectué sur plusieurs feuilles. Je m'explique :
Dans mon classeur, j'ai 6 feuilles nommées hall 1 à hall 6 dans lesquelles je saisi des infos sur des produits contrôlés par une personne (mon critère de base). J'ai une 7ème feuille nommée Recherche dans laquelle je souhaite faire un bilan en fonction de ce critère de base (tout ce que la personne a fait dans les 6 halls). J'ai tenter de faire une macro pour automatiser l'extraction pour chaque hall (donc 6 macros). Cependant comme le nombre de ligne diffère, ça bug pour certains critères. J'aimerais dire à Excel de commencer la 2ème macro à la fin de la 1ère, peut importe le nombre de ligne (si macro 1 s'arrête à la ligne 6, je voudrais que macro 2 débute à la ligne7). J'aimerais ensuite faire une macro qui lance les 6.
Pour le moment, dans mes macros, j'ai fait l'extraction sur des colonnes différentes pour chaque hall (présentation des résultats à l'horizontale) mais j'aimerais le présenter à la verticale. Pouvez-vous m'aidez s'il vous plait ? Je vous joins mon fichier fictif pour mieux comprendre ma demande. Merci d'avance de votre aide.
 

cathodique

XLDnaute Barbatruc
Bonjour à tous et tous mes vœux pour cette nouvelle année :)
J'ai un souci avec un filtre avancé que j'aimerais effectué sur plusieurs feuilles. Je m'explique :
Dans mon classeur, j'ai 6 feuilles nommées hall 1 à hall 6 dans lesquelles je saisi des infos sur des produits contrôlés par une personne (mon critère de base). J'ai une 7ème feuille nommée Recherche dans laquelle je souhaite faire un bilan en fonction de ce critère de base (tout ce que la personne a fait dans les 6 halls). J'ai tenter de faire une macro pour automatiser l'extraction pour chaque hall (donc 6 macros). Cependant comme le nombre de ligne diffère, ça bug pour certains critères. J'aimerais dire à Excel de commencer la 2ème macro à la fin de la 1ère, peut importe le nombre de ligne (si macro 1 s'arrête à la ligne 6, je voudrais que macro 2 débute à la ligne7). J'aimerais ensuite faire une macro qui lance les 6.
Pour le moment, dans mes macros, j'ai fait l'extraction sur des colonnes différentes pour chaque hall (présentation des résultats à l'horizontale) mais j'aimerais le présenter à la verticale. Pouvez-vous m'aidez s'il vous plait ? Je vous joins mon fichier fictif pour mieux comprendre ma demande. Merci d'avance de votre aide.
Bonsoir,
ta macro adaptée
VB:
Sub extraction()
' extraction Macro
    hall1
    hall2
    hall3
    hall4
    hall5
    hall6
End Sub
Bonne soirée;)
 

klin89

XLDnaute Accro
Bonsoir à tous, :)

Avec un simple filtre :
Dans le module de la feuille concernée :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$2" Then
        Application.EnableEvents = False
        test
        Application.EnableEvents = True
    End If
End Sub
Dans un module standard :
VB:
Option Explicit
Sub test()
Dim ws As Worksheet
    Application.ScreenUpdating = False
    Sheets("RECHERCHE").Cells(4, 1).CurrentRegion.Offset(1).Clear
    For Each ws In Worksheets
        If Not ws Is Sheets("RECHERCHE") Then
            With ws.Cells(1).CurrentRegion
                ws.AutoFilterMode = False
                .AutoFilter 4, Sheets("RECHERCHE").Range("a2").Value
                If ws.Evaluate("subtotal(3,a1:a" & .Rows.Count & ")") > 1 Then
                    .Offset(1).Resize(.Rows.Count - 1).Copy _
                            Sheets("RECHERCHE").Range("a" & Rows.Count).End(xlUp)(2)
                End If
                .AutoFilter
            End With
        End If
    Next
    Application.ScreenUpdating = True
End Sub
Bonne année à tous ;)

klin89
 
Dernière édition:

BAUVINEAU Muriel

XLDnaute Nouveau
un essai, au changement du critère la macro se déclenche.
tu peux ajouter des lignes sur tes feuilles "HALL"
Bonjour Cath,
Désolée pour la réponse tardive mais j'ai un gros souci de pc + le boulot, les vacances.... bref je me remets sur ce cas et là je découvre ta solution qui est parfaite ! Je ne suis pas experte en code VBA donc je vais l'analyser tranquillement.
Merci de ton aide et bonne journée à toi.
 

Discussions similaires

Réponses
12
Affichages
287

Membres actuellement en ligne

Statistiques des forums

Discussions
312 086
Messages
2 085 197
Membres
102 814
dernier inscrit
JLGalley