Filtres Multi fichiers XLS

Bonjour à tous,

J’aurai besoin de votre aide pour savoir si il existe un moyen de type macro, qui me permettrai à partir d’un fichier Excel, de ‘scruter’ plusieurs autres fichiers Excel dont la structure est identique.

Cela dans le but de créer une sorte de filtre.

Pour vous donner le maximum d’info, j’ai un fichier par jour qui est créé depuis le 1er janvier 2014. A ce jour j’en ai donc près de 160.

Le fichier joint comme exemple, correspond exactement à mon fichier journalier, la colonne I regroupe divers accidents.

Je souhaiterai dans la feuille « Filtre Multi XLS » faire apparaître tous les termes qui ont pu être renseigné depuis le 1er janvier.

Cela me permettant ainsi de faire apparaître à partir du 1er janvier, par exemple tous accidents « malaise ».

A savoir que chaque fichier Excel est nommé AP-01.01.2014.xls

le 1er 01 correspond au mois, et le second 01 au jour.

Ce qui donne par exemple le fichier 12 février AP-02.12.2014.xls , pour le fichier du 29 mars AP-03.29.2014.xls

Et que l'ensemble de ces fichiers se trouve dans un dossier nommé AP-2014.

Je vous remercie de votre aide.

Cordialement,

Ps : si cette fonction filtre peut également être intégrée à chaque colonne

Bonjour

Tu voudrais mettre bout à bout sur un même tableau les données de tous tes fichiers journaliers depuis le 1er janvier afin de pouvoir filtrer à ta guise …

Est-ce bien cela ?

A te relire.

Bonjour,

Merci pour votre réponse.

Regrouper toutes les info depuis le 1er janvier, peut-être pas. Cela dépend de ce qu'Excel peut faire.

Sachant que chaque jour un nouveau fichier sera à prendre en compte, demain, après demain et ainsi de suite ( jusqu'a ce que je change de métier

Mon idée était de partir d'une feuille Excel avec uniquement la rangé comme dans « Filtre Multi XLS », de sélectionner par la fonction filtre, le type d'accident désiré, et que cela me sorte tous les accidents du 1er janvier au jour ou je lance cette requête.

On peut imaginer que le 30 août je possède tous les fichiers du 1er jan au 29 août et que la requête me sorte ainsi tous les accidents par exemple "malaise" du 1er au 29 août.

Sachant qu'il faudrait dans un premier temps, et peut-être en arrière plan, lors du lancement de la feuille Excel que la macro (si macro) scrute tous les fichiers et récence tous les termes différents.

Car dans tous les fichiers que l'on m'a demandé à analyser et par rapport à l'exemple que j'ai fourni il n'y a certainement pas tout les types d'accidents et que moi même je ne connais pas car je n'ai pas ouvert les 160 fichiers !!

J'espère avoir pu vous donner un maximum d'explication.

Cordialement,

Bonjour,

J'ai trouvé ce post https://forum.excel-pratique.com/excel/recherche-donnees-dans-plusieurs-classeurs-et-onglets-t21464.html#p121931

qui à l'air de correspondre dans le fonctionnement à ce que je souhaite.

J'ai essayé d'utiliser le code et de le modifier toute la soirée mais malheureusement je ne suis pas assez calé en VBA cela n'a rien donné...

Cordialement,

Bonjour

Tu écris :

Sachant qu'il faudrait dans un premier temps, et peut-être en arrière plan, lors du lancement de la feuille Excel que la macro (si macro) scrute tous les fichiers et récence tous les termes différents.

Je ne vois pas comment ‘’scruter ‘’ tous les fichiers en arrière plan…

Mais je te propose quelque chose qui devrait peut-être te permettre d’arriver à tes fins.

A partir du fichier ci-joint qui doit être dans le même dossier que tous tes fichiers journaliers, tu récupères toutes les données de ces derniers.

J’ai pris modèle sur ton fichier modèle mais j’ai un peu modifié la structure pour les besoins de la cause, en particulier pour les titres. De plus, j’ai ajouté une colonne (A) pour pouvoir dater chaque événement.

Un bouton te permet à tout moment de faire la mise à jour. Si tu attends la fin de l’année pour la faire, ce sera un peu long car la macro va ouvrir chaque fichier journalier, copier et coller les données sur ce tableau puis le refermer. Et traiter ainsi 365 fichiers va prendre du temps.

Mais si tu le fais plus souvent, la macro ne fera que compléter le tableau avec les données des fichiers nouveaux.

Une fois que la mise à jour est faite, tu peux filtrer à loisirs n’importe quelle colonne.

Par ailleurs, sur la 2° feuille, je t’ai mis une autre macro qui te permettra de sortir la liste des types d’accidents tels qu’ils figurent sur la colonne J de la feuille ‘’Recap’’

Cela te convient-il ?

Bye !

20recap-2014.zip (23.10 Ko)

Bonjour GMB,

TOP !!!! 20s pour me récupérer la total ... j'adore !

Merci beaucoup pour ton aide.

Bien cordialement

Rebonjour GMB,

J'ai eu un bug sous Excel 2010 Mac ( photo ci-jointe) alors que à mon travail (Excel 2010 windows) je n'ai eu aucun problème ?

As tu déjà constaté cela?

Cordialement,

capture d ecran 2014 06 18 a 19 10 07

Hélas non !

Je ne vois pas pourquoi cela marche sur PC et pas sur MAC.

Mais si quelqu'un a une idée...

Désolé

Vraiment bizarre... Pardon c'est Excel 2011 que j'ai sur Mac contre 2010 en windows.

A tout hasard, regarde si dans le dossier où sont tous les fichiers, sur ton MAC il n'y en a pas un qui a une extension autre que :

.xls ,.xlsx .xlsm

Auquel cas, ce serait lui que ton MAC ne peut ouvrir ce qui provoque le bug...

Nan malheureusement tout est à l'identique. J'ai juste tout copier sur une clé usb et transférer l'intégralité sur mon disque.

Ca me dit toujours une fenêtre Débogage avec ce message "Erreur d'exécution "68" Périphérique non disponible.

et quand j'ouvre ça me donne la ligne jaune...

Bonjour GMB,

J’essaie pour apprendre le vba d'intégrer un bouton remise à zéro mais sans succès.

J'ai essayé avec cela:

Sub raz()

Range("A15:S15").Value = 0

Sheets("feuil1").Range("A15:S15").Value = 0

End Sub

Pourrais tu en intégrer un sur le fichier que tu m'as crée.

Merci à toi.

Cordialement,

PS: pas grave pour le fonctionnement sous mon Mac ça marche très bien à mon travail

Bonjour

Tu écris :

J'ai essayé avec cela:

Sub raz()

Range("A15:S15").Value = 0

Sheets("feuil1").Range("A15:S15").Value = 0

End Sub

Si je peux me permettre de te faire part de mes remarques :

La première ligne de code (après Sub raz() ) a pour effet de mettre un zéro dans toutes les cellules de la ligne 15, de la colonne A à la colonne S sur la feuille active. C’est-à-dire de remplacer tous les titres de ton talbleau par « 0 » !

La ligne suivante aurait le même effet sur la feuille « feuil1 ». Mais là, la macro va vraisemblablement bugger.

En effet, il faut que la macro trouve dans le classeur une feuille dont le nom soit exactement « feuil1 », en tenant compte des majuscules. Or, par défaut les feuilles créées par Excel ont une majuscule…

Je te propose le code suivant, un exemple parmi d’autres pour effacer ton tableau :

  Sub RAZ()
    Cells(15, "A").CurrentRegion.Offset(1, 0).Clear
  End Sub

Il est l’équivalent de ce que tu pourrais faire à la main dans la feuille de calcul.

  1. Tu pars de la cellule A15 : Click sur A1 ; en VBA :
    Cells(15, « A »)
  1. Tu sélectionnes la zone en cours : « Rechercher et sélectionner – Atteindre – Cellules – Zone en cours - OK » ; en VBA :
    Cells(15, "A").CurrentRegion
  1. Tu décales cette sélection (attention, pas les cellules mais bien la zone sélectionnée) d’une ligne vers le bas et zéro colonne, cela te permet de conserver les titres du tableau ; en VBA :
    Cells(15, "A").CurrentRegion.Offset(1, 0)
  1. Tu effaces tout : « Alt – e – f – t » ; en VBA :
    Cells(15, "A").CurrentRegion.Offset(1, 0).Clear

L’exercice corrigé est en pièce jointe.

Bye !

6recap.zip (21.01 Ko)

Merci pour cette leçon

Cordialement

Bonjour GMB,

Je souhaiterai un nouveau petit coup de main de ta part si cela était possible.

Je souhaite intégrer une fonction que j’ai découvert sur un autre post qui permettrait via une fenêtre de sélection, de cocher les différentes catégories souhaitées (celle qui se trouve justement dans la feuille Filtres multi XLS, et de créer automatiquement une feuille pour chaque catégories.

Dans le fichier Recap les feuilles « Chute » et « Malaise » ont été copiées manuellement.

Je te joins le fichier exemple avec la macro… que j’ai essayé d’intégrer dans le fichier sans succès… (quand tu cliques dans la colonne O cela fait apparaître la fameuse fenêtre).

Cordialement,

6pop-up.xlsm (25.45 Ko)

Bonjour

Un essai. Te convient-il ?

C'est parfait ! Merci Beaucoup.

Cordialement

PS j'ai trouvé ce vieux post qui parle du fameux problème erreur 68... c'est vraiment lié au Mac!!!... https://forum.excel-pratique.com/excel/separer-en-plusieurs-une-colonne-t34774-10.html

Rechercher des sujets similaires à "filtres multi fichiers xls"