Macro Excel sous Mac

Jean Jacques M

Membre confirmé
15 Novembre 2007
79
1
Bonjour.

Je dispose de Excel 2008 sous Mac.

Je souhaiterais mettre un bouton macro dans une feuille de calcul, qui, lorsqu'on appuie dessus, cela a pour résultat de m'envoyer sur mon mail, la dite feuille...

Suis-je assez clair?

Par exemple, si quelqu'un ne sait pas joindre un fichier avec son logiciel de mail, quel qu'il soit, il n'a qu'à appuyer sur le bouton macro de la feuille et ... pfffttt... cela s'expédie automatiquement!!

Et cela, que l'expéditeur travaille avec Mail, Outlook.....

J'ai beau chercher, je ne parviens pas à trouver.....

Une p'tit indication serait la bienvenue.

Merci.
 
Je souhaiterais mettre un bouton macro dans une feuille de calcul, qui, lorsqu'on appuie dessus, cela a pour résultat de m'envoyer sur mon mail, la dite feuille...
Une macro, ça ne risque pas d'être possible, dans la mesure où il n'y a pas de VBA dans Excel. Et donc pas de macros et pas non plus de possibilité d'affecter une commande à un bouton. C'est bien triste, mais c'est comme ça.

Par contre, il existe la possibilité d'envoyer un classeur en tant que pièce jointe (menu "Fichier" > "Envoyer vers" > "Destinatire du message (en tant que pièce jointe)...") et donc il est possible d'affecter (panneau de préférences système "Clavier et souris") un raccourci clavier à cette commande.

D'autres solutions sont évidemment possibles via AppleScript. Ce sera un peu plus compliqué si tu n'es pas familier du langage et ce sera aussi par raccourci clavier (ou par le menu AppleScript, mais pas de bouton, quoi).

Concernant Outlook que tu évoques, là c'est carrément mission impossible, puisqu'il n'existe pas de version d'Outlook pour Mac OS X. De toute façon, c'est le logiciel de messagerie par défaut qui sera sélectionné (donc Mail, Entourage, Thunderbird, Eudora,...)
 
Une macro, ça ne risque pas d'être possible:


J'ai VBA et real basic dans excel... il donc être possible de faire des macros VBA :rolleyes:
 
J'ai VBA et real basic dans excel... il donc être possible de faire des macros VBA
Tu as raison de le souligner, j'aurais pu être plus précis dans ma réponse : c'est dans Excel 2008 qu'il n'y a pas de VBA (mais Jean Jacques M précise bien qu'ils dispose de Excel 2008).

Dans les versions précédentes (et, comme l'a rappelé jm.desbonnez, la tienne doit nécessairement être une de ces versions) on a VBA et la possibilité de faire des macros et d'ajouter de boutons pour les déclencher, tout ça. En ce qui me concerne, c'est même la raison pour laquelle je continue à utiliser Excel 2004 (et que je ne suis pas près de le lâcher).

Normalement, dans la prochaine version d'Office on devrait voir le retour de VBA et Office 2008 n'aura été qu'une parenthèse, de ce point de vue...

Ils n'y sont plus dans Office 2008?
Oh que non !
 
Une macro est toujours possible dans Office pour Mac 2008 mais elle doit être écrite en AppleScript et plus en VBA.
Sous la suite 2004 on peut toujours utiliser le VBA.

PQ ?
MissCrosoft a décidé de virer le VBA de sa suite 2008 et d'y intégrer le AS pour avoir une meilleur intégration dans Mac OS.
En conséquence vous achetez Office 2008 pour avoir une parfaite intégration de vos travaux Office sous Windows et bardaf si vous avez un macro en VBA dedans ça marche pô !

Bref en conclusion puisque plus rien ne marche ... allez faire un tour du côté de OOo (gratuit génial mais moche) ou de iWork (payant mais nettement mieux intégré à Mac que OOo).
 
Une macro est toujours possible dans Office pour Mac 2008 mais elle doit être écrite en AppleScript et plus en VBA.
Sous la suite 2004 on peut toujours utiliser le VBA.

PQ ?
MissCrosoft a décidé de virer le VBA de sa suite 2008 et d'y intégrer le AS pour avoir une meilleur intégration dans Mac OS.
En conséquence vous achetez Office 2008 pour avoir une parfaite intégration de vos travaux Office sous Windows et bardaf si vous avez un macro en VBA dedans ça marche pô !

Bref en conclusion puisque plus rien ne marche ... allez faire un tour du côté de OOo (gratuit génial mais moche) ou de iWork (payant mais nettement mieux intégré à Mac que OOo).

Mais cela ne résout pas vraiment mon problème....

Est-ce que avec Iwork, on peut faire ce type de macro?
 
Une macro est toujours possible dans Office pour Mac 2008 mais elle doit être écrite en AppleScript et plus en VBA.
... mais cela ne permettra pas pour autant de l'affecter à un bouton dans la feuille Excel. Il sera par contre possible de déclencher l'AppleScript par un raccourci clavier mais dans ce cas c'est, a priori, plus simple de se contenter d'affecter un raccourci à la commande qui existe déjà pour envoyer le classeur en pièce jointe, comme décrit plus haut.

PQ ?
MissCrosoft a décidé de virer le VBA de sa suite 2008 et d'y intégrer le AS pour avoir une meilleur intégration dans Mac OS.
Pas du tout. AppleScript est intégré (et très bien intégré) à Office depuis très longtemps et continue à bien fonctionner. Mais les raisons de l'abandon de VBA n'ont rien à voir avec ça. Cela a déjà été décrit à de nombreuses reprises : lors du lancement de la version 2007 pour Windows, Microsoft avait décidé d'abandonner purement et simplement le Visual Basic, pour ne plus être accusé de fournir une usine à virus clé en mains. Décision qui s'appliquait de fait à la version Mac, bien entendu. Mais lors de la sortie de la version beta publique d'Office 2007 le tollé chez les utilisateurs (particulièrement les pros) a été tel que MS a fait machine arrière en catastrophe et ré-implémenté VBA.

Pour la version Mac, il était trop tard dans la mesure où d'une part les développeurs étaient déjà aux prises avec la décision soudaine d'Apple de passer aux processeurs Intel et donc l'obligation de réécrire entièrement une bonne partie du code, ajouté à l'adaptation des nouveaux formats (y compris des outils graphiques) ; d'autre part, je suppose que, vu l'urgence, les éventuels spécialistes de VBA de la MacBU devaient être mobilités pour travailler à la partie Windows, donc pas à s'occuper de la version Mac (et en ne perdant pas de vue que, jusqu'à une date récente, MS voyait les utilisateurs des versions Mac comme des créatifs et indépendants, voire des étudiants, mais pas du tout des professionnels dans des réseaux d'entreprise).

Bref, il n'était plus matériellement possible de remettre le VBA (dont l'adaptation aurait aussi demandé pas mal de travail d'adaptation sur la plateforme Intel) dans la version 2008. Mais le retour du VBA "dans la "prochaine version" a été annoncé quelques semaines après la sortie d'Office 2008. Ce qui en dit long sur l'importance de la chose, dans la mesure où les éditeurs n'aiment pas trop annoncer les améliorations qui seront apportées à la prochaine version au moment où ils mettent l'actuelle sur le marché, en soulignant les défauts ;)

Mais cela ne résout pas vraiment mon problème....
Est-ce que avec Iwork, on peut faire ce type de macro ?
Avec Numbers (qui est un "équivalent" modeste d'Excel) on peut aussi faire de l'AppleScript (mais il est moins complet qu'Excel de ce point de vue, eh oui) ou de l'Automator. Autrement dit on peut faire à peu près la même chose qu'avec Excel 2008 (et donc pas non plus de déclenchement par un bouton dans la feuille)... :(
note : pour l'essentiel, si Numbers propose des options intéressantes question mise en page, ça reste un outil bien en retrait par rapport à Excel en ce qui concerne les fonctions "musclées"

Comme dit plus haut, tant qu'il s'agit de l'envoi en PJ, le plus simple et de loin, c'est d'affecter un raccourci clavier à la commande du menu "Fichier" > "Envoyer vers" > "Destinataire du message (en tant que pièce jointe)..."
 
Avec Numbers (qui est un "équivalent" modeste d'Excel) on peut aussi faire de l'AppleScript (mais il est moins complet qu'Excel de ce point de vue, eh oui) ou de l'Automator. Autrement dit on peut faire à peu près la même chose qu'avec Excel 2008 (et donc pas non plus de déclenchement par un bouton dans la feuille)... :(

Et encore … À condition de disposer de Numbers 2 (iWorks 09), parce que dans Numbers 1 (iWorks 08), Applescript n'était pas implémenté … Et comme "pas d'Applescript => pas d'Automator" … :siffle:
 
Bon, bon...

Ravi d'avoir pu alimenter un tel débat.

Mais, juste comme cela, vous n'auriez pas un petit exemple à me proposer?

Histoire que je tente tout de même de résoudre mon problème?
;)
 
.../... juste comme cela, vous n'auriez pas un petit exemple à me proposer ? Histoire que je tente tout de même de résoudre mon problème ?
Oui, bien sûr, mais quel problème exactement ?

- Mettre un bouton dans une feuille Excel ? Pas possible avec Excel 2008 - ni avec Numbers. Ce l'était par contre avec Excel 2004 (et précédents) avec une macro (incluant une boucle AppleScript) comme ceci :

Sub EnRoute()
' Pour envoyer le classeur actif en PJ au destinataire en A1
' avec l'objet du message en A2 (on peut rajouter "content" ou "sender"
' et personnaliser selon les besoins, évidemment...)
Dim Str As String, temp As String
ActiveWorkbook.Save
LeDestinataire = Range("A1").Text
MonObjet = Range("A2").Text
MonClasseur = ActiveWorkbook.FullName
Str = "tell application ""Microsoft Entourage""" & vbCr _
& "make new outgoing message with properties" _
& "{recipient:""" & LeDestinataire & """,subject:""" _
& MonObjet & """,attachment:""" & MonClasseur & """}" _
& vbCr & "move the result to out box folder" & vbCr & "end tell"
temp = MacScript(Str)
End Sub

- Envoyer simplement un classeur en PJ ? L'option existe dans le menu "Fichier" et il suffit d'aller dans le panneau de préférences système "Clavier et souris" pour créer un raccourci clavier.

- Autre chose ?
 
Ben non....

Merci et.... snif, alors!

de toutes les façons je ne sais même pas où se tapent les Applescript et comment les introduire dans une feuille!

A moins que..... si j'ai bien compris, on ne peut même pas les incorporer à une feuille excel, c'est ça?

Bon, alors question subsidiaire, quel programme utiliser pour envoyer un questionnaire a des amis et que celui-ci me soit automatiquement renvoyé?

MERCI pour tout, en tous cas!!:up:
 
si j'ai bien compris, on ne peut même pas les incorporer à une feuille excel, c'est ça ?
Dans Excel 2008, en effet, on ne peut pas "intégrer dans une feuille Excel" de macros (on va faire simple, parce qu'on peut toujours faire des macros XLM4 mais bon).

question subsidiaire, quel programme utiliser pour envoyer un questionnaire a des amis et que celui-ci me soit automatiquement renvoyé ?
Tu héberges un formulaire dans une page perso en HTML chez ton hébergeur préféré et tu envoies le lien à tes correspondants.
 
Désolé pour la réponse tardive.

Pour une fois que j'ai peut etre une solution (simple en plus) j'en profite.
Personnellement, je nutilise jamais vba, vu que je n'y connais pas grand chose.

J'ai créer une app toute simple avec automator qui envoi automatiquement mon rapport journalier au différentes personnes concernées. et tout ça en un clic.

Voici un bref descriptif du processus:
  1. Obtenir élément du finder indiqué
  2. Copier des éléments du finder (pas nécessaire juste une mesure de sécurité)
  3. Demander une confirmation
  4. Ajouter la date ou l'heure (pas nécessaire non plus)
  5. Nouveau Message mail
  6. Envoyer les messages de la boîte d'envoie

Le seul problème avec ceci, c'est que le fichier doit toujours avoir le même nom.
 
Oui, en effet la réponse est trop tardive, j'ai dû passer à un autre système, car toutes les «*macros*» auraient dû être différentes selon tous les types de systèmes sur lesquels j'envoyais ma feuille.
J'ai donc fait autrement.
Merci tout de même.:)
 
Oui, en effet la réponse est trop tardive, j'ai dû passer à un autre système, car toutes les «*macros*» auraient dû être différentes selon tous les types de systèmes sur lesquels j'envoyais ma feuille.
J'ai donc fait autrement.
Merci tout de même.:)

Non non ! il y a une méthode pour écrire une macro qui fonctionne aussi bien sous Windows que sous Mac OS, ça consiste à tester, pour tout ce qui est spécifiquement différent d'une plate forme à l'autre sur quelle plate-forme l'exécution à lieu, ça peut se présenter comme ça, par exemple :

code valanle sous toutes plates formes
…
'arrivée d'une partie spécifique
if win32 then
code applicable sous Windows 9x ou NT (2000, XP …)
else if mac then
code applicable sous Mac
else if win16 then
code applicable sous Windows 3.x
else
routine de gestion d'erreur : plate forme inconnue
end if
reprise du code commun toutes plates formes
…

Win16, win32 et mac sont des constantes Visual basic booléennes, que tu peux tester directement.
 
Hélas,

Je crains de ne pas être assez calé pour arriver à mes fins.
J'essaierai peut-être une autre fois, car là, je n'ai plus d'exemples à faire.
Comme cela date de l'an dernier, tous mes fichiers m'ont été renvoyés.

Merci encore