Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Rapatrier des données de plusieurs fichiers dans un seul fichier et sous conditions

misere59

XLDnaute Nouveau
Bonjour à tous,

Nouveau sur ce forum, je m’adresse à vous pour m’aider à solutionner une problématique.

Mais auparavant, je pense qu’il est de bon ton de faire un état des lieux :

J’ai 36 ans et j’ai décidé de prendre un congé formation de 20 mois et de reprendre les études pour décrocher un diplôme d’ingénieur (et c’est dur, dur !!!).
Dans le cadre de mon stage de fin d’études, je suis amené à créer des indicateurs mensuels et de capitaliser ces informations dans un tableau de bord ; et bien sur de façon la plus automatique possible…

… et je me suis fracassé face un mur : créer des macros sous Excel 2007. Développeur est un métier et souvent un art que je n’ai pas.

Rentrons maintenant dans le vif du sujet :

Sur une périodicité mensuelle, je souhaiterai rapatrier certaines données contenu dans des fichiers Excel ayant la même structure dans un seul fichier qui ce nomme TdB.xlsm (en PJ).

J’ai imaginé la méthode comme suit :

1. Dans le fichier TdB.xlsm, j’ai créé un onglet " KPI_3_Accueil " ou je choisi le mois de mise à jour dans la cellule "C7" (exemple : juillet-12).

2. Avant, il faudra créer manuellement le répertoire de ce mois (ex : "1207_Synthèse_Affaires" pour le moins de juillet 2012) contenant tous les fichiers *.xls suivant le chemin défini ci-dessous :
O:\2-ICS France\DP_Contrats_PMO\Gestion_Risques\3_Traitement_Risques\1-Traitement_Fiches\"répertoire".

3. Ensuite, je lance la macro (appui sur le bouton "MAJ" qui est situé dans l’onglet "KPI_3_Données").

Et à partir de là, c’est le drame… car je suis bloqué…

L’objectif principal souhaité de cette macro :

Pour chaque fichier *.xls, cette macro doit seulement copier dans l’onglet "7 - Synthese des Risques" tous les lignes dont le type est "R" (colonne A, à partir de la ligne 16) et dont le "Statut" (colonne H, à partir de la ligne 16) est soit :
o Avéré
o Evité (externe)
o Evité (suite action)

En conclusion et pour cette étape, il faut copier que les données contenues dans les colonnes A, B, H et V, toujours en tenant compte de la condition ci-dessous (en exemple, dans le fichier "source" en pj, j’ai surligné en jaune ce qu’il faut rapatrier, attention j’ai filtré au niveau du statut).

Ensuite, la macro retourne dans l’onglet "KPI_3_Données" du fichier TdB.xlsm et colle toutes les données à partir de la ligne 4 dans le mois et l’année de référence. Et ainsi de suite pour chaque fichier (1 fichier = 1 projet).

Vous pouvez voir dans cet onglet un exemple du résultat voulu pour le mois de juillet (Attention, ici c’est pour un seul projet. Il y a plusieurs projets dans le mois et leur nombre est variable).

Voilà, pour la description de cette macro.

Au début pour la réaliser, j’étais parti d’une macro exemple (en pj) que ma tutrice de stage m’a donnée.
Mais je n’arrive pas à l’adapter selon mes besoins propres, de plus je n’ai pas le référentiel d’un développeur et je ne maitrise pas assez le VB.

Donc je m’adresse à toutes les personnes de bonne volonté pour m’aider.
J’espère avoir été le plus clair possible et reste dispo pour tous renseignements complémentaires.

… et d’avance merci
Seb
 

Pièces jointes

  • TdB.xls
    138 KB · Affichages: 53
  • source.xls
    202 KB · Affichages: 57
  • TdB.xls
    138 KB · Affichages: 53
  • source.xls
    202 KB · Affichages: 54
  • TdB.xls
    138 KB · Affichages: 53
  • source.xls
    202 KB · Affichages: 51
Dernière édition:

misere59

XLDnaute Nouveau
Re : Rapatrier des données de plusieurs fichiers dans un seul fichier et sous conditi

J'ai testé ta macro avec succès, merci
...ta philosophie est la bonne, il faut maintenant l'adapter précisément à mes besoins initiaux.

Maintenant il s'agit d'implémenter cette macro de test dans ton code initial.
Tu vois comment faire ou pas ?

Je ne vois pas, désolé
mais j'y travaille en ce moment
il faut que je vois ce que je peux supprimer dans cette macro
 

Staple1600

XLDnaute Barbatruc
Re : Rapatrier des données de plusieurs fichiers dans un seul fichier et sous conditi

Re

Je te repose la question posée ici
https://www.excel-downloads.com/thr...ns-un-seul-fichier-et-sous-conditions.189443/

Je vais essayé de trouver un peu de temps pour mixer ton code avec le mien.

EDITION: Il y a des bizarreries dans ton code
If ActiveWorkbook.Sheets(nom).Range("Type").Value = "R" Then
If ActiveWorkbook.Sheets(nom).Range("Statut").Value = "Identifié" Or ActiveWorkbook.Sheets(nom).Range("Statut").Value = "En cours" Then

Ces plages nommées n'existent pas dans le classeur source.xls
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…