Code VBA Excel entre Windows et Mac

F4CRW

Membre enregistré
15 Mars 2010
7
0
Bonjour à tous,
Je suis sur Windows XP et je veux échanger pour notre association un fichier excel avec un ami qui lui est utilisateur Mac.
Mon problème est le suivant, j'ai une procédure qui marche très bien avec
excel 2003 sur Windows, mais qui bloque avec excel 2004 sur Mac.
Un de vous peut certainement me dépanner étant donné que je ne connais pas
le système Mac, voici dans la macro la commande qui n'est pas prise en
compte :
chemin = ActiveWorkbook.Path & "\"
ChDir chemin
j'esplique <ActiveWorkbook.Path & "\" > est l'adresse du dossier contenant le fichier.
<ChDir> veut dir sous Win change de dossier
<"\"> le signe ne devrait-il pas être "/" sur Mac

d'avance merci
F4CRW
 
Bonjour et bienvenue sur les forums de MacGénération !

j<ActiveWorkbook.Path & "\" > est l'adresse du dossier contenant le fichier.
<ChDir> veut dir sous Win change de dossier
<"\"> le signe ne devrait-il pas être "/" sur Mac
Ne te compliques pas la vie. Si c'est le seul problème que tu rencontres, utilise plutôt : ActiveWorkbook.Path & Application.PathSeparator Excel se débrouillera tout seul (il a justement été question de cette instruction dans un fil il y a quelques jours). Au passage, et pour être complet, dans le VBA, c'est ":" le séparateur sur Mac .

Après, il faut voir selon les instructions utilisées, c'est parfois plus pratique (et plus propre) d'écrire les macros en faisant appel à de la compilation conditionnelle. Ne perds pas de vue que dans les versions Mac, c'est le VBA 5 qui est utilisé (celui d'Excel 97) et avec certaines restrictions (fonctions faisant appel trop directement à Windows, les ActiveX, etc) et quelques bugs. Mais on arrive assez bien à s'en sortir avec un peu d'habitude (et certaines difficultés sont contournables avec de l'AppleScript).
 
Merci beaucoup Bernard, je faire une modif et l'envoyer au possesseur du Mac.
Comme il est question de récupérer l'emplacement du classeur actif pour y insérer une image qui se trouve dans le même dossier ça devrait aller
Merci pour vos conseils
 
Bonjour,
Pour information après essais sur Mac et sur Win votre réponse m'a permis de résoudre le problème.
Tout fonctionne très bien, merci encore à vous.:up:
Je vous souhaite de poursuivre avec succès ce que vous entreprenez .
F4CRW
 
Bonjour,
Je me permet de faire remonter ce topic car je me retrouve confronté à un problème relativement similaire...
J'ai une macro dans un Fichier Excel qui exporte le contenu d'une feuille en .xml
Je souhaite faire cet export non pas en local mais sur un disque réseau
je suis passé par


fname = "/user/username/Downloads/programme.xml"

Aucun pour le sortir en local mais dès que j'essaye de l'exporter sur un disque réseau, rien à faire ...

Dim fname As String
Dim fpath As String
fpath = "\\192.168.3.253\DIFFUSION:"
fname = "programme - " & Format(Date, "yyyy-mm-dd") & ".xml"

Est-ce que quelqu'un aurait déjà eu ce soucis ?

Merci d'avance pour votre aide
 
Faudrait que je teste, mais la logique pour l'accès au disque réseau serait plutôt de type /Volumes/DIFFUSION/ (note aussi que le séparateur n'est plus le signe : mais c'est / depuis Excel 2016). DIFFUSION étant le nom du dossier qui doit être monté au préalable. Pour vérifier le chemin, tu peux faire glisser dans une fenêtre du Terminal...

Mise à jour :
Bon, j'ai testé et je confirme ! ;)
 
Dernière édition:
Faudrait que je teste, mais la logique pour l'accès au disque réseau serait plutôt de type /Volumes/DIFFUSION/ (note aussi que le séparateur n'est plus le signe : mais c'est / depuis Excel 2016).
Merci pour ce retour :)

J'avais un peu travaillé dessus depuis ce matin et j'en suis là :

Sub export_XML()
Dim fname As String
Dim fpath As String
ChDir "//192.168.3.253/"
fpath = "/DIFFUSION"

fname = "programme - " & Format(Date, "yyyy-mm-dd") & ".xml"

Mais je n'ai pas plus de succès j'ai un "Chemin d'accès introuvable"
 
Mais je n'ai pas plus de succès j'ai un "Chemin d'accès introuvable"
Normal, tu n'as pas repris le chemin tel je te l'ai indiqué. Et tu n'as pas mis le slash après DIFFUSION. J'ai apporté quelques précisions entretemps. Chez moi, ça fonctionne sans souci...
 
Non, c'est l'indication qu'on fait référence à un dossier situé ailleurs que sur le disque de démarrage. Tu as déjà eu la curiosité de voir comment sont faits les chemins d'accès, par exemple en faisant glisser un dossier dans une fenêtre du Terminal ? La curiosité n'est pas toujours un vilain défaut. ;)

NB : la séquence C:\ c'est plutôt dans l'environnement Windows, qu'on trouve ça. :D
 
  • J’aime
Réactions: stephanemex
Non, c'est l'indication qu'on fait référence à un dossier situé ailleurs que sur le disque de démarrage. Tu as déjà eu la curiosité de voir comment sont faits les chemin d'accès, par exemple en faisant glisser un dossier dans une fenêtre du Terminal ? La curiosité n'est pas toujours un vilain défaut. ;)
Merci Infiniment !
Je n'avais jamais remarqué que /volumes étais défini sur Mac ...