Utiliser un chemin de fichier contenant un smiley

Bonjour à tous,

J'ai trouvé beaucoup de renseignements sur ce forum (merci !) et ailleurs pour réaliser mon projet en cours mais là je sèche même sur Google avec résultats en Anglais.

Il faudrait récupérer/utiliser le chemin Path d'un fichier qui est sur SharePoint et qui contient un smiley dans le chemin (mais quelle idée ! ).

J'ai déjà géré avec la fonction Environ(UserName) pour récupérer les identifiants de session propres à chacun.

Exemple de chemin :

C:\Users\Moi\Projet\Dossier Marketing 🎯\

Résultat dans l'éditeur VBA de Excel :

C:\Users\Moi\Projet\Dossier Marketing ??\

Quelqu'un a des idées à explorer ?

Merci.

Bonjour benjaubiat,

Une piste à suivre ...

https://www.slipstick.com/outlook/insert-emoji-vba/

Range("G2") = ChrW(&HD83D) & ChrW(&HDC7B)

ric

Merci. J'ai vu cet article.

Il semble traiter uniquement l'insertion d'un émoji dans une application tierce.

Je recherche plus à le manipuler dans le code VBA pour ensuite copier et coller des fichiers dans des sous-dossiers, prendre des fichiers dont le chemin comporte cet émoji pour mettre en PJ dans Outlook, etc.

Bonjour benjaubiat,

Depuis mon post précédent, j'ai effectué d'autres recherches et quelques tests ...

C'est un beau "gadget" que Microsoft a ajouté comme possibilité dans le nom des dossiers ...

Mais le langage VBA n'a malheureusement pas encore suivi ...

L'on peut à la rigueur créer des dossiers contenant quelques emoji (quand l'on trouve les chrW correspondants et il en faut 2 par emoji) ...

Il faudrait s'en référer directement à Microsoft afin qu'il bouge sur le sujet ...

À quand notre photo dans le nom d'un dossier pour indiquer notre répertoire ?.

ric

Bonjour à tous, voici un exemple, j'ai un dossier sur mon bureau qui s'appelle MonDossier

Sub test()
Dim x As String

x = ChrW(55357) & ChrW(56397)

ActiveWorkbook.SaveAs Filename:="C:\Users\Sequoyah\Desktop\MonDossier" & x & "\Test.xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, Password:=vbNullString, WriteResPassword:=vbNullString, _
    ReadOnlyRecommended:=False, CreateBackup:=False

End Sub

Bonjour Sequoyah, le fil, le forum,

@ Sequoyah ... désolé ... je n'ai pas réussi à reproduire ici ...

ric

Bonjour à tous,

@ric j'ai testé sur Windows 10 et Windows 11 et chez moi ça marche, le nom du dossier est MonDossier👍 (à copier et coller)

Sequoyah,

Je vais regarder cela prochainement.

Je n'ai pas d'ordinateur sous la main.

Est-ce que tu pourrais me dire à quels émojis correspondent les deux ChrW en mettant le rendu si ça ne te dérange pas ? Merci.

Bonjour benjaubiat,

mes deux ChrW correspondent à un seul emoji (thumbs up dont l'image est affichée dans mon message précédent )- Unicode U+1F44D qui en UTF-16 (decimal) devient 55357 56397

Le smiley dans ton chemin est Unicode Character 'DIRECT HIT' (U+1F3AF) qui en UTF-16 (decimal) devient 55356 57263
Voici un lien pour en savoir plus Unicode.org et ici www.fileformat.info pour les encodages

Bonjour le fil, le forum,

@ Sequoyah ... si l'on crée le dossier en "Copier/Coller" contenant emoji ... ça fonctionne ..

Mais impossible de créer des sous-dossiers en VBA ...

Si l'on crée la structure des sous-dossiers manuellement ... l'on peut écrire des fichiers ... dans ces sous-dossiers ...

C'est une première étape de dépannage ... à moins que tu aies d'autres formules magiques dans ta besace ...

A+

ric

Merci Sequoyah, je vais regarder ça !

Bonjour le fil, le forum

Voici un lien pour en savoir plus Unicode.org

Ah ben là ... je suis déçu ... le drapeau du Québec n'y est pas ... il va falloir que je porte plainte ...

ric

Bonsoir Benjaubiat, le Forum,

Ne pas oublier que vous pouvez changer aussi l'icône du dossier.

3

Le code VBA pour ajouter un répertoire supplémentaire.

Sub DossFich()
'Nécessite la référence Microsoft Scripting Runtime -> voir Outils de l'éditeur VBA
On Error GoTo ErrFich
Dim oFSO As Scripting.FileSystemObject
Dim oDrv As Drive
Dim oFld As Folder
Dim Emo As String
'Instanciation du FSO
Set oFSO = New Scripting.FileSystemObject
Emo = "Smiley" & ChrW(55357) & ChrW(56860)
'Création du répertoire
Set oFld = oFSO.CreateFolder("C:\Users\X_Cellus\Pictures\" & Emo)
Exit Sub
ErrFich:
Select Case Err.Number
Case 5: MsgBox "Disque inexistant"
Case 58: MsgBox "Dossier existant"
Case 76: MsgBox "Chemin incorrect"
Case Else: MsgBox "Erreur inconnue"
End Select
End Sub

A +

Bonjour à tous,

Merci Sequoyah, cela a résolu mon problème. J'ai pu aller chercher les pièces jointes que j'avais besoin de mettre dans l'email. Je vais pouvoir créer aussi des sous-dossiers maintenant.

Le smiley dans ton chemin est Unicode Character 'DIRECT HIT' (U+1F3AF) qui en UTF-16 (decimal) devient 55356 57263

Voici le résultat (simple au final) :

Public Sub macro_variables()
Public emoji_cible As String

emoji_cible = ChrW(55356) & ChrW(57263) 'correspond à l'emoji Unicode Character 'DIRECT HIT' (U+1F3AF)

cheminDossier = "C:\Users\" & Environ("UserName") & "\dossiersharepoint\TEST" & emoji_cible & "\"

End Sub

Bonne journée.

Rechercher des sujets similaires à "utiliser chemin fichier contenant smiley"