Générateur de macros VBA Excel

Choisissez une tâche parmi plus de 50 macros, réglez vos noms de feuilles, colonnes et plages, et copiez un VBA propre avec variables déclarées et gestionnaire d'erreurs, généré dans votre navigateur.

Les macros sont générées entièrement dans votre navigateur. Les noms de feuilles, plages, chemins et textes que vous saisissez restent sur votre appareil et ne sont jamais envoyés à ArrayKit.

Conçu et maintenu par Udit Agarwal

Ouvrir le générateur de formules Excel

À propos de Générateur de macros VBA

La plupart des macros Excel sont des variantes d'un petit nombre de schémas : trouver la dernière ligne, boucler sans sauter de lignes, copier les correspondances ailleurs, enregistrer un fichier. Le générateur de macros VBA Excel transforme ces schémas en formulaires. Choisissez une macro dans la bibliothèque consultable, renseignez le nom de la feuille, la lettre de colonne, la plage ou le dossier, et le code se met à jour au fil de la frappe. Chaque macro commence par Option Explicit, déclare ses variables, compte les lignes en Long, trouve la dernière ligne avec End(xlUp), évite Select et Activate, et se termine par un gestionnaire d'erreurs qui réactive toujours la mise à jour de l'écran, les événements et le calcul. Les macros qui suppriment, écrasent, écrivent des fichiers ou créent un e-mail portent une étiquette de risque et un rappel de tester sur une copie. Copiez le code ou téléchargez un fichier .bas ; rien de ce que vous tapez n'est téléversé.

Fonctionnalités

  • Plus de 50 macros en sept groupes : boucles, nettoyage, scission et fusion, fichiers et e-mail, feuilles et mise en page, événements, boîtes de dialogue
  • Réglages validés : noms de feuilles, lettres de colonnes, plages, noms et nombres sont vérifiés avant l'apparition du moindre code
  • Les guillemets et sauts de ligne de votre texte sont échappés pour qu'une valeur ne puisse jamais casser le VBA généré
  • Option Explicit, variables déclarées, compteurs de lignes Long et détection de la dernière ligne par End(xlUp) dans chaque macro
  • Gestionnaire d'erreurs qui rétablit la mise à jour de l'écran, les événements et le calcul même en cas d'échec
  • Étiquettes de risque et rappels pour les macros qui suppriment des données, écrivent des fichiers ou créent un e-mail
  • Choix du nom de la procédure, commentaires activables ou non, et travail sur ce classeur ou sur le classeur actif
  • Copie du code ou téléchargement d'un fichier .bas, avec les instructions pas à pas pour le coller et l'enregistrer en .xlsm

Comment utiliser Générateur de macros VBA

  1. Cherchez ou parcourez la bibliothèque et choisissez la macro qui correspond à votre tâche
  2. Renseignez les réglages — nom de feuille, lettre de colonne, plage, dossier ou texte — et corrigez ce qui est signalé
  3. Copiez le code ou téléchargez le fichier .bas
  4. Dans Excel, appuyez sur Alt+F11, choisissez Insertion > Module, collez, appuyez sur F5, puis enregistrez le fichier en .xlsm

Exemple

Entrée

Macro:            Delete blank rows
Sheet:            Orders
Blank means:      every cell in the row is empty
First row to check: 2

Sortie

Public Sub DeleteBlankRows()
    ...
    Set ws = ThisWorkbook.Worksheets("Orders")
    lastRow = ws.UsedRange.Row + ws.UsedRange.Rows.Count - 1
    For r = lastRow To 2 Step -1
        If Application.WorksheetFunction.CountA(ws.Rows(r)) = 0 Then
            ws.Rows(r).Delete
            removed = removed + 1
        End If
    Next r

La boucle va de bas en haut pour que la suppression d'une ligne ne fasse jamais sauter la suivante.

Erreurs courantes et dépannage

  • Le collage du code provoque « Erreur de compilation : Variable non définie » ou « Nom ambigu détecté ». — Collez tout le bloc généré dans un module vide. Quand vous combinez plusieurs macros dans un même module, les petites fonctions d'aide se répètent : gardez un seul exemplaire de chacune.
  • La macro ne fait rien, ou Excel indique que les macros sont désactivées. — Enregistrez le fichier en classeur Excel prenant en charge les macros (.xlsm), puis activez les macros via Fichier > Options > Centre de gestion de la confidentialité. N'activez-les que dans des fichiers de confiance.
  • Erreur d'exécution 9 : l'indice n'appartient pas à la sélection. — Le nom de feuille indiqué dans les réglages n'existe pas dans le classeur sur lequel travaille la macro. Vérifiez l'orthographe, ainsi que le choix entre ce classeur et le classeur actif.
  • Une macro qui a supprimé ou écrasé des données ne peut pas être annulée. — Les modifications faites en VBA contournent Ctrl+Z. Exécutez toujours d'abord sur une copie de votre classeur les macros qui suppriment, écrasent ou écrivent des fichiers.

Foire aux questions

Comment le générateur de macros VBA Excel décide-t-il du code à produire ?
Chaque macro de la bibliothèque est un schéma testé avec des réglages typés. Vos valeurs sont validées puis placées dans le code au bon endroit, entre guillemets si nécessaire : la sortie est du VBA ordinaire que vous pouvez lire, modifier et réutiliser — aucune devinette n'est en jeu.
Pourquoi chaque macro générée comporte-t-elle un gestionnaire d'erreurs ?
Les macros qui désactivent la mise à jour de l'écran ou les événements laissent Excel dans un état déroutant si elles s'arrêtent à mi-chemin. Le gestionnaire remet ces réglages en marche quoi qu'il arrive, puis affiche le numéro et la description de l'erreur au lieu d'un plantage brut.
Les macros générées utilisent-elles Select ou Activate ?
Non. Elles travaillent directement sur des objets feuille et plage, ce qui est plus rapide et ne dépend pas de la sélection en cours. Le blocage des volets est la seule tâche qu'Excel lie à la fenêtre : cette macro fait donc défiler la vue avec Application.Goto au lieu de sélectionner une cellule.
Puis-je utiliser ces macros sur Mac ou dans Excel pour le web ?
La plupart fonctionnent dans Excel pour ordinateur sous Windows et beaucoup sur Mac, mais le VBA ne s'exécute pas dans Excel pour le web. La macro d'e-mail Outlook demande Outlook pour Windows, et les chemins de fichiers sur Mac utilisent des barres obliques au lieu d'antislashs.
Quelle différence y a-t-il entre un fichier .bas et le collage du code ?
Un fichier .bas est un module que vous importez avec Fichier > Importer un fichier dans l'éditeur VBA ; le collage fait la même chose à la main. Le collage est plus sûr si votre texte contient des accents ou des symboles, car un fichier .bas est lu avec l'ancien jeu de caractères ANSI.
Mes noms de feuilles et chemins de fichiers sont-ils envoyés quelque part quand j'utilise le générateur de macros ?
Non. Les réglages et le code restent dans votre navigateur. Rien n'est téléversé, et le générateur produit seulement du texte que vous collez ensuite dans Excel.

Outils associés

  • Générateur de formule Excel — Choisissez une tâche (sommes conditionnelles, recherches, dates, texte, classement) et obtenez une formule Excel ou Sheets prête à coller.
  • Explicateur de formules Excel — Collez une formule Excel ou Google Sheets et obtenez une explication claire, étape par étape, de chaque fonction et argument.
  • Nettoyeur de données Excel — Nettoyez vos tableurs : espaces, casse, lignes vides, doublons, dates et nombres, puis export en .xlsx ou CSV.
  • CSV en Excel — Convertissez des fichiers CSV ou TSV en classeur .xlsx : séparateur détecté, en-tête stylé, types de colonnes et plusieurs feuilles.
  • Excel vers CSV — Exporte n’importe quelle feuille .xlsx ou .xls vers un CSV propre avec choix du délimiteur, localement.
  • Générateur RECHERCHEV — Créez une formule RECHERCHEV correcte avec SIERREUR, valeur exacte ou approchée, alternatives RECHERCHEX et INDEX/EQUIV, et test en direct.
  • Générateur INDEX EQUIV — Générez des formules INDEX EQUIV : recherche à gauche, double entrée, critères multiples, avec tableau de test et sortie à copier.

Plus d’outils Excel et tableurs

  • CSV en Excel — Convertissez des fichiers CSV ou TSV en classeur .xlsx : séparateur détecté, en-tête stylé, types de colonnes et plusieurs feuilles.
  • JSON en Excel — Convertissez du JSON en classeur Excel : colonnes aplaties, une feuille par tableau et cellules typées.
  • Nettoyeur de données Excel — Nettoyez vos tableurs : espaces, casse, lignes vides, doublons, dates et nombres, puis export en .xlsx ou CSV.
  • Générateur RECHERCHEV — Créez une formule RECHERCHEV correcte avec SIERREUR, valeur exacte ou approchée, alternatives RECHERCHEX et INDEX/EQUIV, et test en direct.
  • Générateur INDEX EQUIV — Générez des formules INDEX EQUIV : recherche à gauche, double entrée, critères multiples, avec tableau de test et sortie à copier.
  • Explicateur de formules Excel — Collez une formule Excel ou Google Sheets et obtenez une explication claire, étape par étape, de chaque fonction et argument.
  • Générateur de formule Excel — Choisissez une tâche (sommes conditionnelles, recherches, dates, texte, classement) et obtenez une formule Excel ou Sheets prête à coller.
  • Traducteur de fonctions Excel — Traduisez des formules Excel entre anglais, allemand, français, espagnol, italien, portugais, néerlandais, suédois et russe, séparateurs inclus.

Voir tous les outils Excel et tableurs (9) · Tous les outils