[réglé] [Problème] Renommer un fichier espace blanc

Jefekoi

XLDnaute Junior
Bonjour,

Pour renommer un fichier dans une macro voilà comment je fais :

Code:
FichierOriginal="url du fichier avec son nom et l'extension"
FichierCopie="url du fichier avec son futur nom et l'extension"
Name FichierOriginal As FichierCopie
Pour un fichier du style : monfichier.xlsx

ça fonctionne bien.

Par contre si j'ai un fichier du style

Mon fichier.xlsx

ça ne marche pas il me dit fichier introuvable à cause de l'espace blanc.


Malheureusement je ne peux pas renommer ses fichiers en dehors d'Excel cela me donnerais beaucoup trop de boulot .


Auriez-vous une solution à se problème ? j'ai cherché sur le Net et je ne trouve pas de réponse

Merci pour votre aide
 

job75

XLDnaute Barbatruc
Bonjour Jefekoi,
Par contre si j'ai un fichier du style

Mon fichier.xlsx

ça ne marche pas il me dit fichier introuvable à cause de l'espace blanc.
Le chemin d'accès était probablement erroné car les espaces dans les noms des fichiers n'ont aucune importance.

Téléchargez les fichiers joints dans le même répertoire (le bureau) et testez la macro :
Code:
Sub Renommer()
Dim FichierOriginal$, FichierCopie$
FichierOriginal = ThisWorkbook.Path & "\Mon fichier.xlsx"
FichierCopie = ThisWorkbook.Path & "\Mon beau fichier.xlsx"
Name FichierOriginal As FichierCopie
End Sub
A+
 

Fichiers joints

job75

XLDnaute Barbatruc
Re,

En cherchant sur vos autres discussions j'ai cru comprendre que vous êtes sur MAC.

Il est possible que sur MAC la commande Name/As nécessite qu'il n'y ait pas d'espace dans le nom du fichier.

Testez quand même comme indiqué au post précédent et dites-nous.

A+
 

job75

XLDnaute Barbatruc
Re,

Bon sur le web j'ai vu que pour les chemins d'accès MAC n'utilise pas "\" mais ":" ou "/" suivant les versions.

Alors le mieux est d'utiliser en VBA Application.PathSeparator, testez cette macro :
Code:
Sub Renommer()
Dim FichierOriginal$, FichierCopie$
FichierOriginal = ThisWorkbook.Path & Application.PathSeparator & "Mon fichier.xlsx"
FichierCopie = ThisWorkbook.Path & Application.PathSeparator & "Mon beau fichier.xlsx"
Name FichierOriginal As FichierCopie
End Sub
Fichier (2).

A+
 

Fichiers joints

Jefekoi

XLDnaute Junior
Superbe merci beaucoup Job75 ça marche dans la deuxième version, effectivement j'ai oublié de préciser que je suis sur MAC mais en même temps au boulot c'est sur PC donc les 2 versions me vont bien et cela aidera aussi les autres personnes qui recherchent sur le même problème :)

Encore Merci ;)
 

Discussions similaires


Haut Bas