Microsoft 365 Comment créer un dossier avec accents ?

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 !

Stf34

XLDnaute Nouveau
Bonjour.

J'ai trouvé ici toutes les ressources nécessaires pour mon projet.
Malheureusement je n'ai pas encore trouvé la solution à un souci très simple mais très contrariant :

J'utilise MkDir pour créer des dossiers dont le nom sera déterminé par des cellules.
Dès qu'une valeur de cellule comporte un accent il y a 2 cas possibles :

1/ ça retourne une erreur et le dossier n'est pas créé.
par exemple été retourne 76Chemin d'accès introuvable

2/ les accents sont remplacés par des traits et le dossier est créé avec un nom incorrect
par exemple Trần Phương devient Tr_n Ph__ng

Il est techniquement possible de transformer un texte avec accent vers un texte sans accent
mais je dois absolument garder les accents (il s'agit de noms de personnes, issues de différentes nationalités)

Précision qui a son importance : lorsque je crée un dossier directement sur l'ordinateur avec Trần Phương c'est accepté.
Je suis sur Mac, je n'ai pas la possibilité de tester sur PC.

Existe-t-il une autre méthode pour obtenir un résultat correct ?

Ci-joint un fichier d'exemple

Merci pour votre aide.
 

Pièces jointes

Bonjour,
J'ai récemment découvert ce type de problème.
Ce nom "Trần Phương" que tu utilises contient des caractères Unicode.

Pour t'en convaincre copie le dans un fichier Texte et essaie de l'enregistrer:
1613676984671.png


Les MkDir() et autres Dir() ne savent pas traiter ces caractères dans les noms de répertoires ou de fichiers.
De plus dans l'éditeur VBA tu ne pourras pas placer ces caractères dans un String.

Il faut donc passer par FSO. Et si un tel nom doit être utilisé, il peut être placé dans une cellule qui l'acceptera.

Donc en A1 j'ai placé "Trần Phương"

1613677215392.png


Et dans le code, pour créer le répertoire ou y accéder:
VB:
Sub a()
    Dim oFSO As Object
    Dim oFolder As Object

    'Set objet File system Object
    Set oFSO = CreateObject("Scripting.FileSystemObject")

    'Créer le répertoire
    oFSO.CreateFolder ("F:\TEMP\" & [A1].Value)

    'Accéder au répertoire
    Set oFolder = oFSO.GetFolder("F:\TEMP\" & [A1].Value)
End Sub

Voir la description Microsoft de File System Object ici: https://docs.microsoft.com/fr-fr/of...e/user-interface-help/filesystemobject-object
 
Comme je l'ai précisé sur mon premier post, je suis sur Mac et cette méthode ne fonctionne que sur Windows (mais je n'ai pas pu tester)

Existe-t-il une méthode universelle ?

J'ai mis à jour le fichier d'exemple avec le code partiel de mon projet dont la finalité est d'exporter une plage de cellules en pdf (un relevé de notes) dans un dossier qui porte le nom de l'élève, dans le dossier de la classe.

J'ai intégré le code fourni ci-dessus pour la création des dossiers.

L'exportation du pdf fonctionne très bien si les dossiers existent déjà, même avec des accents exotiques.
 

Pièces jointes

- 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

Discussions similaires

Réponses
4
Affichages
685
Retour