Macro VBA Excel 365 pour Mac publipostage avec modèle Word

Anonyme
2022-02-11T15:53:01+00:00

Bonjour,

J'ai écris une macro avec Excel 2016 sous Windows pour réaliser un publipostage avec des modèles Word.

Elle fonctionne bien par contre elle ne fonctionne pas sur office 365 pour Mac

Quelqu'un aurait il une macro sur office 365 pour Mac qui fonctionnerait

Merci

Microsoft 365 et Office | Excel | Other | MacOS

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

4 réponses

  1. Anonyme
    2022-02-14T08:45:21+00:00

    Oui. OK, je pensais que c'était le dossier Documents qui se trouve à la racine du compte. Je comprends évidemment tout de suite mieux ! 😉

    En effet, il n'y a pas de macro toute faite correspondant à ce que tu cherches sur le site de Ron de Bruin. Mais il y a beaucoup d'explications sur les méthodes qu'il a dû mettre au point pour faire fonctionner des macros "pointues" sur Mac. En particulier les appels à la fonction AppleScriptTask qui devrait te permettre de faire le publipostage avec Word.

    Pour des pistes concernant l'écriture de la partie Applescript, tu pourras te référer au guide qu'avait écrit Paul Berkowitz lors de la sortie d'Office 2008, version dans laquelle le VBA était absent. Certes, c'est un peu daté, mais tu devrais trouver des pistes. On le trouve sur le site de la revue MacTech qui l'avait publié à l'époque (**lien vers la section Word**). Par exemple, voici ce qu'il y proposait pour la création d'un document à partir d'un modèle :

    tell application "Microsoft Word"

         set newDoc to make new document

         set attached template of newDoc to "Mac HD:Applications:" & ¬

         "Microsoft Office 2004:My Templates:Test Template.dot"

         get name of attached template of newDoc

    end tell

    Le chemin d'accès aux modèles ne correspond plus à ce qu'on utilise actuellement, mais c'est l'idée...

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2022-02-14T08:27:54+00:00

    Merci pour ta réponse

    Je vais essayer la compilation conditionnelle.

    Concernant la commande position, dans le chemin il y a un premier répertoire Documents au 24e caractère. Et comme les modèles se trouvent au dernier répertoire Documents, je démarre à partir de 30.

    Concernant le publipostage avec Office 365 pour Mac je n'ai pas trouvé de macro sur le site de Ron de Bruin

    Je suis toujours à la recherche d'une solution

    Merci de m'aider

    Cordialement

    Jean DOUSSE

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2022-02-13T07:28:50+00:00

    Fichiers bien reçus. Quelques observations :

    Dans VBA, il y a une variable qui te serait probablement bien utile : Application.PathSeparator Pour définir ta variable Spr, une ligne suffirait.

    Ceci dit, pour une partie de l’utilisation que tu en fais, tu peux aussi te pencher sur la compilation conditionnelle :

    #If Mac Then

    #Else

    #End If

    Voir les précisions sur cette page.

    Je ne comprends pas ta commande position = InStr(30, Chemin, Spr & "Documents" & Spr) : pourquoi commencer la recherche à partir de 30 (du coup, chez moi position = 0, car ça devrait être 26) ?

    Pour créer à coup sûr un chemin d'accès aux documents du compte utilisateur courant, tu peux obtenir le nom abrégé du compte avec la variable Interaction.Environ("USER")

    Le lancement de Word via le Terminal (fonction Shell) ne peut pas se faire car il bute sur les protections de macOS :

    Tu devrais voir pour ce genre de manips les solutions proposées par Ron de Bruin (voir le lien dans le message précédent).

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2022-02-11T16:16:17+00:00

    Il faudrait donner plus de précisions sur le contexte. En particulier ce que tu cherches précisément à faire comme publipostage (rôles respectifs d'Excel et de Word, par exemple). Peut-être peut-on adapter la macro existante, mais alors il faudrait que tu indiques ce qui ne fonctionne pas exactement, ce qui "coince". Au besoin, tu peux m'envoyer un classeur modèle (tu trouveras comment me joindre au bas de **cette page**).

    Tu peux éventuellement trouver de l'inspiration sur les pages de Ron de Bruin...

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire