1 votes

Extraction d'informations de plusieurs classeurs dans deux fichiers différents

J'espère qu'il existe un moyen de le faire. Je vais vous donner quelques informations pour voir si c'est possible.

Je travaille pour une entreprise de construction qui suit les travaux par numéros et chaque travail comporte une série de phases. Il y a deux dossiers qui contiennent les fichiers de séquence excel pour les travaux, "Séquence" pour les travaux actifs et "Ancienne séquence" pour les travaux terminés. Les fichiers Excel des travaux sont intitulés "1376-1", "1376-2", "1376-2", "1376" étant le numéro du travail et "1" la phase. Chaque projet individuel comporte une série de lots (maisons individuelles) pouvant aller de 1 à 10, voire plus. Il y a trois parties d'un projet que nous suivons pour l'expédition : EF, DM, HDW. Lorsqu'un lot est expédié, nous indiquons la date dans la colonne correspondante.

Ce que je veux faire, c'est suivre tous les lots qui ont été expédiés en HDW par le numéro de travail correspondant et avoir un total actif à jour. Par exemple, si je mets le numéro de travail 1376 dans la cellule A1, je veux que la cellule B1 compte tous les lots qui ont une date dans la colonne HDW des fichiers Excel qui portent le titre "1376" et qui se trouvent à la fois dans les dossiers "Séquence" et "Ancienne Séquence".

Nous en avons environ 100. La colonne 1 comportera donc une série de numéros d'emploi à suivre. Quelqu'un sait-il si c'est possible ?

2voto

Mike Points 165

Cela semble possible, mais ce sera difficile. Voici comment j'envisage le fonctionnement du code VBA :

Iterate through all job numbers in your main worksheet. For each one:

    Iterate through all .xlsx files in your Sequence folder. For each one:
        If the filename includes the job number:
            Iterate through all rows, add up the cells in the HDW column with a date. 
            Add that number to the current job number's row in your main worksheet.
        If the filename does not include the job number, skip it.

    Iterate through all .xlsx files in your Old-Sequence folder. For each one:
        If the filename includes the job number:
            Iterate through all rows, add up the cells in the HDW column with a date. 
            Add that number to the current job number's row in your main worksheet.
        If the filename does not include the job number, skip it.

Vous allez devoir trouver comment faire certaines choses...

  1. Obtenir une liste de tous les fichiers Excel dans un répertoire. Ceci pourrait vous aider.

  2. Détermine si une chaîne de caractères existe dans un nom de fichier. Ceci pourrait vous aider.

Il est également utile de savoir comment faire référence à plusieurs classeurs et comment gérer les boucles imbriquées. J'espère que cela vous mettra sur la bonne voie.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X