Résolu 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"

++
 

Fichiers joints

_Thierry

XLDnaute Barbatruc
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
 

Fichiers joints

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

++
 

Fichiers joints

Dernière édition:

_Thierry

XLDnaute Barbatruc
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:

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas