Utiliser un code

Vous avez trouvé sur un site web, dans un forum de discussion, ou dans un autre classeur Excel un code VBA. Comment faire pour l'utiliser dans votre classeur ?
Voici par exemple une macro de Eric Jeanne qui permet de mettre un X dans une cellule en faisant un double clic dedans ou qui l'enlève s'il y en a déjà un.


Private  Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
   If IsEmpty(ActiveCell.Value) Then
       ActiveCell.Value = "X"
    ElseIf ActiveCell.Value = "X" Then
       ActiveCell.Value = ""
   End If

Cancel = True
End Sub

Vous n'avez pas besoin de connaître le langage VBA pour pouvoir utiliser cette macro mais vous devez savoir où copier ce code !
Les macros, écrites en langage Visua Basic pour Application ou VBA doivent être écrites dans une partie d'Excel que vous n'avez probablement pas encore découverte : l'Editeur VBA (on dit aussi souvent VBE pour Visual Basic Editor). Pour y accéder, dans Excel cliquez sur Alt et F11 (touche de fonction).

Les différents types de modules

Les macros peuvent être écrites dans différents "modules" suivant ce qu'elles doivent faire.
Cet aspect est détaillé sur la page Editeur VBA.

Si la macro ne doit s'appliquer que sur les cellules d'une feuille particulière

Par exemple si vous voulez que le double clic mette un X dans les cellules de la feuille 1 mais pas de la feuille 2, vous allez mettre le code dans le Module de feuille associé à la feuille 1.
Dans la zone de liste des projets VBA ouverts (à gauche de la fenêtre), sélectionnez le dossier contenant le projet VBA associé à votre classeur. Il s'appelle VBA project (classeur1) par exemple. Ouvrez le dossier si ce n'est fait et cliquez-droit sur le mot feuil1 puis sélectionnez le mot "code". Une zone d'édition au centre s'ouvre.
Collez y le code de la macro. Fermez l'éditeur, enregistrez votre classeur et testez le en faissant des doubles clics dans la feuille1 puis dans la feuille 2.

Vous voulez que la macro s'applique dans toutes les feuilles

Il faut dans ce cas la placer dans un module ordinaire également appellé module standard (voir aussi la page Editeur VBA pour plus de détails).
Dans la zone de liste des projets VBA ouverts, cliquez droit sur le nom du projet VBA associé à votre classeur.
Choisissez insertion/module.
Collez votre macro dans ce module.

Le cas particulier des fonctions (Function)

Si le code que l'on vous a fourni commence par Function et se termine par End Function (au lieu de sub et End Sub),
il faut obligatoirement placer ce code dans un module standard.

Un module particulier : ThisWorkbook

Dans certains cas il vous est précisé que la macro doit être placée dans le module ThisWorkbook. C'est par exemple le cas des macros qui doivent se lancer toutes seules à l'ouverture du classeur ou encore celles qui se lancent lors de son impression.
Dans l'éditeur VBA, en dessous de la liste des feuilles contenues dans votre classeur vous trouvez le module ThisWorkbook. Faites un clic droit dessus et sélectionnez "code". Collez votre macro dans ce module.

Mot clef associé à cette page :