Fusionner plusieurs fichiers sur un nouveau classeur VBA

Delsaufa

XLDnaute Nouveau
Bonjour à tous,

Et merci d'avance à qui voudra m'aider, en VBA où je suis totalement novice.

Je souhaite créer un fichier qui contiendrait un tableau avec des lignes spécifiques de mes fichiers sources (fichier exemple ci-joint) :
Les fichiers sources se nomment tous "SUIVI FACTURATION ..." et ils se trouvent tous dans un fichier dont le lien est : "\\nas\commun\7° TRAVAUX 2020", cependant ils se trouvent ensuite dans des dossiers distincts : "\\nas\commun\7° TRAVAUX 2020\[Dossier des chantiers]\7° Facturation"

Dans les fichiers sources, je souhaite recopier les lignes C2 à C3 et D4 à D10 de l'onglet "C" (nom de l'onglet et places des cellules identiques pour tous les fichiers excel sources), en les transposant (C2, C3, D4 à D10 -> Colonne A à I), les cellules B2 à B10 étant les en-têtes. Un fichier source par ligne, réactualisé à l'ouverture du dossier ou avec un bouton, peu importe.
Le format de mes fichiers : ".xlsm"

++
 

Pièces jointes

  • SUIVI FACTURATION VILLELALO.xlsm
    10.8 KB · Affichages: 11

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Delsaufa , le Forum

Voici un algo par FSO, pour faire ce que tu souhaites. Il faut sauver ce classeur dans le répertoire racine qui contient les Sub-Folders.

Dans un premier temps fais une copie de test de tes Folder et sub-Folders, tu dois placer ce classeur dans le répertoire racine des SubFolders exemple :

C:\test\commun\Chantiers\Facturation\Analyses\
C:\test\commun\Chantiers\Traveaux\BlahBlah\
C:\test\commun\Chantiers\Toto\

Ce classeur se trouvera dans [Chantier].

Bonne découverte
@+Thierry
 

Pièces jointes

  • XLD_Delsaufa_Exemple_FSO_v01.xlsm
    20.4 KB · Affichages: 28

Delsaufa

XLDnaute Nouveau
Bonjour @_Thierry ,

Ton fichier réalise exactement ce que je cherchais à avoir.

Cependant en cliquant sur le bouton pour ajouter l'ensemble des données, le code m'a affiché une erreur au bout de quelques fichiers scannés :
Error.PNG


Et en cliquant ensuite sur débogage :
Error suite.PNG


Merci pour l'aide

++
 

Pièces jointes

  • Error.PNG
    Error.PNG
    24.9 KB · Affichages: 10
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Delsaufa , le Forum

Heureux de savoir que ça réalise exactement ce que tu souhaitais faire.
Ce n'est qu'une maquette, la gestion d'erreur resterait à développer...

L'erreur que tu montres est probablement dû à ce que le fichier est déjà ouvert, même si le message parle d'autre chose... (L'erreur 1004 est un peu un "fourre-tout")
(Vérifier quand même, si ce SUIVI FACTURATION xxxxx Lot 2.xlsm est bien existant et si il s'ouvre normalement...)
Est-ce que ces fichiers sont susceptibles d'être ouverts par d'autres utilisateurs au moment où tu exécuteras cet algo ?

Je verrai ce que je peux faire pour la gestion d'erreurs... Mais comme dans presque tous les programmes c'est le plus long et fastidieux à mettre en place si on le fait sérieusement...

Bien à toi, à vous
@+Thierry
 

Delsaufa

XLDnaute Nouveau
Re @_Thierry ,

Le fichier s'ouvre bien comme les autres suivi, rien de spécial à l'ouverture, format identique, le fichier n'était pas non plus en lecture seul.

Normalement oui, j'ai des fichiers avec "~$+[lenomdufichier]" quand quelqu'un utilise le fichier, mais ce n'est pas le cas ici.

Pour information : L'erreur apparait mais la ligne concernant ce fichier source apparait dans le fichier excel que vous m'avez créé, j'ai l'impression que c'est donc au moment de le refermer et de passer au fichier source suivant qu'il y a un problème.

J'ai aussi supprimé le fichier provoquant l'erreur de son dossier et retenté la formule, même souci, exactement la même erreur alors que le fichier n'est pas dans son dossier, la formule devrait normalement ne rien détecter ici.

EDIT 04/06/2020 :
L'erreur venait tout simplement d'un fichier caché, après l'avoir affiché et supprimé, la macro fonctionne parfaitement.

++
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 726
Messages
2 081 955
Membres
101 852
dernier inscrit
dthi16088