Académique Documents
Professionnel Documents
Culture Documents
Vous obtenez alors une boîte de dialogue dans laquelle vous pouvez écrire le nom de la macro.
Toutes les actions que vous effectuez seront enregistrées par Excel et, lorsque vous rappellerez la
macro, elles seront à nouveau effectuées. Prenez soin de prévoir à l’avance ce dont vous avez
besoin.
Lorsque vous avez inclus toutes les commandes souhaitées, cliquez sur le bouton « Arrêter
l’enregistrement » qui est apparu.
Via le ruban, Développeur (Developer), dans le groupe Code (Code), cliquez sur le bouton
Macros.
Si vous avez défini une touche de raccourci, vous pouvez exécuter la macro à l’aide de cette
touche de raccourci.
Lier une macro à un bouton (voir ci-dessous)
Vous obtenez alors une boîte de dialogue avec toutes les macros disponibles dans ce classeur.
Sélectionnez la macro souhaitée et cliquez sur le bouton « Exécuter ».
La même macro a été enregistrée avec des références de cellule relative. Cette fois, le
bouton Utiliser les références relatives (Use Relative References) dans le groupe Code (Code)
a été activé lors de l’enregistrement.
L’utilisation de références absolues et relatives devrait être fixée chaque fois que c’est nécessaire
pour la mise en œuvre de la macro. Vous devez en tenir compte dans l'enregistrement.
La boîte de dialogue Options Excel s’ouvre dans la partie barre d’outils d’accès rapide (Quick Access
Toolbar).
Vous pouvez en outre modifier le titre de l'onglet et les noms des groupes en fonction de vos
souhaits.
Cela semble très similaire au premier type de contrôles grâce à un bouton de barre d'outils de
formulaires. Les contrôles sont à peu près les mêmes, mais les fonctionnalités de personnalisation
sont plus étendues. Vous pouvez écrire en code VBA et l’associer au bouton immédiatement.
Nous utilisons ici des contrôles ActiveX et dessinons un bouton sur la feuille de calcul.
Via un clic droit, vous pouvez également modifier les Propriétés (Properties) du bouton. Donnez au
moins un nom correct et clair immédiatement au bouton.
Après avoir dessiné le bouton, faites un clic droit sur l'objet et choisissez Visualiser le code (View
Code).
Pour travailler de manière efficace, il se peut que vous ayez besoin d’utiliser certaines macros sur
votre ordinateur. Cela signifie qu’à un certain moment, vous devez décider si vous faites confiance
aux concepteurs de ces macros.
La sécurité est une question de confiance. A qui pouvez-vous faire confiance? Comment le savez-
vous? Heureusement, les programmes Office possèdent des fonctionnalités qui vous aident à
prendre ces décisions.
À l'aide de certificats numériques, vous pouvez définir des niveaux de sécurité pour les macros. Cela
permet de rendre l'ordinateur moins vulnérable face à une attaque par des utilisateurs malveillants.
4.1 Activer les macros lors de l'affichage de la barre de message
Lorsque vous ouvrez un fichier avec des macros, la barre de message jaune apparaît avec une icône
et un bouton Activer le contenu (Enable content). Utilisez les étapes suivantes si vous n’êtes pas
certain ou si vous ne savez pas que les macros viennent d'une source fiable :
Dans la barre de message, cliquez sur activer.
Le fichier est ouvert et il s’agit d’un document de confiance.
L'illustration suivante est un exemple de la barre de message liée à un fichier contenant des macros.
Cliquez dans la partie Avertissement de sécurité sur le bouton Activer le contenu (Enable
content).
Sélectionnez sous Activer tout le contenu (Enable All Content) l’option Toujours activer le
contenu actif de ce document.
Dans le groupe Code (Code), vous trouvez le bouton Visual Basic. Ce bouton vous
donne accès à l’éditeur Visual basic.
Le code généré par les macros est situé dans le dossier Modules du projet VBA correspondant
(fichier).
L'originalité de Visual Basic par rapport à de nombreux autres langages est qu'il autorise l'utilisation
de variables qui n'ont pas été déclarées au préalable. Néanmoins, vous pouvez imposer la
A partir de ce moment, l’instruction Option Explicit sera automatiquement ajoutée dans les
déclarations générales des nouveaux modules.
7.1 Séquence
La séquence est une structure de contrôles composée d'une ou plusieurs commandes qui se suivent.
Cette structure de contrôle définit l'ordre dans lequel les instructions seront effectuées.
7.2 Sélection ou choix
La sélection est une structure de contrôle composée d’une sélection de conditions combinées de
deux séquences.
Syntaxe:
If condition Then [instructions] [Else autres instructions]
Vous pouvez également utiliser la syntaxe suivante sous forme de bloc :
If condition Then
[instructions]
[Else
[autres instructions]]
End If
Les constructions Si peuvent également être imbriquées.
Un exemple:
Dans la plupart des cas, vous choisissez vous-même un nom pour la macro. Mais, dans de rares cas,
vous pouvez lui donner un nom spécial, réservé pour la macro.
Un Sub est visible dans l'environnement Excel en tant que macro, une fonction est visible dans
l’environnement Excel en tant que fonction dans la catégorie User Defined.
Attention: Vous devez définir une fonction dans un module et pas dans une feuille de calcul sinon la
fonction n'est pas visible dans Excel.
Que la fonction soit privée ou publique, cela n’a pas beaucoup d’importance. Si vous définissez une
fonction comme privée, elle sera seulement « connue » dans le module où elle est définie.
End Function
Bien entendu, il n'y a encore aucun traitement, ni aucun argument défini pour la fonction
9.3 Finaliser la fonction
Nous pouvons également organiser le code pour effectuer un calcul, mais le but est aussi de spécifier
les arguments via la fenêtre d’arguments.
Pour ce faire, placez une variable à l'intérieur des parenthèses de la fonction en tant qu'argument.
Vous pouvez utiliser cette variable dans votre code.
Les macros et les fonctions sont toutes les deux des procédures. Une macro est une procédure qui
ne renvoie aucune valeur. Par contre, une fonction renvoie une valeur.
Dans le code pour une macro, vous pouvez voir qu’elles sont déclarées avec Sub.
Dans le groupe Code (Code), vous voyez le bouton Visual Basic. Ce bouton vous
donne accès à l’éditeur Visual Basic.
Alternativement, vous pouvez appeler les macros dans Excel à l'aide de la combinaison de touches
Alt-F8.
Appelons ensuite la macro dans la fenêtre d’affichage immédiat « Immediate Window» en tapant
soit MacroTest (“bien sûr!”) soit MacroTest“bien sûr!”. Le premier appel s'appelle appel par
fonction, le deuxième s’appelle appel par macro. Si nous utilisons plus d’un argument, comme dans
la macro suivante:
SubMacroNouveauTest(s As String, n as integer)
Debug.Print« oui, »&s
End Sub
alors l’appel par fonction MacroNouveauTest(“bien sûr!”, 2) ne fonctionne plus. Nous devons alors
utiliser l’appel par macro MacroNouveauTest“bien sûr!” , 2.
Nous pouvons faire appel à ce type de fonctions par une instruction Debug.Print :
Debug.PrintFonctionTest("Oui, biensûr !"). Si nous ne faisons rien avec la valeur retournée, alors
nous devons invoquer la fonction comme si nous invoquions une macro. C'est-à-dire : avec un seul
argument, nous avons le choix de l’appel, avec plus d'un argument nous devons utiliser l’appel
macro.
Nous pouvons donc invoquer la fonction ci-dessus soit par l’instruction FonctionTest("Oui,biensûr!")
soit par l’instruction FonctionTest"Oui,biensûr!".
La fonction suivante:
FunctionFonctionNouveauTest(s asString,n as Integer)
FonctionNouveauTest=s
End Function
Si vous appelez une fonction avec Call, vous ne pouvez rien faire avec la valeur qui est renvoyée.
Il est particulièrement utile d’étendre les formules ou les macros. Les fonctionnalités qui ont été
créées seront, de cette manière, également offertes aux autres utilisateurs. Nous allons ici
développer un Add-In pour offrir ces fonctionnalités aux autres utilisateurs.
11.1 Excel Add-in
Nous sauvons les fonctions et les macros supplémentaires dans un module du VBE ( Editeur Visual
Basic ). Ensuite, nous enregistrons le fichier en tant qu’Excel Add-in (extension.xlam).
Dans la fenêtre Macros complémentaires disponibles, vous trouvez les compléments déjà installés.
Nous en ajoutons en suivant la procédure ci-dessous :
Cliquez sur Parcourir (Browse).
Vous pouvez également entrer des fonctions directement dans une cellule.