VBA Somme.SI des fichiers récursifs dans plusieurs dossiers

Bonjour,

J'ai plusieurs dossiers et de données à traiter, par exemple un dossier contenant des sous dossiers de type "Sous dossier aammjj" contenant plusieurs fichiers dont un fichier qui m'intéresse "fichier aammjj".txt

Sachant que aammjj signifie la date de type 161105 pour la date d'aujourd'hui.

Dans ces fichiers, on a:

  • Dans la colonne A: l'heure
  • Dans la colonne B: les critères
  • Dans la colonne X: des valeurs

Dans un fichier "TOTAL", j'ai

  • Dans la colonne A: la date de type "aammjj" ou "jjmmaa" je tire pour avoir les dates journaliers
  • Dans la colonne B: je souhaite avoir une somme.si des "fichier aammjj".txt

Actuellement, sur la colonne B1 par exemple, j'écris juste une formule de type "SOMME.SI(...Chemin/DOSSIER/Sous dossier aammjj/fichier aammjj.txt!A;critère;plagesomme)

Sur B2, la formule reste identifque sauf c'est juste les "Sous dossier aammjj" et "fichier aammjj".txt qui change suivant la date.

Avez une solution pour étirer tous ces calculs de B1 à BX ?

Merci d'avance

Bonjour,

Tu pourrais avoir quelque chose du genre :

=SOMME.SI(INDIRECT("...Chemin/DOSSIER/Sous dossier " & A1 & "/fichier " & A1 & ".txt!A");critère;plagesomme)

Pas sûr que ce soit du .txt, et peut-être utiliser A:A comme référence plutôt que A seulement.

Bonjour,

Je n'ai pas très bien compris ta formule:

=SOMME.SI(INDIRECT("...Chemin/DOSSIER/Sous dossier " & A1 & "/fichier " & A1 & ".txt!A");critère;plagesomme)

Cela n'a pas marché avec ce code, j'ai remplacé A1 par A4 qui correspond à la date de la colonne et c'est marqué "REF"

INDIRECT permet d'écrire une référence avec des chaînes de caractères et des variables.

Si tu saisis l'adresse d'un fichier normalement, tu obtiens bien ce que tu veux ?

Oui, j'écris la formule sans INDIRECT cela marche mais je dans écrire par exemple

SOMME.SI(/Chemin/Dossier/Fichier...A1:A500;critère; /Chemin/Dossier/Fichier...B1:B500) ce qui est long.

Avec la fonction INDIRECT, je n'arrive pas du tout, j'ignore s'il faut que je réécrive ou non dans "...Chemin/DOSSIER/Sous dossier " & A1 & "/fichier " & A1 & ".txt!A"); Critère; "...Chemin/DOSSIER/Sous dossier " & A1 & "/fichier " & A1 & ".txt!A") = plage somme

Car dans plage somme, si j'écris juste B1:B500, ce sera le B1:B500 de mon fichier actuel et non le fichier voulu.

Pour faire simple, pourriez vous m'aider d'abord à simplement afficher des valeurs avec la fonction INDIRECT ?

C'est à dire dans le fichier 2, avec A1 la date AAMMJJ, et B1 la valeur affichier de mon fichier 1: (/Dossier/Sousdossier/AAMMJJ/FichierAAMMJJ) et de la case C1 par exemple.

J’essaierai de mettre la fonction rechercheV plus tard, mais j'essaie de comprendre la fonction indirect.

Merci d'avance

Rechercher des sujets similaires à "vba somme fichiers recursifs dossiers"