Mac Office prend en charge VBA. Il l'a fait depuis que VBA a été introduit avec Excel 5 en 1994. Il y avait une version (Office 2008) qui n'avait pas VBA, mais elle est obsolète depuis des années.
L'iPhone utilise le système d'exploitation iOS. Microsoft affirme qu'il n'étendra pas la prise en charge de VBA à une plateforme qui n'en dispose pas actuellement. L'iPhone ne peut donc pas utiliser de code VBA.
Microsoft prend en charge les macros Office-js sur toutes les plateformes Office (Windows, Mac, iOS, Online et Android). Le langage est basé sur JavaScript, et a été étendu avec des objets, des méthodes et des propriétés appropriés pour chacune des apps Office.
Il n'existe pas de convertisseur/traducteur de VBA en code Office-js. Il n'existe pas non plus d'enregistreur de macros pour le code Office-js. En fait, le modèle objet d'Office-js est encore un travail en cours. La plupart des fonctionnalités sont présentes dans Excel, et Microsoft travaille sur les autres apps Office.
J'espère que vous êtes extrêmement motivé pour réécrire votre code VBA en Office-js. Il y a très peu de personnes qui écrivent du code Office-js, et le support technique n'est disponible que sur Stack Overflow (en utilisant le tag Office-js). Ce site est notoirement peu accueillant pour les débutants - assurez-vous donc de rechercher dans leur base de données de questions déjà répondues avant d'oser poser une nouvelle question.
Le code Office-js vit sur un serveur. Vous ne le stockez pas avec votre classeur ou votre document. Vous avez besoin de Visual Studio pour écrire le code. J'espère que vous êtes en très bons termes avec votre département informatique, car il pourrait facilement mettre le holà à vos efforts pour commencer à construire du code en Office-js.
Le code Office-js est loin d'être aussi lisible que le code VBA. Ne vous attendez pas à ce que vos pairs ou votre patron non programmeurs soient capables de comprendre ce que vous faites.
Le code Office-js est sensible à la casse, donc j'espère que vous n'êtes pas enclin à faire des fautes de frappe. Il est également asymétrique, vous devez donc tester si une étape précédente est terminée avant de vous lancer dans la suivante.
En somme, l'initiative Office-js semble être une solution à la recherche d'un problème. Malgré la poussée de l'initiative depuis 2012, très peu de personnes l'utilisent. Pour le reste d'entre nous, VBA vit et continuera d'être pris en charge jusqu'à ce que vous preniez votre retraite.