Convertir des macros VBA en Apps Script
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Avant de commencer
Vous pouvez mettre à jour les API incompatibles dans votre code VBA avant de convertir vos fichiers. Pour les fichiers dont l'état est Pris en charge exactement, vous pouvez passer à l'étape 1 : Convertissez vos fichiers.
Modifier les API VBA incompatibles
Pour les fichiers dont l'état est Pris en charge avec une solution de contournement ou Nécessite une enquête, vous pouvez appliquer vos solutions de contournement et vos correctifs après la conversion dans Apps Script. Toutefois, nous vous recommandons de modifier d'abord le code VBA que vous connaissez, avant de convertir vos fichiers.
Pour chaque API marquée comme Prise en charge avec une solution de contournement ou Nécessite une enquête dans le rapport de compatibilité, nous vous recommandons de procéder comme suit :
- Si la fonction exécutée par l'API n'est pas essentielle au bon fonctionnement de votre macro VBA, supprimez-la de votre code VBA. Si c'est le cas, modifiez votre code pour implémenter un comportement similaire avec les API VBA compatibles.
- Pour les API dont l'état est Prise en charge avec une solution de contournement, si vous ne pouvez pas passer aux API VBA compatibles, laissez vos API VBA telles quelles. Après la conversion en Apps Script, une solution de contournement connue pour cette API est recommandée dans les commentaires du code Apps Script converti.
- Si le problème provient d'une construction de langage non implémentée, réécrivez votre code pour éviter d'utiliser ces constructions.
Pour les API dont l'état est Nécessite une enquête, vérifiez si votre code contient l'une des API suivantes :
Adodb.connection
CreateObject
: cette API est souvent utilisée pour se connecter à des logiciels de base de données et de planification des ressources d'entreprise.
Shell.execute
OleObject
Si c'est le cas, nous vous recommandons de ne pas convertir les fichiers auxquels ces API appartiennent et d'étudier d'autres options. Ces API ont tendance à effectuer des opérations critiques pour une macro, comme la connexion à une base de données ou l'accès à une ressource locale. Apps Script n'est généralement pas une bonne solution.
Étape 1 : Convertissez vos fichiers
- Sur votre ordinateur, ouvrez Google Drive.
- Dans le panneau de droite, cliquez sur le module complémentaire Macro Converter
. Si le panneau latéral ne s'affiche pas, cliquez sur Afficher le panneau latéral chevron_left en bas à droite.
- Cliquez sur Ajouter des fichiers et des dossiers. Le convertisseur de macros ne reconnaît que les fichiers Excel.
- Sélectionnez les fichiers ou dossiers à convertir, puis cliquez sur Sélectionner. Sélectionnez moins de 2 000 fichiers à la fois.
- Pour modifier l'emplacement où sont enregistrés vos fichiers convertis, cliquez sur Modifier le dossier de destination edit, puis sélectionnez le dossier de votre choix. Sinon, les fichiers sont enregistrés dans votre dossier "Mon Drive".
- Cliquez sur Convertir.
- Une fois la conversion terminée, cliquez sur Afficher les résultats.
Étape 2 : Testez vos fichiers convertis
Exécuter votre code Apps Script
Après avoir converti vos fichiers, testez les fonctions Apps Script. Testez les fichiers convertis avec les données que vous utilisez habituellement avec vos fichiers Excel. Si possible, comparez la sortie de vos fichiers Sheets convertis avec celle de vos fichiers Excel d'origine.
Tester vos déclencheurs
Si vos fichiers contiennent des déclencheurs tels que onOpen()
, onEdit()
ou onClick()
, testez-les également. Certains déclencheurs VBA ne seront pas convertis automatiquement et devront être traités dans Apps Script. Consultez Résoudre les problèmes courants.
Examiner les fichiers ReadMe
Si un fichier ReadMe a été généré avec votre fichier converti, examinez les problèmes de conversion listés dans le fichier ReadMe.
- Si les problèmes peuvent être problématiques pour les cas que vous n'avez pas testés, appliquez les modifications recommandées à votre code.
- Si vous avez testé tous les scénarios possibles et que tout fonctionne comme prévu, vous n'avez probablement pas besoin d'apporter de modifications.
Étape 3 : Corrigez les erreurs
Si vous rencontrez des erreurs lors du test de vos fichiers, consultez Corriger les erreurs dans votre code converti.
Si le code s'exécute sans erreur, mais que le résultat ne correspond pas à vos attentes, ouvrez le fichier ReadMe du fichier. Examinez chaque section pour identifier la cause du problème et appliquer la correction recommandée.
Une fois les erreurs corrigées, testez à nouveau le fichier pour vous assurer que tout fonctionne comme prévu.
Articles associés
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/31 (UTC).
[null,null,["Dernière mise à jour le 2025/08/31 (UTC)."],[[["\u003cp\u003eThe Macro Converter add-on helps you convert your VBA macros to Apps Script, allowing them to run in Google Sheets.\u003c/p\u003e\n"],["\u003cp\u003eBefore converting, review the compatibility report and modify or remove incompatible VBA APIs for better conversion results.\u003c/p\u003e\n"],["\u003cp\u003eThe conversion process involves adding files to the add-on, initiating the conversion, and then testing the converted Apps Script functions and triggers in Google Sheets.\u003c/p\u003e\n"],["\u003cp\u003eIf errors occur or the results are unexpected, consult the generated ReadMe files and the troubleshooting documentation to fix issues and ensure proper functionality.\u003c/p\u003e\n"],["\u003cp\u003eAfter successful conversion and testing, your macros will be operational within Google Sheets, leveraging the capabilities of Apps Script.\u003c/p\u003e\n"]]],[],null,["# Convert VBA macros to Apps Script\n\nBefore you begin\n----------------\n\nYou might want to update incompatible APIs in your VBA code before you convert\nyour files. For files that have the status *Supported exactly* , you can proceed\nto [Step 1: Convert your files](/apps-script/guides/macro-converter/convert-files#step_1_convert_your_files).\n\n### Modify incompatible VBA APIs\n\nFor files that have the status *Supported with workaround* or *Needs\ninvestigation*, you can apply your workarounds and fixes after the conversion\nin Apps Script, but we recommend that you modify the VBA code that you're\nfamiliar with first, before you convert your files.\n\nFor each API marked as *Supported with workaround* or *Needs investigation* in\nthe compatibility report, we recommend the following:\n\n- If the function performed by the API isn't critical to your VBA macro working properly, remove it from your VBA code. If it is, change your code to implement a similar behavior with [supported VBA APIs](/apps-script/guides/macro-converter/compatible-vba-apis).\n- For APIs with the status *Supported with workaround*, if you can't switch to supported VBA APIs, leave your VBA APIs as is. After you convert to Apps Script, a known workaround for this API is recommended in the comments of the converted Apps Script code.\n- If the issue is coming from an [unimplemented language construct](/apps-script/guides/macro-converter/fix-conversion-errors#unimplemented_language_constructs), rewrite your code to avoid using those constructs.\n- For APIs with the status *Needs investigation*, check if your code contains\n any of the following APIs:\n\n - `Adodb.connection`\n - `CreateObject`: This API is often used to connect to database and enterprise resource planning software.\n - `Shell.execute`\n - `OleObject`\n\n If yes, we recommend that you don't convert the files these APIs belong to\n and investigate other options. These APIs tend to perform critical operations\n for a macro, like connecting to a database or accessing a local resource, and\n Apps Script is generally not a good solution.\n\nStep 1: Convert your files\n--------------------------\n\n1. On your computer, open [Google Drive](https://drive.google.com/drive/my-drive).\n2. On the right side panel, click the Macro Converter add-on . If you don't see the side panel, at the bottom right, click Show side panel chevron_left.\n3. Click **Add files and folders**. The Macro Converter only recognizes Excel files.\n4. Choose the files or folders you want to convert and click **Select**. Select fewer than 2,000 files at a time.\n5. To change where your converted files are saved, click Change destination folder edit, and select the folder you want. Otherwise, the files are saved in your MyDrive folder.\n6. Click **Convert**.\n7. When the conversion completes, click **View results**.\n\nStep 2: Test your converted files\n---------------------------------\n\n### Run your Apps Script code\n\nAfter you convert your files, test the Apps Script functions. Test the converted\nfiles with the data you normally use with your Excel files. If possible, compare\nthe output of your converted Sheets files with the output of your original Excel\nfiles.\n\n### Test your triggers\n\nIf your files contain triggers like `onOpen()`, `onEdit()`, or `onClick()`, test\nyour triggers, too. Some VBA triggers won't convert automatically and need to be\naddressed in Apps Script. See [Address common issues](/apps-script/guides/macro-converter/address-conversion-issues).\n\n### Review ReadMe files\n\nIf a ReadMe file was generated with your converted file, review the conversion\nissues listed within the ReadMe file.\n\n- If the issues might be problematic for cases you haven't tested, apply the recommended changes to your code.\n- If you've tested all possible scenarios and everything works as intended, you probably don't need to make changes.\n\nStep 3: Fix errors\n------------------\n\nIf you run into errors while testing your files, see [Fix errors in your\nconverted code](/apps-script/guides/macro-converter/fix-conversion-errors).\n\nIf the code runs without errors, but the result isn't what you expected, open\nthe file's ReadMe file. Review each section to help determine what's causing the\nissue and apply the recommended fix.\n\nAfter you fix errors, test the file again to make sure everything works as\nintended.\n\nRelated articles\n----------------\n\n- [Macro Converter add-on overview](/apps-script/guides/macro-converter/overview)\n- [Determine if VBA macros are compatible](/apps-script/guides/macro-converter/compatibility-report)\n- [Fix errors in your converted code](/apps-script/guides/macro-converter/fix-conversion-errors)\n- [Address common issues](/apps-script/guides/macro-converter/address-conversion-issues)\n- [Watch Macro Converter tutorials](/apps-script/guides/macro-converter/tutorials)\n- [List of compatible VBA APIs](/apps-script/guides/macro-converter/compatible-vba-apis)"]]