Bonjour à tous,

Après plusieurs jour de recherches j'ai élaboré un code applescript (en fouinant sur le net à droite à gauche) que j'ai intégré via la fonction MacScript de Excel 2011
pour pallier à un manque d'Excel sur la fonction GetOpenFilename.
Cette recherche fais suite à un post auquel j'ai répondu (ICI), et j'aimerai finalisé cette fonction pour moi et MacUser
voulant utilisé un GetOpenfilename en MacScript permettant le choix des différentes options manquante dans Excel

Le résultat dans l'éditeur de script est correct lorsque je récupère le chemin du fichier (chemin pouvant contenir des caractères accentués)
Cependant lorsque je l'utilise dans Excel via la fonction MacScript les caractères accentués se transforme par exemple en :
à => a_
é => e_
etc …

PS : je n'ai pas encore regarder ce qu'il en était avec les caractères spécifiques du style "#, @ …" ou autres

Voilà le code pour Excel (on reconnait facilement l'AppleScript) :
Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub ChoixDeFichiers() 'RyuAutodidacte 08/02/17 - GetOpenFilename à ma sauce pour Mac
    If Application.OperatingSystem Like "*Macintosh*" Then
        On Error Resume Next
        MainPath = MacScript("choose file with prompt  ""Sélectionner un ou plusieurs fichiers:"" of type {""xls"",""pdf"",""xlsm""} with multiple selections allowed default location alias ""Macintosh HD:Users:TOTO:Desktop:DoublonsOK2""")
        'Pour la partie => {""xls"",""pdf"",""xlsm""} mettre les extensions voulues, entourées de doubles guillemets et séparées par une virgule
        'Si on veut tous les fichiers mettre alors la double accolade comme suit => {}
        'Si on veut ne sélectionner qu'un fichier alors retirer => with multiple selections allowed
        'Pour sélectionner un répertoire par défaut => default location (path to desktop folder) - par exemple on peut mettre "Documents" …
        'ou default location alias ""Mettre le chemin ici"" => Ex : default location alias ""Macintosh HD:Users:UserName:Desktop:MonDossier""
        If Err.Number > 0 Then MsgBox "Sélection annulée": Exit Sub
        On Error GoTo 0
        Paths = Split(Replace(MainPath, "alias ", ""), ", ") 'on récupère le tout dans un tableau de base 0 que l'on peut alors traiter
        For i = LBound(Paths) To UBound(Paths)
            MsgBox Paths(i)
        Next
    Else
        MsgBox "Mettre le code PC ici"
    End If
End Sub

Le code en AppleScript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
choose file with prompt "Sélectionner un ou plusieurs fichiers:" of type {"xls", "pdf", "xlsm"} default location alias "Macintosh HD:Users:TOTO:Desktop:DoublonsOK2:" with multiple selections allowed
je viens de m'apercevoir que le with multiple selections allowed il le met à la fin contrairement à mon code dans Excel, c'est un détail …

Comment faire dans AppleScript, pour ne plus avoir le problème des caractères accentués lors de la récupération de la variable dans Excel svp ? (voir d'autres caractères auxquels je n'aurais pas pensé)

Ryu

Edit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"Macintosh HD:Users:TOTO:Desktop:DoublonsOK2:"
est un chemin bateau et celui-ci pas de problème, mais si on sélectionne un fichier dont le chemin contient des espaces et caractères accentués (Noms de dossiers ou de fichier), là ce n'est pas OK
Peut être faut il passer les alias en String pour les récupérer correctement ?? un indice ?

Edit 2 : j'ai réussi à passer le résultat en string mais le problème est toujours là.