Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Utiliser des noms de chemin très long (>260 car)

  • Initiateur de la discussion Initiateur de la discussion Guy_M
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Guy_M

XLDnaute Occasionnel
Bonjour,

J'ai toujours cru que la longueur d'un chemin de fichier sous Windows est très limitée (260 caractères). De temps en temps, Workbooks.Open me le rappelle durement (ça plante). En cherchant à gérer au mieux cette limite, je suis tombé sur une page où il y est expliqué que la longueur pouvait être de 32 767 (enfin presque) : Ce lien n'existe plus

Quelqu'un parmi vous sait-il comment dans VBA Excel utiliser cette caractéristique du système de fichier ? L'utilisez-vous régulièrement ?

Par avance, je vous remercie de vos réponses.

A bientôt
Guy
 
Re : Utiliser des noms de chemin très long (>260 car)

Bonjour.
Une piste à creuser: utiliser un ChDir, ou plusieurs successifs, et ne plus spécifier ce chemin courant dans les Workbooks.Open et autres. Ne pas oublier un ChDrive prélable si ce n'est plus l'unité courante.
Il y a aussi l'API:
VB:
Private Declare Function SetCurrentDirectory Lib "kernel32.dll" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
 
Dernière édition:
Re : Utiliser des noms de chemin très long (>260 car)

Bonjour,

Il faudrait donc créer une fonction open pour workbooks qui ressemblerait à ça :

Code:
'Attention brouillon de code présentant un concept, en pseudo VBA
methode MonOpen(NomFichier)
Morceaux= Split(NomFichier, "\")
    
    'boucle sur le tableau pour changer de répertoire
    chdrive(Morceaux(0)) 'Le premier morceau est le disque
    For i = 1 To UBound(Morceaux)-1
    	ChDIR(Morceaux(i))
    Next i
wokbooks.open(Morceaux( UBound(Morceaux)-1) 'Le dernier morceau est le nom du fichier

end methode

Pourquoi pas, mais n'est-ce pas un peu lourd alors qu'il semble que Windows a déjà tout prévu ?

Merci
Guy
 
Re : Utiliser des noms de chemin très long (>260 car)

Bonjour Guy, Bernard

Il faudrait voir dans quel cas, cela plante? Est-ce du au type de formatage (Fat32, NTFS..) ou est-ce une incohérence de VBA?

De plus est-ce que VBA trouve et affiche les longs noms de dossiers?

Sinon, il vaut mieux avoir des noms de chemins et de fichiers pas trop long 😱.

On a aussi des choses intéressantes en suivant un lien de ton lien ici:

Ce lien n'existe plus
 
Dernière édition:
Re : Utiliser des noms de chemin très long (>260 car)

Bonjour MJ13,

J'ai un système de fichier NTFS.

J'ai diminué la longueur des noms de fichiers avant de chercher une solution de gestion de ce problème donc je n'ai pas encore fait de tests précis sur les longueurs de nom de fichiers avec Workbooks.Open et VBA en général.

Merci
Guy
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…