Erreur - Workbooks.add Template

Bonjour,

Dans un outil d'ETL j'ouvre de nombreux fichiers afin d'y extraire les données. Jusque là pas de problème, j'en ai ouvert plus de 1200.

Aujourd'hui petit problème j'arrive pas à ouvrir un des fichiers.

En temps normal j'ouvre le fichier en ouvrant un template du fichier avec "Workbooks.add PathFile" afin de gagner du temps et ne pas modifier par mégarde les fichiers. Mais le problème persiste sur un fichier "Erreur d'exécution 1004 : Erreur définie par l'application ou par l'objet". Lorsque je le déplace dans un autre dossier il n'y a pas de problème, mais lorsque je le laisse à sa bonne place le problème recommence.

Je pense que le problème vient que le Path + FileName = 256 caractère mais je ne suis pas sûr comme normalement une string peut contenir bien plus de caractère.

Est-ce que vous pouvez me confirmer que le problème vient bien de là ? Et si oui comment je peux faire pour résoudre ce problème ?

Et si le problème vient pas de là, d'où peut venir ce problème ?

Merci d'avance de votre aide !!!

Bonjour tenders_vba

Tu nous dis :

En temps normal j'ouvre le fichier en ouvrant un template du fichier avec "Workbooks.add PathFile" afin de gagner du temps et ne pas modifier par mégarde les fichiers. Mais le problème persiste sur un fichier "Erreur d'exécution 1004 : Erreur définie par l'application ou par l'objet". Lorsque je le déplace dans un autre dossier il n'y a pas de problème, mais lorsque je le laisse à sa bonne place le problème recommence.

Je pense que le problème vient que le Path + FileName = 256 caractère mais je ne suis pas sûr comme normalement une string peut contenir bien plus de caractère.

Comment as-tu pu faire une arborescence de plus de 255 caractères, ce n'est normalement pas possible ?
Tu aurais dû avoir un message du style....

image

Est-ce que vous pouvez me confirmer que le problème vient bien de là ?

Oui ton problème vient de là

Et si oui comment je peux faire pour résoudre ce problème ?

Raccourcir ton arborescence

@+

Comment as-tu pu faire une arborescence de plus de 255 caractères, ce n'est normalement pas possible ?

Tu aurais dû avoir un message du style....

image

Si cela est possible. J'ai une arborescence prédéfinie qui structure l'ensemble de mes fichiers de donnés sur mon disque réseau. En d'autre termes, j'ai de nombreux dossiers dans d'autres dossiers, ainsi de suite. Ce n'est pas 1 nom de dossier qui est trop long, c'est une succession de dossier avec un dernier nom de fichier plutôt long.

Mon path fait 161 caractère et mon nom de fichier 98, ce qui fait 260 une fois concaténé, un exemple parmi mes 3 fichiers concernés.

Normalement c'est pas aussi long mais il existe des cas spécifiques où le chemin est long.

Raccourcir ton arborescence

L'arborescence suit une structure particulière et ne peut pas être modifié comme ça. Ce n'est pas moi qui dépose ces fichiers donc je ne peux pas leur dire de compter leur nombre de caractères pour pas que cela dépasse 254. Je cherche une solution afin de pas m'amuser à renommer chaque chemin trop long à la main.

Il existe pas une solution afin de contourner le problème ? Je peux trouver le fichier par un objet : "Scripting.FileSystemObject" ; Il y a pas une procédure afin de faire la même chose que le Workbooks.Add avec un FileSystemObject ?

Autrement je suis parti dans l'optique de pouvoir trouver un dossier avec un path comme :

C:\Documents\PRIVE\C'ESTU~1\LAASER~1\ONPEUT~1\DANSCH~1\DANSCH~1\NOUVEA~1.XLS

Mais comme mon path, que je remonte avec un FileSystemObject une première première fois avant avec un autre procédure, n'est pas définie avec les "~1", doit-je suivre une règle particulière pour les mettre ? Mes premiers test n'étaient pas concluant.

Rechercher des sujets similaires à "erreur workbooks add template"