XL 2010 Filtrer données issues de plusieurs feuilles

Bahaoui

XLDnaute Nouveau
Bonjour les amis,
Je sollicite encore une fois votre aide pour solutionner un problème que je rencontre sur excel.
J'ai plusieurs feuilles excel identique.
Je souhaite regrouper les données issues de toutes ces feuilles en un seul tableau récapitulatif qui répondent à un critère ou par filtre
Pour être plus clair, j'ai joins un fichier avec dans la feuille RECAP le résultat souhaité.
Sur les feuilles 1, 2 et 3 des données organisées de la même façon.
Sur la feuille "RECAP" je souhaiterai extraire les données des feuilles 1, 2 et 3 qui répondent à la condition (en colonne D : "x")

J'ai pensé à la fonction import range afin de regrouper toutes ces données sur une même feuille et puis procéder à des tris ou filtre mais pour l'instant j'ai un souci à l'appliquer.

Un grand merci par avance pour votre aide
 

Pièces jointes

  • TEST.xlsx
    16 KB · Affichages: 8

WTF

XLDnaute Impliqué
Bonjour Bahaoui,

Je ne suis pas très doué en VBA. Tu peux essayer la macro suivante qui semble fonctionner sur ton fichier, même si je suis sûr qu'un plus grand expert pourra te faire mieux ...

VB:
Sub Bahaoui()
'
' Bahaoui Macro
'

'
    Sheets("S1").Select
    Range("B11").Select
    Selection.CurrentRegion.Select
    Selection.Copy
    Sheets("RECAP").Select
    Selection.End(xlUp).Select
    Selection.End(xlToLeft).Select
    ActiveSheet.Paste
    ActiveSheet.Next.Select
    Range("A3").Select
    Selection.CurrentRegion.Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveSheet.Previous.Select
    Range("A1").Select
    Selection.End(xlDown).Select
    Range("A19").Select
    ActiveSheet.Paste
    ActiveSheet.Next.Select
    ActiveSheet.Next.Select
    Selection.End(xlUp).Select
    Selection.CurrentRegion.Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveSheet.Previous.Select
    ActiveSheet.Previous.Select
    Selection.End(xlDown).Select
    Range("A30").Select
    ActiveSheet.Paste
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("D1").Select
    ActiveSheet.Range("$A$1:$D$45").AutoFilter Field:=4, Criteria1:="=Finalisé" _
        , Operator:=xlOr, Criteria2:="="
    Rows("6:6").Select
    Range("C6").Activate
    Range(Selection, Selection.End(xlDown)).Select
    Rows("6:192").Select
    Range("C6").Activate
    Selection.Delete Shift:=xlUp
    Range("C1").Select
    ActiveSheet.ShowAllData
    Selection.AutoFilter
End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Dans le fichier joint, après avoir renommer vos tableau T_Secteur1 à T_Secteur3 j'ai utilisé PowerQuery que vous pouvez télécharger ici:https://www.microsoft.com/fr-FR/download/details.aspx?id=39379

C'est simple, facile, indépendant des macros et permets beaucoup de choses.

[Edit] j'ai rajouté également une solution par macro comme demandé.

Cordialement
 

Pièces jointes

  • TEST.xlsm
    39.4 KB · Affichages: 8
Dernière édition:

Bahaoui

XLDnaute Nouveau
Un grand merci pour votre contribution.
En VBA ca a l'air de marcher.
Cependant, pour des raisons pratique, j'utilise un document partagé sur googlesheet et je ne suis pas très doué en macro.
Avez vous une idée si on peut utilisé des formules et avoir le même résultat ?
 

Discussions similaires

Réponses
37
Affichages
2 K

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 837
dernier inscrit
Ugo