Académique Documents
Professionnel Documents
Culture Documents
Excel macro-commandes
Et fonctions avances
Excel 2007
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-2-
Avertissement
Ce document accompagne le cours qui a t conu spcialement pour les stagiaires des cours de
Denis Belot.
Le cours a t ralis en rponse aux diverses questions poses par les stagiaires.
Le support de cours est conu dans le but de permettre de suivre la formation sans devoir prendre des
notes.
Le support de cours permet galement de refaire les exercices raliss durant la formation.
Ce document ne constitue pas une rfrence utilisable sans le cours.
Le cours est rgulirement adapt pour tenir compte des demandes et des volutions techniques, cest
pourquoi le contenu peut tre diffrent chaque session de formation.
Ce cours a t adapt pour tre ralis dans une dure rduite tout en prsentant un nombre important
de fonctions. Les exemples fournis sont des exemples buts pdagogiques et ne constituent
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-3-
Introduction ............................................................................................................................................................... 4
Rappels indispensables .............................................................................................................................................. 5
Concepts ................................................................................................................................................................... 8
Cration dune macro avec lenregistreur.................................................................................................................... 9
Scurit ................................................................................................................................................................... 12
Exercice de base ...................................................................................................................................................... 13
Exercice : convertir une formule en valeur ................................................................................................................ 15
Rfrence Relative et Absolue ................................................................................................................................. 16
Exercice : quadrillage .............................................................................................................................................. 18
Type de classeur pour macros .................................................................................................................................. 20
Exercice combinant plusieurs Macros....................................................................................................................... 21
Dfinitions gnrales ............................................................................................................................................... 23
Exercice de conversion de fichier ............................................................................................................................. 25
Remplir un fichier de mail ....................................................................................................................................... 28
Scuriser vos macros ............................................................................................................................................... 29
Crer un certificat auto sign.................................................................................................................................... 32
Ajouter une signature numrique un projet ............................................................................................................. 33
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-4-
A. Introduction
Ce cours sadresse des utilisateurs souhaitant connatre les macro-commandes et les
fonctions avances du logiciel Excel.
Ce cours a t adapt pour tre ralis dans une dure rduite tout en prsentant un nombre
important de fonctions, aussi il sadresse des utilisateurs ayant dj une bonne pratique des
fonctions courantes de linformatique et dExcel. Il est prconis davoir dj suivi un cours
de perfectionnement Excel.
Ce cours a t conu en rponse aux questions poses par les adhrents.
Ce cours est rgulirement adapt pour tenir compte des demandes et des volutions
techniques.
Il est important de prciser que ce cours ne traite pas exhaustivement de toutes les fonctions
du logiciel Excel, mais prsente les fonctions, qui semblent les plus utiles dans le contexte
dune entreprise individuelle.
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-5-
B. Rappels indispensables
(Dj vu en perfectionnement Excel)
Pour lexemple ouvrir 0-exercices de manipulations
1 - Slection de cellules :
a ) Tout slectionner
Slectionner toute la feuille (intgralement)
Menu Edition, Tout slectionner
(Ou deux fois Ctrl + a)
Ou
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-6-
Reproduit le contenu jusqu la dernire ligne utilise, si la colonne adjacente est remplie.
6 - Antcdents & dpendants
Menu Outils, Audit de formules
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-7-
Lorsque lon supprime des lments sur lesquels porte un calcul, on obtient des erreurs.
Exemple si lon supprime les colonnes Hors taxe et Tva
On peut faire un collage spcial, valeur, pour rcuprer les valeurs avant de supprimer les
colonnes.
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-8-
C. Concepts
Les macro-commandes appeles communment Macros, sont des programmes raliss dans le
langage de programmation Visual Basic pour Application (ou VBA).
Il existe un langage plus gnral appel Visual Basic.
Les macros peuvent tre assez simples raliser laide de lenregistreur de macros.
Lenregistreur de macro se comporte un peu comme un magntophone qui enregistre votre
voix.
Sauf que lenregistreur de macros nenregistre pas votre voix mais vos actions. Lenregistreur
va enregistrer vos actions et les transformer en un vrai programme rutilisable de nombreuses
fois.
Il est assez simple de crer une nouvelle barre doutils et dajouter des boutons cette barre
pour excuter vos Macros.
Exemple de macro-commandes utiliser :
Les boutons des macro-commandes apparaissent dans la barre doutils accs rapide
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-9-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-10-
Exercice :
Cration dune Macro dessai
Crer une Macro pour mettre une cellule en rouge et en gras.
Remarque : cette macro ne prsente pas dintrt particulier, mais elle est destine
comprendre le mcanisme denregistrement.
Remarque : pour changer la touche dappel de la Macro
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-11-
3 - Excution
Pour excuter une Macro :
Onglet Dveloppeur, Macro
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-12-
E. Scurit
Les techniques de macro-commandes permettant de crer des virus (Macro virus), les
logiciels exercent une certaine vigilance lgard de toutes les macros commandes.
Ces techniques de protections sont bases sur des signatures lectroniques, qui permettent de
valider lorigine dune macro et ainsi sassurer de son innocuit.
Une macro signe (numriquement) est suppose ne pas tre un virus.
Les techniques de signature numrique prsentant une certaine complexit, dans un premier
temps on dsactivera (partiellement) le systme de scurit.
Bien entendu durant la dsactivation du systme de scurit on veillera nutiliser que les
macros que lon aura dvelopp soi-mme.
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-13-
F. Exercice de base
Exercice : mise en forme et centrage
1 - Ralisation
Ouvrir le document Exercice centrage
Crez une macro centrage pour centrer horizontalement et verticalement le texte dune
cellule.
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-14-
2 - Lecture du programme
Correction (ventuelles) :
En fait Excel indique toute les proprits du format, mais en ralit, on peut ne conserver que
celles qui sont rellement modifies (les alignements).
Remarque : ces suppressions peuvent sembler inutiles. En fait, cest une premire approche
simple pour comprendre que lon peut modifier le code source de la macro-commandes.
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-15-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-16-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-17-
SANS
rfrences
relatives
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
AVEC
rfrences
relatives
-18-
I. Exercice : quadrillage
Ouvrir le document Exercice quadrillage
1- Crer la macro pour enlever le quadrillage
Crez une macro SansQuadrillage pour faire disparatre le quadrillage dExcel.
Voir Option Excel, Options avances, Afficher les options pour cette feuille
Vous noterez quil est possible denlever le quadrillage, mais que la commande ne permet pas
de le remettre.
2- Crer la macro pour mettre le quadrillage
Crez une macro AvecQuadrillage pour faire apparatre le quadrillage dExcel.
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-19-
Dans chaque macro, il ny a quune ligne dopration (Sub et End Sub dtermine le dbut et la
fin de la macro).
ActiveWindow indique la fentre active, c'est--dire la fentre sur laquelle on est en train de
travailler.
DisplayGridlines peut se traduire par Afficher le quadrillage .
ActiveWindow. DisplayGridlines est en fait la caractristique du quadrillage qui peut prendre
la valeur True1 ou False2
3- En remplacement des 2 macros prcdentes, crer la macro pour mettre ou enlever le
quadrillage.
Crez une macro Quadrillage pour faire apparatre ou disparatre le quadrillage dExcel.
Dans ce cas, on nutilisera pas lenregistreur mais lon devra crire intgralement la macrocommande.
Dans notre cas on commence par rcuprer la valeur du quadrillage, puis on inverse cette
valeur et ensuite on force la proprit du quadrillage avec la valeur que lon vient dinverser.
1
2
Vrai
Faux
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-20-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-21-
-22-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-23-
L. Dfinitions gnrales
1 - Concepts
a ) Objets
b ) Mthodes
c ) Proprits
d ) Evnements
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-24-
2 - Description
a ) Proprits
La proprit est une caractristique dun objet. Par exemple le quadrillage est une
proprit de la fentre.
b ) Valeur dune proprit
La valeur dune proprit correspond ltat de cette proprit linstant.
Par exemple si laffichage du quadrillage est en cours on dira que la valeur de la proprit
Affichage du Quadrillage est Vraie
En anglais DisplayGridlines aura la valeur True .
Comme il sagit de la fentre active (celle sur laquelle nous travaillons), nous dirons
ActiveWindow .
Donc en final:
ActiveWindow.DisplayGridlines = True
La valeur dune proprit est transmise largument avec le symbole
c ) Mthode
Une mthode correspond une action excuter. La copie dun lment est une mthode.
Copy est une mthode.
d ) Argument
Les arguments sont des informations destines excuter une mthode selon des rgles
particulires.
Par exemple Paste est un argument de la mthode Copy .
Les arguments sont comme des consignes que lon indique avant lexcution de la mthode.
e ) Valeur dun argument
La valeur dun argument correspond au dtail de la consigne.
Par exemple xlPasteValues est la valeur de largument Paste pour la mthode
Copy .
La valeur dun argument est transmise largument avec le symbole
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-25-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-26-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-27-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-28-
votre
adresse
ActiveCell.FormulaR1C1 = Email
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
End Sub
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
Email",
"Adresse
Email",
-29-
Ce message est destin vous protger contre dventuelles macros qui pourraient tre des
macros virus.
Si vous souhaitez excuter vos macros vous rpondrez activer les macros , mais vous
ntes toujours pas certains que ce classeurs contient bien vos propres macros et ne contient
pas dautres macros introduites votre insu.
Pour viter ce type de soucis, vous avez la possibilit de crer un certificat numrique qui
authentifiera vos macros. Excel reconnatra les macros que vous avez prcdemment valides.
Remarque : ce certificat ne sera utilisable que pour vos macros et sur votre ordinateur.
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-30-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-31-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-32-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08
-33-
Excel 2007 Macro & fonctions / Denis Belot / mercredi 4 novembre 2009 - 17:08