Analysez Des Donnees Avec Excel
Analysez Des Donnees Avec Excel
Analysez Des Donnees Avec Excel
www.openclassrooms.com
2/250
Sommaire
Sommaire ...........................................................................................................................................
Lire aussi ............................................................................................................................................
Analysez des donnes avec Excel .....................................................................................................
Partie 1 : Prise en main d'Excel ..........................................................................................................
2
4
6
6
35
39
39
40
44
44
44
44
61
63
63
68
69
69
71
71
74
75
www.openclassrooms.com
Sommaire
3/250
124
126
126
127
138
138
139
139
139
139
140
140
140
140
141
www.openclassrooms.com
Sommaire
4/250
150
150
151
152
152
153
153
154
154
155
156
165
166
167
168
www.openclassrooms.com
Lire aussi
5/250
225
226
227
227
228
229
229
230
230
231
233
233
235
236
237
237
237
237
239
www.openclassrooms.com
Lire aussi
6/250
Par
Etienne et
bat538 et
www.openclassrooms.com
7/250
Prsentation
Excel est un logiciel d'analyse de donnes !
Dis donc, quel scoop ! Tu ne veux pas nous donner la dfinition de l'analyse de donnes tant que tu y es ?
Justement, si ! Et vous allez voir que prendre 5 minutes pour rflchir la manire de considrer un logiciel peut apporter
beaucoup de choses.
www.openclassrooms.com
8/250
Il faut enfin savoir que si vous choisissez un tableur diffrent d'Excel, ce cours peut vous tre utile dans la mesure o les outils
de base de ces logiciels sont les mmes.
Mais continuons selon l'hypothse que vous possdez dj Excel et que vous voulez apprendre tirer profit de ce logiciel.
Voyons d'abord comment l'installer.
Installation
Parlons prsent du processus d'installation. Le processus d'installation est trs simple, et rapide.
Une fois que vous avez cliqu sur le fichier du programme d'installation, vous arrivez sur une fentre comme celle-ci :
www.openclassrooms.com
9/250
Dmarrage
Nous allons ici faire une petite visite guide de l'interface du logiciel.
L'interface, c'est ce qui vous tombe sous le nez quand vous ouvrez Excel.
Dmarrer Excel
Pour dmarrer Excel, vous pouvez :
Vous rendre dans le menu Dmarrer , puis dans Tous les programmes , dans le dossier Microsoft Office , slectionnez
Microsoft Office Excel 2010 :
www.openclassrooms.com
10/250
Cliquez directement sur Microsoft Excel 2010 en l'ajoutant dans le menu Dmarrer :
www.openclassrooms.com
11/250
Cliquez directement sur Microsoft Excel 2010 en l'ajoutant dans la barre des tches :
Note, vous pouvez l'ajoutez dans le menu Dmarrer ou dans la barre des tches en cliquant droit :
www.openclassrooms.com
12/250
Interface
Vous venez d'ouvrir Excel, et vous tes face une interface ma foi plutt agrable regarder.
Et encore heureux, car c'est l-dessus que nous allons travailler jusqu' la fin (ou presque) de ce cours !
Voici donc, sans plus attendre, l'interface de Microsoft Office Excel 2010 :
Le ruban
Tout en haut de la fentre, il y a ce que l'on appelle le ruban . C'est l'une des plus grosses mises jour d'Office 2007, reprise
dans Office 2010 : un ruban, graphiquement volu, dans lequel sont disponibles beaucoup de fonctionnalits du logiciel.
www.openclassrooms.com
13/250
Ds l'arrive sous Excel, l'onglet Accueil est ouvert dans le ruban, donnant libre accs aux fonctionnalits les plus basiques
du logiciel d'analyse de donnes.
gauche de cet onglet se trouve le menu Fichier , en vert - anciennement menu Office -, proposant un panel d'options
diverses et varies sur les classeurs Excel, ainsi que sur le logiciel lui-mme. Toutes les options, basiques ou avances,
permettant de configurer et de personnaliser Excel, se trouvent ici.
droite se trouve un trs large choix de fonctionnalits du logiciel d'analyse de donnes, accessibles grce cette fameuse
structure en onglets. Ces onglets peuvent par ailleurs varier. D'autres onglets pourront apparatre au cours de l'utilisation d'Excel,
notamment si vous suivez le cours, pour vous proposer un panel de fonctionnalits supplmentaires. Ce sont des onglets
contextuels. Par exemple, si vous ditez une image ou un tableau, un ou plusieurs onglets contextuels rservs cet effet seront
automatiquement affichs.
Comme vous pouvez le voir, chaque onglet du ruban Office est lui-mme divis en plusieurs groupes. Ils permettent de mieux se
reprer et de ne pas avoir une foule de fonctionnalits dans un espace aussi rduit. Ainsi Excel a spar toutes les
fonctionnalits selon leur utilisation : la mise en forme de la police dans un groupe, la mise en forme des paragraphes dans un
autre, etc.
Mais n'oublions pas qu'Office 2010, en l'occurrence Excel, possde plusieurs centaines de fonctionnalits. Imaginez toutes ces
fonctionnalits dans le ruban, ce serait tout de mme un peu brouillon, ou alors vous auriez cent onglets !
C'est la raison pour laquelle certains groupes de fonctionnalits ne sont pas compltement affichs. Vous pourrez alors cliquer
sur l'icne d'agrandissement en bas droite de chaque groupe pour avoir accs une fentre contenant toutes les
fonctionnalits du groupe.
Il est possible que l'affichage du ruban soit lgrement diffrent selon la rsolution de votre cran. En effet, par souci
d'conomie de place sur les crans peu larges, le texte peut tre supprim ct des boutons ou certains boutons non
affichs. Les proportions 16:9 ou 16:10 offrent la meilleure qualit d'affichage. Vous pouvez faire la mme observation si
vous redimensionnez la fentre.
www.openclassrooms.com
14/250
La barre d'Accs rapide marche comme la barre de lancement rapide de Microsoft Windows. Elle
permet l'accs rapide aux fonctionnalits globalement les plus utilises d'Excel, en rgle
gnrale.
L'icne Excel ne fait pas partie de la barre d'accs rapide. Elle simule simplement le clic droit sur la barre de titre.
Par dfaut, les fonctionnalits suivantes sont dj prsentes :
Enregistrer (dont le raccourci clavier est Ctrl + S , notez-le !) : permet d'enregistrer votre document (nous allons d'ailleurs
voir cette fonctionnalit vers la fin de ce chapitre ;
Annuler la dernire action (dont le raccourci clavier est Ctrl + Z , notez-le lui aussi) ;
Rpter la dernire action (dont le raccourci clavier est Ctrl + Y , un petit dernier connaitre pour la route).
Ce sont en effet les trois fonctionnalits les plus utilises, quel que soit le document que vous ditez. Nanmoins, il vous est
possible d'ajouter plusieurs autres fonctionnalits. Cliquez simplement sur la flche descendante droite de cette barre. Elle vous
permet d'ajouter (ou supprimer) plusieurs fonctionnalits telles que la cration d'un nouveau fichier ( Ctrl + N ), l'ouverture d'un
fichier enregistr auparavant sur votre disque dur ( Ctrl + O ), l'impression ( Ctrl + P ), la correction orthographique ( F7 ), etc.
Nous apprendrons au fur et mesure du tutoriel nous servir de chacune de ces fonctionnalits, vous pourrez alors adapter
cette barre d'accs rapide votre utilisation personnelle d'Excel.
Par ailleurs, inutile de retenir les raccourcis des fonctionnalits que j'ai donns en deuxime temps. Sachez ce sujet qu'une
annexe est disponible la fin du cours et vous donne un rsum de tous les raccourcis utiles sur Excel. Mettez-le de ct, il
pourra vous servir !
vitez de surcharger votre barre d'accs rapide. Tout comme il est inutile de mettre trop de raccourcis sur la barre de
lancement de Windows, il est dconseill d'en mettre trop dans celle-ci. Le principe tant que ces fonctionnalits
doivent tre accessibles rapidement, plus il y en a, moins vous serez rapide pour reprer celles dont vous avez besoin
sur le moment.
La barre de formules
Entre votre zone de travail et le ruban se trouve un champ trs important : la barre de formules .
Cette zone est trs importante et mrite un chapitre pour elle toute seule (et elle en aura un). Pour le moment, ne compliquons pas
les choses, retenez que ce champ trs long se nomme barre de formules .
Notez nanmoins que la liste droulante gauche du champ ne fait pas partie de la barre de formules.
La barre d'tat
En dessous de votre zone de travail se trouve la barre d'tat.
Dans cette barre de trouvent les ascenseurs , entours l encore de nombreux autres boutons. Ces ascenseurs vous
permettent de vous dplacer dans le quadrillage. Leur utilisation n'est pas trs complique, il suffit de cliquer sur les flches pour
bouger.
Vocabulaire
www.openclassrooms.com
15/250
Lorsque vous ouvrez Excel, vous ouvrez ce que l'on appelle un classeur .
Pourquoi un classeur ?
Il s'agit d'un classeur pour la simple et bonne raison qu'il est lui-mme compos de diffrentes feuilles de calculs.
Chaque onglet correspond une feuille de votre classeur. Si vous cliquez sur les onglets, vous changez de feuille.
Vous pouvez mettre autant de feuilles que vous le dsirez.
Dans 98 % des cas, on ne se sert que d'une seule feuille par classeur mais sachez que par dfaut, il y en a trois dores et dj
cres.
Afin de ne pas vous noyer dans les informations, je ne vais pas expliquer ici comment ajouter / supprimer / renommer des
feuilles. Par contre, je l'explique dans cette annexe, lire quand vous voulez ; l'occasion d'une pause, par exemple.
Chaque case de la zone de travail est appele cellule .
Nous la reprons dans le tableur grce ses coordonnes .
Des coordonnes ?
Regardez votre zone de travail : il y a des cellules, mais aussi des numros de colonnes et de lignes. Une cellule slectionne, ou
encore nomme cellule active , est caractrise par la lettre de sa colonne et le numro de sa ligne.
Ainsi, si une cellule se situe dans la colonne C et la ligne 12, elle aura pour coordonnes C12.
De mme pour une autre cellule situe dans la colonne H et la ligne 4 : elle aura pour coordonnes H4, comme la bataille
navale.
. Voyons
Ouvrir un classeur
Il faut tout d'abord vous rendre dans votre dossier Applications , accessible depuis le Finder de Mac OS X. Il ne vous
reste plus qu' trouver votre copie d'Excel et de l'ouvrir. Une fentre s'ouvre, vous proposant de charger plusieurs modles
prdfinis :
www.openclassrooms.com
16/250
Pour dcouvrir et apprendre, nous avons besoin d'un classeur vide, choix propos par dfaut. Cliquez donc sur Choisir .
Votre classeur s'ouvre :
www.openclassrooms.com
17/250
Je ne vous ai pas menti en vous disant que l'interface tait extrmement ressemblante celle de Windows
. Vous tes donc
fins prts pour continuer et n'oubliez pas que le cours se base sur la version Windows ! Si jamais il y a une manipulation
diffrente sous Mac, vous en serez avertis.
Rsumons
Mot mot, la bureautique vous permet par le biais de logiciels de faire votre travail de bureau (comptabilit, rdaction de
courriers) sur l'ordinateur.
Les tableurs permettent bien plus que faire de la simple comptabilit. On peut les assimiler des machines calculer
sophistiques, capables galement de fournir des analyses de donnes compltes sous diverses formes (tableaux,
graphiques, etc.). Excel est un tableur, c'est le logiciel que nous allons apprendre utiliser dans ce cours.
Vous connaissez prsent le sujet du tutoriel : Excel. Vous avez install la suite Office (la suite bureautique laquelle appartient
le logiciel d'analyse de donnes Excel) et vous en connaissez les principales parties de son interface.
J'espre que vous avez compris les diffrentes utilisations des parties qui composent son interface, puisque ds le prochain
chapitre, vous allez apprendre l'utiliser.
Vous pensiez rellement pouvoir vous tourner les pouces encore longtemps ?
www.openclassrooms.com
18/250
Dans tout le cours, nous vous proposerons de tlcharger des documents Excel. Dans la dernire partie de ce cours, vous serez
par ailleurs amen tlcharger des scripts VBA. Nous le signalerons grce l'icne :
www.openclassrooms.com
19/250
Cliquez sur Nouveau , justement en dessous de Rcent , slectionn en bleu ds votre arrive dans le menu. Vous arrivez
dans un nouvel onglet du menu (des onglets ? Encore !
). A partir de cette page, vous n'avez qu' double-cliquer sur
Nouveau classeur , prslectionn par dfaut :
Vous voil avec un nouveau classeur tout beau tout blanc tout vierge.
Pour rappel, j'aimerais vous re-prciser qu'un Ctrl + N vous permettait de crer un nouveau document, plus rapidement.
Vous avez devant vos yeux votre premire feuille divise en une multitude de cellules , repres grce leurs coordonnes
COLONNE LIGNE.
www.openclassrooms.com
20/250
Il y a une cellule dans le bloc qui n'est pas en bleu mais en blanc ? Ne vous inquitez pas : elle fait tout de mme partie
du bloc.
Sous Mac, la manipulation est la mme. Appuyez sur la touche cmd (commande) au lieu de Ctrl pour Windows.
www.openclassrooms.com
21/250
De mme pour les lignes, sauf que ce coup-ci, il faut cliquer gauche sur le numro de ligne !
Nous savons dsormais slectionner une ou plusieurs cellules, occupons nous d'en saisir des donnes que nous pourrons par la
suite analyser.
La cellule active
Lorsque vous slectionnez une cellule, celle-ci sera appele cellule active .
Lorsque vous saisissez des donnes, elles seront entres dans la cellule active.
Slectionnez une plage de cellules :
Il y a une cellule qui est dans la plage qui n'est pas bleue mais blanche. C'est par cette cellule que la slection a t commence.
C'est donc la cellule active : les donnes seront affiches dans cette dernire.
Il n'y a qu'une seule cellule active par plage.
www.openclassrooms.com
22/250
Dfinir un format
Saisissez des donnes numriques sur quelques cellules :
Slectionnez la plage qui contient ces donnes puis fates un clic droit dessus puis cliquez sur Format de cellule dans le
menu droulant :
www.openclassrooms.com
23/250
www.openclassrooms.com
24/250
www.openclassrooms.com
25/250
Laissez les options par dfaut puis cliquez sur OK : vous revenez au tableau.
Vos donnes sont maintenant sous un format montaire !
L'embellissement
Enfin des couleurs dans ce tableur bien moche !
www.openclassrooms.com
26/250
Slectionnez une plage de cellules puis accdez au format de cellule. Je zappe l'onglet Police mais je m'attarde sur les
bordures. Cliquez sur l'onglet Bordure :
Choisissez une couleur dans le menu entour en bleu, par exemple du vert.
www.openclassrooms.com
27/250
Choisissez maintenant le style de la bordure (paisseur, etc.) dans le menu entour en bleue sur cette nouvelle image :
www.openclassrooms.com
28/250
Cliquez sur Contour afin que votre plage soit encadre du trait que vous avez paramtr.
Vous pouvez aussi cliquer sur Intrieur : dans ce cas, vous aurez un tableau, ce qui est pratique pour l'impression de votre
feuille de calcul mais pas pour sa lisibilit !
www.openclassrooms.com
29/250
Voyez-vous le petit carr noir en bas droite de ce cadre qui montre que la cellule est slectionne ?
Cliquez gauche dessus ; maintenez le bouton enfonc, descendez puis relchez. Le mot Salut a t recopi.
www.openclassrooms.com
30/250
www.openclassrooms.com
31/250
a marche aussi pour les mois : il suffit d'crire Janvier la place de Lundi puis de suivre la mme procdure.
Souvenez-vous de cette technique. On s'en sert partout et nous allons la rutiliser dans le chapitre suivant !
www.openclassrooms.com
32/250
Astuce : Pour enregistrer votre document, vous pouvez aussi utiliser l'un des raccourcis suivants :
F12 : affichera systmatiquement la fentre Enregistrer sous que nous venons de voir ;
Ctrl + S : affichera cette mme fentre si le classeur est nouveau, ou bien sauvegardera le document par-dessus
l'origine si le fichier a prcdemment t enregistr.
Il est possible d'enregistrer trs rapidement votre classeur n'importe quel moment grce au raccourci clavier Ctrl + S.
Un raccourci clavier est une combinaison de touches de votre clavier qui permet d'effectuer certaines actions dans un
logiciel.
Sous Mac, le raccourci clavier est cmd + S .
Cette fentre peut vous paratre complique, mais nous n'allons pour le moment pas nous servir de grand-chose.
O enregistrer le fichier ?
Vous devez slectionner l'emplacement de l'enregistrement sur votre disque dur. Vous pouvez le faire en slectionnant le
dossier depuis le menu de gauche. Une fois un emplacement slectionn, son contenu apparat dans le volet de droite. Vous
pouvez alors naviguer l'intrieur des dossiers.
Quand vous avez correctement slectionn le dossier o enregistrer le classeur (et que son possible contenu est apparu dans le
volet de droite), alors vous pouvez passer l'tape suivante.
Nommer le fichier
Vous devez ensuite renseigner le nom de votre classeur, par rapport au thme, ou son utilit, ou au type de classeur (facture,
devis, etc.). Bref, vous avez libre-choix - tant que ce nom n'a pas dj t utilis pour un classeur Excel 2010 prcdemment
sauvegard l'emplacement souhait.
www.openclassrooms.com
33/250
Assurez-vous de donner un nom comprhensible votre classeur, qui se rapporte au sujet des donnes, ou quoi que ce soit
d'autre. Bref, il faut que son nom vous mette la puce l'oreille. Cela vous permettra de le retrouver plus facilement et de savoir ce
qu'il contient (et ce par la simple lecture de son nom).
Le type de fichier
Pour ce qui est du type, il s'agit d'enregistrer le fichier dans un format spcial :
L'auteur
L'auteur, c'est vous (en l'occurrence dans le cas de l'image prcdente, c'est nous (
Par dfaut, le fichier sera enregistr sous votre nom d'utilisateur de Windows.
Vous pouvez bien videmment le changer. Pour ce faire, cliquez sur le ou les noms d'auteurs dj prsents, faites un Ctrl + A, puis
tapez le ou les nouveaux noms d'auteurs dsirs, spars d'un point-virgule.
www.openclassrooms.com
34/250
miniature , Excel gnrera automatiquement cet aperu si vous utilisez Windows Vista ou Windows Seven.
Enregistrer !
Enfin votre moment de gloire !
Cliquez sur Enregistrer . Tadam ! Votre fichier Excel est enfin sauvegard !
Rsumons
Un fichier Excel s'appelle un classeur . Aprs une procdure d'enregistrement, qui permet de sauvegarder votre travail
et de le rutiliser plus tard, votre classeur porte un nom.
Un classeur contient des feuilles , divises en une multitude de cellules , repres grce leurs coordonnes
COLONNE LIGNE.
La souris et le clavier nous permettent de slectionner une cellule ainsi que des cellules, jointes ou non, dans la feuille. Il
est galement possible de slectionner une colonne ou une ligne de cellules entire en cliquant sur l'tiquette
correspondante.
Il n'y a qu'une seule cellule active par plage de cellules slectionnes. Il s'agit tout simplement de la cellule depuis
laquelle la slection a dbut.
Avec votre clavier, vous pouvez saisir des donnes dans une cellule. Le contenu apparatra alors dans la barre de
formules lorsque ladite cellule est slectionne. Les donnes peuvent tre numriques, alphabtiques voire les deux la
fois.
Le menu Format de cellule nous permet de mettre en forme la cellule (couleur, bordure etc.) ainsi que les donnes
contenues dans la cellule (police etc.). Notez qu'en jouant sur les bordures, il est possible de crer des tableaux.
La poigne de recopie incrmente nous permet de recopier le contenu d'une cellule sur une slection de notre choix
par un simple glisser-dposer. Excel connat des listes telles que les jours de la semaine ou les noms des mois qui
permettent, partir du premier lment, de retrouver les autres, toujours sur un simple glisser-dposer.
www.openclassrooms.com
35/250
Acclrez la saisie !
Nous continuons voir comment saisir et mettre en forme nos donnes dans les fameuses cellules, qui constituent la base d'une
feuille
. Grce aux bordures de cellules que vous matrisez bien dsormais, vous pouvez mme faire un tableau et le complter
ligne par ligne ou colonne par colonne au fur et mesure de vos besoins. Soit, c'est ncessaire au cas par cas mais long si il y a
un flot monstrueux de donnes saisir.
Dans ce chapitre, vous allez apprendre augmenter votre productivit dans le tableur Excel grce des outils mconnus.
Autrement dit, vous saisirez plus vite, ce qui peut vite devenir pratique lorsque vous avez beaucoup d'informations saisir et
organiser (ce qui sera gnralement le cas).
Que diriez-vous de crer vous aussi votre petite liste ? Il suffira de saisir le premier lment dans une cellule, de l'tirer et votre
liste apparatra complte
! Cette fonctionnalit peut se rvler trs utile dans le cas de tableaux complter toujours de la
mme manire. Plus tard, nous verrons comment crer des listes droulantes partir de vos donnes, ce qui est encore plus
pratique ! Mais pour le moment, arrtons de saliver et retournons notre petite liste personnalisable.
Vous souhaitez faire une liste de marques de voitures parce que vous devez les retaper la suite sans cesse. Peugeot, Citron,
Renault, Ford, Toyota... mme avec un copier-coller, a devient vite lassant et rptitif.
Choisissez une colonne, et saisissez une marque par cellule, les unes en dessous des autres :
Nous allons donc crer des listes personnalises. Pour cela, allez dans le menu Fichier puis dans Options :
www.openclassrooms.com
36/250
Ensuite, rendez-vous dans l'onglet Options avances , catgorie Gnrale , et cliquez sur le bouton Modifier les listes
personnalises :
www.openclassrooms.com
37/250
Une fentre qui s'ouvre alors, vous permettant d'entrer une nouvelle liste personnalises, ainsi que de voir celles qui ont t prconues par Excel :
www.openclassrooms.com
38/250
Sous Mac, il faut cliquez sur le menu Excel puis sur Prfrences . Une fentre s'ouvre, il faut cliquer sur Listes
personnalises .
La manipulation est ensuite identique celle de Excel pour Windows. Notez que vous pouvez accder la fentre des
prfrences grce au raccourci clavier cmd + , .
Sur la gauche, vous reconnaissez les listes mmorises par dfaut (noms des mois, noms des jours). Cliquez sur Nouvelle Liste
si ce n'est dj fait et cliquez sur Importer . Slectionnez dsormais vos marques de voitures et revenez dans la fentre des
options grce la petite flche rouge. Votre liste apparat gauche. Validez enfin :
www.openclassrooms.com
39/250
Notez, comme je l'ai prcis dans l'image ci-dessus, que vous n'avez pas forcment besoin d'importer la liste, vous pouvez tout
aussi bien la rdiger vous-mme puis l'ajouter.
Vous pouvez maintenant essayer ! Slectionnez une cellule au hasard et tapez-y le premier lment de la liste (chez nous,
Peugeot ). tirez, la liste est recopie ! Un fichier d'exemple a t ralis et ajust pour que vous n'ayez plus qu' tirer. N'hsitez
pas le tlcharger et l'essayer !
Avec ce que vous savez faire (saisie de donnes dans une/des cellules, bordures), vous tes capables de dlimiter des tableaux,
bref, de vous organiser, car ce n'est pas la place qui manque dans une feuille. Sans le savoir, vous fates ce que l'on appelle des
listes . Excel vous propose de les complter trs rapidement.
www.openclassrooms.com
40/250
Cette liste est exploitable : elle dlimite une plage rectangulaire de cellules.
Voici le mme tableau mais non exploitable parce que la plage dlimite est sale :
Complter sa liste !
Crons une liste de donnes exploitable.
Votre tableau ne devra pas contenir de lignes intermdiaires vides, ni une ligne de fermeture !
www.openclassrooms.com
41/250
C'est un formulaire (une fonctionnalit autrefois appele grille ) que nous allons utiliser ici. Comme il s'agit d'une
fonctionnalit qui n'est pas prsente par dfaut dans le ruban ni dans la barre d'Accs d'outil rapide, nous allons donc l'y ajouter
:
Cliquez sur la flche descendante de la barre d'outils d'Accs rapide puis, tout en bas de la liste, sur Autres commandes :
Sur la fentre qui apparait, slectionnez Toutes les commandes (dans la liste droulante de gauche), puis cherchez
Formulaire... , cliquez sur le bouton Ajouter puis validez en cliquant sur OK :
www.openclassrooms.com
42/250
Notez que la fentre que nous venons de voir se trouve aussi en allant dans le menu Office , puis dans Options :
www.openclassrooms.com
43/250
Ensuite, il faut donc slectionner l'tiquette de colonne Prnom et cliquer sur l'icne que nous venons d'insrer dans la barre
d'outils d'accs rapide : Une fentre s'ouvre, vous proposant de supprimer des lignes, d'en rajouter...
www.openclassrooms.com
44/250
Bien videmment, ce procd suppose que vous n'ayez, pour tre sr de votre coup, qu'un seul mot commenant par I et que
ce mot de dpart soit bien orthographi. Une astuce permet de contourner la problmatique de plusieurs mots commenant par la
mme lettre.
Rsumons
La cration d'une liste personnalisable permet, partir d'un lment de votre liste et de la poigne de recopie
www.openclassrooms.com
45/250
Le chapitre vous a prsent divers moyens d'acclrer la saisie de donnes pour tre plus productif. Les listes de donnes, vues
en deuxime sous-partie, constituent une notion essentielle d'Excel, que nous rutiliserons dans tout le cours. Au chapitre
suivant, nous commencerons faire des calculs et automatiser un peu vos tableurs
.
www.openclassrooms.com
46/250
Oprations basiques
Pour toutes les formules, on va utiliser ce que l'on appelle des fonctions .
Ce sont des mots crits en majuscule dans les formules et qui permettent de ne pas avoir crire des oprateurs (+, x, etc.)
C'est donc trs pratique s'il y a des formules de 3 lignes.
Il faut se faire une image de la fonction : c'est reprsent par un mot dans lequel on fait passer des donnes.
La fonction travaille sur ces donnes et ressort le rsultat.
Pour mieux comprendre, voici le schma de ce que je viens de raconter :
Mais comment on lui fait passer des donnes, et o sera affich le rsultat ?
Le rsultat de votre formule sera affich dans la ou les cellules qui contiennent cette formule.
Voici la syntaxe d'une formule avec fonction :
=FONCTION(DONNEE1;DONNEE2)
la place des donnes, vous allez crire la rfrence des cellules qui contiennent les donnes analyser...
L'addition
L'addition est gre par la fonction SOMME.
En B2, tapez 5 ; en C2, 123 (prenez l'habitude de ne pas commencer saisir des donnes la ligne 1 et dans la colonne A
Vous devriez avoir ceci :
www.openclassrooms.com
).
47/250
Parce que c'est une mthode trs mauvaise qui ne s'adapte pas aux donnes saisies.
Avec notre formule, changez la valeur de B2, mettez par exemple 10... Que constatez-vous ? Le rsultat en E2 s'adapte !
=SOMME( B2;-C2)
La multiplication
La multiplication est gre par la fonction PRODUIT. Sa syntaxe est la mme que pour l'addition.
Maintenant que vous avez compris, essayez avec DIFFERENCE et QUOTIENT, qui grent respectivement la soustraction et la
division.
www.openclassrooms.com
48/250
La plage a t gnre toute seule dans la formule ! Fermez la parenthse, validez, vous avez votre moyenne.
Cette technique est valable pour toutes les fonctions vues ci-dessus.
En rgle gnrale, vous serez plus souvent amens faire une addition de toutes les valeurs d'une grande plage de cellules
qu'une addition des valeurs de deux cellules !
Nous n'allons pas continuer tudier chaque fonction : Excel en propose beaucoup (trigonomtrie, etc) et un tutoriel y est
consacr.
www.openclassrooms.com
49/250
En E3 notre nombre de minutes, c'est un entier positif, saisi par l'utilisateur. En G3, on a tout simplement = QUOTIENT( E3 ;
60) et en I3 = MOD( E3 ; 60)
Les conditions
Nous venons de finir avec les fonctions. Il est inutile de toutes les passer en revue. Vous connaissez les plus classiques et les
plus utiles, le reste viendra en temps voulu
.
Ici, nous sommes toujours sur les formules, donc, a se tape toujours dans la barre de formules et a commence toujours par le
signe gal =. Toutefois, ce sont des formules un peu particulires, que l'on appelle les conditions .
Diffrentes conditions sont possibles. Voici les oprateurs qui vont vous tre utiles :
Oprateur
Description
>
<
>=
<=
<>
Si votre condition est : Si la cellule B2 est suprieure ou gale 45, alors... , vous remplacerez condition par
B2>=45
.
Voici comment a se passe dans Excel :
www.openclassrooms.com
50/250
Et voil le rsultat quand la cellule contient une donne numrique diffrente de 100 :
Avant et aprs le ET ou le OU, vous mettez une condition. D'o le nom de condition multiple.
La diffrence entre ces deux cas, c'est que dans l'un les deux conditions doivent tre remplies pour effectuer une tche
quelconque alors que dans l'autre, il faut qu'une seule condition soit remplie pour effectuer une tche.
Mettons les choses au clair avec des schmas, comme nous les aimons tous.
www.openclassrooms.com
51/250
www.openclassrooms.com
52/250
www.openclassrooms.com
53/250
Est-ce plus clair ? Si oui, la condition est respecte et vous pouvez passer la suite. Sinon, la condition n'est pas respecte et
vous devez relire les schmas.
www.openclassrooms.com
54/250
Application
Maintenant que la diffrence est faite entre ET et OU, je propose de mettre en pratique ces fameuses conditions multiples.
Voici la syntaxe :
Le petit carr noir, en bas droite, qui recopie la valeur des cellules o vous voulez et qui reconnait quelques listes...
Ah ! Eh bien voil ! J'tais sr que vous vous en souviendriez !
J'ai un scoop, cette poigne est capable de recopier aussi vos formules et de les adapter !
Voyons avec un exemple trs simple : une addition o je vais exceptionnellement ne pas utiliser une fonction mais bien un
oprateur (+) :
www.openclassrooms.com
55/250
Une vulgaire addition que j'aimerais recopier vers le bas. Seulement voil, il serait difficile (
) et trop long de faire un
copier/coller de la formule sur toutes les cellules. J'utilise donc la poigne de recopie incrmente sur ma formule :
Et j'obtiens un rsultat spectaculaire : Excel a compris qu'il fallait descendre d'une cellule chaque fois. Regardez, alors que
ma formule de dpart concernait la cellule G8, la case d'en dessus utilise la cellule G9. Eh oui, Excel est intelligent :
Eh bien, les dollars servent figer l'objet devant lequel il se trouve. Dans ce cas, il est devant la lettre de la colonne et le numro
de la ligne : la cellule E6 est totalement fige.
Si je ne l'avais pas fait, Excel aurait additionn les valeurs des cellules en dessous de E6, c'est--dire 0 (une cellule vide a pour
valeur 0) !
Lorsque j'utilise la poigne sur une formule, Excel incrmente les cellules qui sont impliques dans cette formule.
Les dollars me permettent d'viter cette incrmentation, ce qui peut s'avrer utile.
Notez que ce signe peut tre uniquement plac devant la lettre de colonne (il figera alors la colonne), ou uniquement devant le
numro de ligne (il figera alors la ligne).
Puis pour finir, j'ajoute que dans une formule, il y a autant de parenthse(s) ouvrante(s) que de parenthse(s)
fermante(s)
www.openclassrooms.com
56/250
Pour avoir le total ligne par ligne, il faut multiplier le prix unitaire du produit par la quantit souhaite par le client. Pour ne pas
recopier la formule sur toutes les lignes, vous utilisez la poigne de recopie incrmente que nous venons de voir. Et l, c'est le
drame :
Parce qu'une cellule vide a pour valeur 0, Excel vous affiche le rsultat, sur les lignes vides, du produit 0x0 = 0. C'est moche. Nous
allons donc appliquer une mise en forme conditionnelle : si la valeur de la cellule vaut 0, alors je mets le texte en blanc. Sinon, je
le mets en noir.
D'abord, il faut slectionner les cellules sur lesquelles la mise en forme doit tre applique (a peut tre comme ici une portion
rduite de colonne mais vous pouvez slectionner la colonne entire).
Dans l'onglet Accueil , dans le groupe Style , cliquez sur Mise en forme conditionnelle . Dans le menu droulant,
cliquez sur Nouvelle rgle :
www.openclassrooms.com
57/250
Dans la fentre qui s'ouvre, cliquez sur Appliquer une mise en forme uniquement aux cellules qui contiennent . Laissez la
Valeur de la cellule mais vous choisissez gale dans la seconde liste droulante. Tapez 0 dans le troisime champ
puis cliquez sur le bouton Format .
Dans cette nouvelle fentre, choisissez la couleur blanche en guise de police. Puis validez ces deux fentres :
Vous venez de faire une mise en forme conditionnelle : c'est--dire changer les proprits d'une cellule en fonction de sa valeur.
On peut faire pareil, mais en changeant la couleur de fond, par exemple. Notez que vous pouvez imposer une condition de
supriorit, d'infriorit etc. Faites des essais en manipulant ces diffrents cas.
www.openclassrooms.com
58/250
s'y perdre
. Dans ce cas, il sera trs utile de pouvoir transmettre des donnes d'une feuille l'autre, et c'est justement ce que
nous allons voir maintenant.
La transmission de donnes d'un feuillet l'autre se passe dans une formule. a tombe bien, vous savez maintenant de quoi il
s'agit.
Prenons l'exemple avec deux feuillets Source et en Cible . Vous l'aurez sans doute compris, nous allons transmettre une
donne du premier feuillet vers le second :
Dans le feuillet Source , tapez en B2 une donne (numrique ou non, peu importe).
Pour rcuprer cette donne dans le feuillet Cible , il faut prciser de quel feuillet notre donne provient. Dans ce cas, la
donne transmettre provient de Source . La formule sera donc :
=Source!B2
On prcise de quel feuillet nous souhaitons importer les donnes au dbut de la formule avec le nom de la feuille suivi d'un point
d'exclamation.
Si je tape cette formule en C5 de mon feuillet Cible , je vais avoir le mme texte qu'en B2 dans le feuillet Source .
A vous maintenant d'adapter cette mthode en fonction de vos besoins !
Cette astuce n'est valable que lorsque vous ditez la formule, c'est--dire lorsque vous la modifiez. Il est intressant de voir d'un
seul coup d'il quelles sont les cellules qui sont utilises dans une formule sans avoir diter la formule. De plus, si vous voulez
le faire pour plusieurs cellules en mme temps... vous l'avez devin, c'est impossible.
Pour voir les dpendances qu'il existe entre les cellules, Excel propose deux fonctions. La premire fonction est la suivante :
"Reprer les antcdents" qui permet de reprer dans la feuille quelles sont les cellules qui influent sur la cellule slectionne.
Rciproquement, la seconde fonction "Reprer les dpendants" permet de connatre quelles sont les cellules influences par la
cellule slectionne.
Ces deux fonctions se trouvent dans l'onglet Formules et dans le groupe Audit de formule.
www.openclassrooms.com
59/250
Comment les utiliser ? C'est trs simple, il suffit de placer le curseur sur la cellule de votre choix et ensuite de cliquer sur la
fonction qui vous convient. Apparaissent alors des flches bleues.
Et voil, on peut alors voir toutes les dpendances des cellules entre elles sur une mme feuille ! Pour supprimer les flches,
cliquez sur la fonction "Supprimer les flches" dans le mme groupe.
Nos objectifs
L'utilisateur de votre tableur est invit saisir une anne (par exemple : 2015).
Vous devez renvoyer le jour du premier janvier, du premier mai, du 8 mai, du 14 juillet, du 15 aot, du 11 novembre, du 25
dcembre (c'est--dire si a tombe un lundi, un mardi etc.) ;
Vous devez indiquer si oui ou non le 29 fvrier existe dans l'anne donne, c'est--dire si l'anne est bissextile ;
Vous devez renseigner le jour du jeudi de l'Ascension, de la Pentecte, du lundi de Pentecte, de Pques et du lundi de
Pques.
Nos outils
La fonction DATE()
Bien que son utilisation soit explique en annexe, je vais tout de mme vous apprendre vous servir de la fonction DATE().
DATE a besoin de trois paramtres : l'anne, le mois et le jour.
www.openclassrooms.com
60/250
www.openclassrooms.com
61/250
Le tri
Excel propose de nombreux outils pour trier vos donnes. Nous souhaitons par exemple trier les entres d'un tableau par ordre
alphabtique du prnom. Faisons donc un beau tableau bien structur et sans espace entre les diffrentes lignes.
Slectionnez tout ce tableau, puis, dans l'onglet Accueil , dans le groupe dition , cliquez sur Trier et filtrer .
Un petit menu apparait. A partir de l, vous pouvez directement appliquer un tri de A Z ou encore de Z A . Si vous
souhaitez personnaliser le tri, cliquez sur Tri personnalis :
www.openclassrooms.com
62/250
Vous avez alors une petite fentre qui s'ouvre qui permet d'aller plus vite dans les tris alphabtiques :
Une fentre s'ouvre et vous constatez qu'Excel reconnait parfaitement les colonnes du tableau slectionn et vous demande ce
que vous voulez tri (donnes, couleurs, icnes) et comment vous voulez le trier. Nous voulons ici trier les noms (la colonne
Nom ) par ordre alphabtique, nous nous occupons seulement d'une zone de tri. Appliquer ensuite un tri croissant en cochant
"Croissant", les noms seront donc rangs par ordre alphabtique :
www.openclassrooms.com
63/250
Par la mme occasion, vous pouvez, si vous le dsirez, trier par Age ou Score. Par dfaut, Excel vous propose un seul niveau de
tri, pour en ajouter, cliquer sur Ajouter un niveau .
Nous cliquons sur OK , et notre tableau est dsormais tri :
Pour notre exemple, il faut dire Excel que les valeurs des trois cellules vides doivent tre comprises entre 12 et 17. Dans le cas
contraire, Excel renvoie un message d'erreur et votre donne ne sera pas saisie.
Slectionnez ces cellules :
www.openclassrooms.com
Allez ensuite dans l'onglet Donnes , groupe Outils de donnes , bouton Validation des donnes :
www.openclassrooms.com
64/250
65/250
Vous remarquez qu'elle est constitue de trois onglets. L'onglet ouvert par dfaut est Options . C'est l'onglet qui nous
intresse.
Nous souhaitons que les cellules slectionnes n'acceptent avant tout qu'un ge. Un ge tant un nombre entier, droulez la liste
Autoriser et choisissez Nombre entier .
Si vous droulez le menu Donnes , vous constaterez que vous tes assez libres quant aux critres de validation de donnes.
Par dfaut, le critre est comprise entre . Et a tombe bien puisque notre ge est compris entre 12 et 17 . Inscrivez 12
dans Minimum et 17 dans Maximum .
Cliquez enfin sur OK :
Vous pouvez prsent essayez de taper 3 dans l'une de ces cellules paramtres... Excel vous renvoie un petit message d'erreur !
www.openclassrooms.com
66/250
Il n'y a plus qu' cliquer sur Annuler . On constate qu'Excel supprime toute valeur qui ne correspond pas vos critres !
Dans la liste des Style , vous pouvez dfinir le type de bote de dialogue qui apparatra. En fait, cela ne change pas grandchose mis part que l'icne de la bote de dialogue sera diffrent selon son type. La fentre aura galement un ou deux boutons
de plus ou de moins selon son type. Sous les vieux Windows (98 et 95), on pouvait entendre un bruit sourd mis par l'ordinateur
quand une bote de type Arrt apparaissait (quel bon souvenir d'enfance
). Bref, le style est par dfaut sur Arrt et je
vais le laisser tel quel. Libre vous de faire vos propres tests ensuite.
Excel comprend que ce message doit apparatre quand des donnes non valides sont tapes. C'est en effet ce pour quoi la case
juste au-dessus est coche.
Il ne vous reste plus qu' personnaliser le message d'erreur avec un titre et un message. Cliquez sur OK :
www.openclassrooms.com
67/250
Dans la fentre de Validation des donnes , il reste un troisime onglet : Message de saisie . Il vous permet d'afficher un
message lorsqu'une cellule aux donnes restreintes est slectionne :
www.openclassrooms.com
68/250
Ce qui donne :
Alors ?
Tout d'abord, slectionnez les mmes cellules concernes dans notre bon vieux tableau. Cliquez sur Donnes puis sur
Validation des donnes .
www.openclassrooms.com
69/250
Dans la liste Autoriser , choisissez Liste , qui permet de paramtrer une liste droulante avec vos propres informations.
Pour complter votre liste (une liste vide n'est que de peu d'utilit), il va falloir complter le champ Source .
Deux solutions s'offrent vous :
Premire solution
Vous pouvez saisir le contenu de votre liste manuellement, en sparant chaque lment par un point-virgule.
Cette mthode est tout fait convenable pour des petites listes comme ici. Le problme, c'est que si vous dcidez un jour
d'agrandir votre liste, la manipulation sera un peu fastidieuse puisqu'il faudra slectionner les cellules concernes, revenir dans
cette fentre et enfin, modifier. Ici, a va encore puisque nous travaillons sur trs peu de cellules.
Deuxime solution
La deuxime solution, pour pallier ce problme, reste de slectionner l'aide de la petite flche rouge droite du champ les
informations. Cela revient mobiliser quelques cellules de votre zone de travail et crire dans chacune d'elles un nombre.
Dans votre zone de travail, trouvez-vous un coin dlimiter et dans lequel vous saisirez les donnes de votre liste. Avec la flche
rouge droite du champ Source , slectionnez ces donnes, revenez dans votre fentre et cliquez sur OK .
Vous avez de jolies listes droulantes.
Si vous slectionnez deux cellules ayant deux types de validations diffrentes et que vous cherchez modifier les
validations en question, il vous faudra alors supprimer l'ensemble des conditions de validations :
www.openclassrooms.com
Il est maintenant tant d'apprendre analyser vos donnes avec de puissants outils d'Excel.
www.openclassrooms.com
70/250
71/250
Les listes
Les listes de donnes... vous les croyez enterres ? Eh bien non, elles reviennent la charge !
l'analyse et non pour la saisie. Au programme : listes droulantes gogo et quelques formules bien mastoc ! Le tout pour vous y
retrouver, filtrer et impressionner la galerie !
Pour pouvoir vous entraner avec moi durant ce chapitre, je vous propose un nouveau classeur tlcharger :
Vous voyez que c'est un vritable bazar ! Encore, a va parce qu'il n'y a que 2 matires mais imaginez qu'on ait mis 35 lves et 8
matires.
Les filtres vont nous aider faire un tri simple, efficace et nous y retrouver.
www.openclassrooms.com
72/250
Slectionnez toutes les cellules qui composent ce fameux tableau puis allez dans l'onglet Insertion et dans le cadre
Tableaux , cliquez sur le bouton Tableau :
Il vous ai ensuite demand de slectionner le tableau en question, attention bien prciser que les en-ttes de votre tableau
figurent dans votre slection :
www.openclassrooms.com
73/250
Des listes droulantes ! Ce sont elles qui vont filtrer vos donnes.
Droulez par exemple la liste de la colonne Note . Si vous slectionnez 8, vous aurez dans votre tableau toutes les lignes dont
la note est 8, en l'occurrence Mathieu !
Lorsqu'un filtre est activ, c'est un mini-entonnoir qui est apparu la place de la flche et cette dernire est positionne en bas
gauche de l'entonnoir :
www.openclassrooms.com
74/250
www.openclassrooms.com
75/250
J'y viens. Elle permet de comptabiliser des donnes en multipliant des matrices entre elles.
Pour tre claire, elle permet de compter le nombre d'entres d'une liste selon des conditions mais aussi d'additionner des cellules
d'une liste selon des conditions. Ce n'est toujours pas trs clair ? Je vous donne la fonction et tout de suite un exemple, a vous
aidera surement comprendre.
=SOMMEPROD(( plage1="critre1")*( plage2="critre2")*...)
Alors c'est mieux ? On peut compter le nombre de lignes o la plage1 (colonne 1) est gale critre1 et o la plage2 (colonne 2)
est gale critre2.
Nous allons utiliser un nouveau tableau (plus long) pour les exemples :
Pour me suivre durant cet exercice, vous pouvez tlcharger ce nouveau tableau :
www.openclassrooms.com
76/250
Je vous propose d'autres exemples pour bien comprendre et voir un peu ce que l'on peut faire avec cette fonction.
Exemple 1
Il est possible de compter le nombre de ventes ralises par Jean (on peut aussi raliser cette opration avec la fonction NB.SI) :
=SOMMEPROD((A2:A31="Jean")*1)
On obtient ainsi : 8. Cet exemple n'est pas le meilleur pour montrer la puissance de la fonction mais elle montre qu'on n'est pas
oblig d'avoir beaucoup de paramtres compliqus.
Exemple 2
Il est aussi possible de compter le nombre de ventes suprieures 600 au mois de Janvier :
=SOMMEPROD((B2:B31="Janvier")*(C2:C31>600))
On obtient ainsi : 2. On peut ainsi combiner les conditions pour prendre les valeurs comprises entre 200 et 600 par exemple.
Exemple 3
Enfin, dernier exemple, nous pouvons totaliser la somme accumule grce Pierre aux mois de Janvier et Mars :
=SOMMEPROD((A2:A31="Pierre")*((B2:B31="Janvier")+(B2:B31="Mars"))*(C2:C31))
On obtient ainsi : 2760.
Je viens donc de vous montrer la puissance de cette fonction, qui peut s'avrer trs utile dans des longues listes prsentant
beaucoup de critres.
Voil pour les listes de donnes et leurs filtres.
Je vous conseille de bien apprhender ce chapitre : nous ne pourrons pas nous passer des donnes filtres dans le chapitre
suivant !
www.openclassrooms.com
77/250
Les graphiques
Dans la suite des listes, nous continuons notre tour des fonctionnalits utiles et intressantes d'Excel.
Puisque vous savez dclarer une liste de donnes propre et lisible, il est temps de l'exploiter encore plus !
C'est ce que nous allons voir ici avec les graphiques. Le principe est simple : vous donnez une liste Excel et paf ! Il vous pond
un joli graphique selon vos critres.
Il n'y a rien de bien difficile dans les graphiques. Ils sont d'ailleurs terme assez peu utiliss. Un graphique, a prend de la place
et ce n'est pas forcement ce qu'il y a de mieux pour analyser une liste... Mais tout dpend de vos besoins !
Des graphiques basiques : Excel propose de nombreux modles de graphiques prdfinis adapter une mme liste de
donnes.
Nous verrons ensuite qu'il est possible d'utiliser le graphique dans les sciences exprimentales ! Grce des valeurs saisies
manuellement, vous pourrez dessiner une courbe de tendance, la modliser selon des modles mathmatiques pr-dfinis et
mme afficher son quation. Que du bon !
Nous vous proposons de commencer petit et facile. Nous allons faire la courbe d'volution du nombre de cours sur le Site du
Zro en fonction du temps. Le Site du Zr0 existe depuis 1999 mais il n'est permis aux membres de rdiger leurs propres cours que
depuis 2005. Nous devrions donc voir un pic d'volution la date t = 2005.
Nous n'avons pas de statistiques officielles sous le coude. Nous avons invent ces donnes en respectant toutefois le principe
suivant : avant 2005, le nombre de cours se comptait sur les doigts de la main
.
Voici nos valeurs, libre vous d'inventer les vtres ou de recopier les ntres. Jusqu'ici, vous ne devriez pas trop tre dpayss.
Nanmoins, je vous propose de tlcharger ce tableau, de manire avoir les mmes valeurs que le tutoriel :
78/250
Maintenant, la magie va oprer : voyons comment faire un graphique avec ces donnes.
Dessinons le graphique !
Excel propose plusieurs modles de graphiques : courbes, nuage de points, camemberts, histogrammes, modles 3D...
Le but n'est pas de tous les passer en revue. Vous pourrez le faire trs facilement ensuite. Non, ici, il est temps de voir comment
dessiner le graphique. Nous ferons une courbe.
Slectionnez votre plage de donnes sans les tiquettes de colonnes. Allez dans l'onglet Insertion , dans la rubrique
Graphique et cliquez sur Ligne . Un menu se droule, cliquez sur la premire image :
www.openclassrooms.com
79/250
Un graphique apparat alors ! Nous allons maintenant voir les diffrentes options permettant de le personnaliser.
On obtient deux courbes, l'une sur le nombre de tutoriels et l'autre sur l'volution des dates. Cette seconde courbe ne sert pas
grand-chose, elle devrait tre en abscisse d'ailleurs. L'abscisse, c'est l'axe horizontal du graphique. On va modifier tout a.
La courbe bleue, on n'en veut plus. On va simplement cliquer dessus et appuyer sur la touche Suppr. Et hop ! Elle disparat. C'est
bien parti.
Ensuite dans l'onglet Cration (de l'outil de graphique, il faut donc que le graphique soit slectionn en cliquant dessus si ce
n'est dj fait) et dans la rubrique Donnes , cliquez sur Slectionner des donnes .
www.openclassrooms.com
www.openclassrooms.com
80/250
81/250
Qu'est ce qu'on va faire de cette fentre maintenant ? On va modifier les tiquettes de l'axe horizontal (abscisse) . Cliquez
sur Modifier et ensuite, slectionnez la colonne des annes que l'on a dans le tableau. Cliquez sur OK deux fois et le
graphique se met jour.
On va maintenant changer le titre du graphique et les titres des axes, parce que l, on ne devine pas ce que le graphique
reprsente (mme avec cette croissance fulgurante
). Pour cela on se positionne sur l'onglet Disposition (onglet des
Outils de graphique . Dans la rubrique tiquettes , nous avons deux outils qui nous sont utiles : Titre du graphique et
Titre des axes .
Pour modifier le titre du graphique, rien de plus simple. On va cliquer sur Titre du graphique et slectionner la position o
l'on veut qu'il soit. 3 possibilits : au dessus du graphique, sur le graphique ou aucun (notez que l'on peut changer la position
mme aprs avoir chang le texte donc rien de grave si la position ne convient pas pour l'instant).
Pour changer le texte du titre, on clique sur le titre du graphique o par dfaut il est inscrit trs originalement Titre du
graphique . Nous allons donc crire la place : nombre de cours sur le Site du Zro en fonction du temps. Vous pouvez modifier
la police du titre comme toutes les autres polices en vous rendant dans l'onglet Accueil .
Et pour les titres des axes ? Mme faon de procder. On va simplement cliquer sur Titre des axes . Un menu se droule, l'un
pour l'axe horizontal l'autre pour l'axe vertical. Vous avez ici une faon de positionner l'axe horizontal mais 3 pour l'axe vertical,
vous de tester et choisir celle qui vous convient. Mme procd que pour le titre du graphique pour changer le texte. Voici ce que
l'on obtient :
Petit conseil pour le nom de l'axe vertical, je vous conseille de choisir tout d'abord la position o le texte est
l'horizontale, sens de lecture traditionnel pour modifier votre texte et ensuite le mettre la verticale comme sur
l'illustration. Parce que pour modifier le texte la verticale, il faut cliquer au bon endroit et en plus tourner la tte pour
voir si c'est bien crit.
On va maintenant embellir notre graphique et le personnaliser. Pour commencer, la lgende droite ne sert pas grand-chose,
deux solutions pour l'enlever. La premire, dans l'onglet Disposition , la rubrique tiquettes , cliquez sur Lgende puis
Aucune . La seconde, cliquez droit sur la lgende puis sur Supprimer .
Pour modifier l'apparence de la courbe, on clique droit sur la courbe (il faut tre un minimum prcis pour bien cliquer dessus) et
dans le menu droulant, cliquez sur Mettre en forme une srie de donnes... . Une fentre s'ouvre avec plusieurs onglets en
colonne. A vous de voir ce que vous voulez modifier, faites des tests :
www.openclassrooms.com
82/250
Les modifications sont instantanes, alors en dplaant la fentre sur le ct, on peut voir ce que a donne avant de fermer la
fentre.
Pour le fond du graphique, mme chose : clique droit sur la zone de traage (tout le fond du graphique). Dans le menu droulant,
cliquez sur Mise en forme de la zone de traage... . Une fentre s'ouvre avec plusieurs options, vous de vous amuser !
Nous nous arrtons l dans l'aide la personnalisation des graphiques, mais il y a encore beaucoup, mais quand je dis
beaucoup, c'est beaucoup d'options. Baladez-vous dans les 3 onglets spcifiques au graphique et voyez ce qui est modifiable !
Si vous avez des questions pour modifier quelque chose de spcifique, il vous reste le forum.
Excel dispose d'autres outils pour manipuler les graphiques, ou plutt pour les exploiter. En sciences exprimentales (d'un niveau
lyce), on fait faire aux lves des relevs sur un systme chimique par exemple, et on fait comparer ces donnes une thorie.
www.openclassrooms.com
83/250
Ainsi, on cherche obtenir des courbes partir des donnes exprimentales qui se rapprochent le plus des courbes thoriques.
Pour effectuer ces fameuses comparaisons, Excel vous propose plusieurs outils.
La courbe de tendance
Tracer une courbe de tendance revient tracer une courbe qui s'approchera le plus possible de tous les points du graphe.
Voyons a sur un exemple. Peu importe le support, nous vous avons personnellement choisi les relevs d'un TP de physique de
terminale. Nous vous suggrons de tlcharger les donnes sur lesquelles nous allons travailler. A votre niveau, il n'est plus
question de s'attarder sur la saisie d'informations
.
Pour ajouter notre fameuse courbe de tendance, qui, on le rappelle, passera au plus prs de tous les points, faites un clic droit
sur un des points et cliquez sur : Ajouter une courbe de tendance .
www.openclassrooms.com
84/250
Dans la fentre qui s'ouvre, on va vous demander selon quel modle modliser la courbe (linaire, polynomiale etc.). Dans le cas
des sciences exprimentales, vous pouvez parfois connatre le modle mathmatique de ce que vous mesurez. Ce n'est pas
toujours le cas. Slectionnez Linaire pour tre sr que tout ira bien
.
Sous Mac, le choix du type de courbe se fait dans l'onglet Type de la fentre qui s'ouvre.
Aprs validation, votre courbe de tendance apparat. Vous pouvez modifier son apparence en cherchant dans le menu contextuel
qui s'ouvre aprs un clic droit sur cette courbe. Vous tes des grands dsormais
.
www.openclassrooms.com
85/250
www.openclassrooms.com
86/250
L'embtant n'est pas tellement de mettre debout un tableau crois dynamique (que nous abrgerons dsormais TCD), mais bien
de l'organiser.
Fabriquons un TCD !
Si vous avez bien suivi, vous avez parfaitement compris qu'il nous fallait une liste de donnes avant de commencer les
manipulations, liste qui se voudra de prfrence bien longue. Deux choix s'offrent vous :
Saisir vous-mme la liste. Cela vous fera travailler la saisie mais on se retrouve dans quelques heures
Tlcharger une liste de donnes idale toute prte
A vous de voir si vous prfrez le masochisme ou saisir le plateau d'argent qui est votre disposition. Nous allons travailler sur
une liste de 51 entres, qui rcapitule l'ge, le sexe, le jeu jou et le score de chaque participant une soire Jeux.
Nous souhaitons obtenir diverses statistiques : qui est le vainqueur de chaque jeu, quel est le jeu prfr des femmes, quel est le
jeu prfr des hommes, quel est le score moyen chaque jeu, le score moyen des hommes, le score moyen des femmes, le cumul
de points de chaque sexe, de chaque ge etc etc. Sachez que toutes ces statistiques, qu'on pouvait obtenir laborieusement
coup de formules, de graphiques etc. vont apparatre dans le TCD ! Bien videmment pas toutes la fois, il faudra modifier
l'organisation du TCD pour obtenir chaque statistique souhaite, mais le gain de temps et de clart est tout de mme norme.
Pour le moment, nous devons construire notre TCD partir de la fameuse liste :
www.openclassrooms.com
87/250
Une fentre demande de confirmer la plage de saisie du tableau et vous demande si vous souhaitez mettre le TCD dans une
nouvelle fentre Excel ou dans l'actuelle :
Vrifiez la plage du tableau et confirmez la nouvelle feuille. Apparaissent alors deux onglets ainsi qu'un module droite de l'cran
:
Les deux onglets Options et Cration du groupe Outils de tableau crois dynamique
www.openclassrooms.com
88/250
Sur Excel
Sur la fentre qui s'ouvre, il faut cliquer sur Disposition , afin de construire le TCD. S'il y a plusieurs fentres,
cliquez sur Suivant jusqu' arriver la fentre ayant pour intitul la Disposition .
Une fentre s'ouvre, vous invitant btir votre TCD coups de glisss-dposs peu ordinaires :
www.openclassrooms.com
89/250
Sur Excel
Pas si simple !
La procdure tant diffrente sur Windows et sur Mac, je vais vous la prsenter pour ces deux systmes.
Sur Windows
La premire fois que l'on arrive ici, tout semble incomprhensible et difficile. A droite, dans le module, vous reconnaissez les
tiquettes des colonnes de notre liste ainsi que les zones du TCD o seront dposes les tiquettes. Au milieu, vous avez un
schma du TCD que vous verrez une fois construit dans votre feuille de calcul. Nous croisons donc les donnes des lignes et
des colonnes pour obtenir les rsultats du milieu. Qu'attendons-nous ?
Il faut ainsi glisser les noms des tiquettes de colonne sur l'un des quatre champs du TCD.
L'tiquette Numro de concours ne va servir rien ici. Elle permet juste d'identifier chaque joueur dans la liste. Nous
l'oublions donc.
Allons-y pour les autres. Nous souhaitons d'abord voir les totaux des points marqus chaque jeu pour les hommes et les
femmes, ainsi que la somme des deux. Cette premire srie statistique est un peu bateau , je vous l'accorde, mais il faut
commencer doucement.
Puisque nous voulons visualiser les scores, nous glissons l'tiquette de colonne Score sur la zone Valeurs . Jusqu'ici,
tout devrait aller.
On veut un dcoupage des scores en fonction du sexe des participants et des jeux jous. Pas de problme, dans le champ
Ligne nous glissons l'tiquette Jeu et dans le champ Colonne , nous glissions Sexe .
Notez que nous aurions pu faire l'inverse, c'est ensuite une question de got sur le rsultat final. Nous venons d'anticiper les
croisements des donnes de notre liste sous forme d'un tableau. Il n'y a plus qu' fermer ce module complmentaire.
Et d'un ! Votre tableau crois dynamique apparat !
www.openclassrooms.com
90/250
Ainsi, sur tous les points marqus dans la soire, 247 ont t fournis par les joueurs d'Urban Terror. Les femmes ont marqu 33
points ce jeu et se sont d'ailleurs fates bien massacres par les hommes contre 214 points.
Il est aussi possible de changer le filtre des champs en cliquant sur les flches droite de ceux-ci. Nous l'avons dj vu dans un
prcdent chapitre.
Nous allons maintenant voir comment modifier simplement ce TCD, sans avoir tout refaire.
Sur Mac
La premire fois que l'on arrive ici, tout semble incomprhensible et difficile. A droite, vous reconnaissez les tiquettes des
colonnes de notre liste. Au milieu, vous avez un schma du TCD que vous verrez une fois construit dans votre feuille de calcul.
Nous croisons donc les donnes des lignes et des colonnes pour obtenir les rsultats du milieu. Qu'attendons-nous ?
Il faut ainsi glisser les noms des tiquettes de colonne sur l'un des quatre champs du TCD.
L'tiquette Numro de concours ne va servir rien ici. Elle permet juste d'identifier chaque joueur dans la liste. Nous
l'oublions donc.
Allons-y pour les autres. Nous souhaitons d'abord voir les totaux des points marqus chaque jeu pour les hommes et les
femmes, ainsi que la somme des deux. Cette premire srie statistique est un peu bateau , je vous l'accorde, mais il faut
commencer doucement.
Puisque nous voulons visualiser les scores, nous glissons l'tiquette de colonne Score sur le champ Donnes . Jusqu'ici,
tout devrait aller.
On veut un dcoupage des scores en fonction du sexe des participants et des jeux jous. Pas de problme, dans le champ
Ligne nous glissons l'tiquette Jeu et dans le champ Colonne , nous glissions Sexe .
Notez que nous aurions pu faire l'inverse, c'est ensuite une question de got sur le rsultat final. Nous venons d'anticiper les
croisements des donnes de notre liste sous forme d'un tableau. Il n'y a plus qu' cliquer sur Ok , puis sur Fin .
Et d'un ! Votre tableau crois dynamique apparat !
Ainsi, sur tous les points marqus dans la soire, 247 ont t fournis par les joueurs d'Urban Terror. Les femmes ont marqu 33
points ce jeu et se sont d'ailleurs fates bien massacres par les hommes contre 214 points
.
Chouette n'est-ce pas ? Reposez-vous, c'est mrit. Nous allons maintenant voir comment modifier simplement ce TCD, sans
www.openclassrooms.com
91/250
Modification du TCD
L encore, la faon de faire est diffrentes sur Windows et Mac. Voyons l'un aprs l'autre.
Sur Windows
Votre premier TCD est bien basique. Sur les 4 champs du schma, nous n'en avons rempli que 3. Retournons dans le module
permettant la conception du TCD.
Pour information, vous pouvez rafficher le module en cliquant sur Liste des champs , dans le groupe Afficher de
l'onglet Options des tableaux croiss dynamiques.
Cochez la case de l'tiquette Age et glissez-la dans la zone Filtre du rapport . Comme nous avons gliss l'tiquette Age, nous
pourrons trier les scores de chaque jeu de chaque sexe en fonction de l'ge des participants.
Votre TCD a t modifi et vous voyez apparatre en haut du tableau un filtre. Fermez le module. Et admirez le rsultat :
Un filtrage a t effectu pour ne garder que les joueuses et les joueurs de 16 ans. Les femmes de 16 ans sont accrocs Halo.
Voil. Les donnes peuvent tre ainsi filtres et interprtes de diffrentes manires. La liste analyse a suffisamment de champs
et d'entres pour tre tourne dans tous les sens.
Modifiez le TCD votre sauce, faites des tests, il n'y a que comme a que
a rentre. Pourquoi ne pas croiser les donnes d'ge et de sexe pour visualiser les scores, tout en permettant un filtrage par jeu ?
A vous de voir !
Une fois ces manipulations matrises, rendez-vous au chapitre suivant !
Sur Mac
Votre premier TCD est bien basique. Sur les 4 champs du schma, nous n'en avons rempli que 3. Retournons dans la fentre
permettant la conception du TCD. Cliquez au hasard dans votre TCD. Dans la barre d'outils qui vient ct de votre tableau,
cliquez sur le bouton Assistant Tableau Crois Dynamique .
www.openclassrooms.com
92/250
Cliquez sur Ok puis sur Fin , comme auparavant. Votre TCD a t modifi et vous voyez apparatre en haut du tableau un
filtre.
Un filtrage a t effectu pour ne garder que les joueuses et les joueurs de 16 ans. Les femmes de 16 ans sont accrocs Halo
Voil. Les donnes peuvent tre ainsi filtres et interprtes de diffrentes manires. La liste analyse a suffisamment de champs
et d'entres pour tre tourne dans tous les sens
. Modifiez le TCD votre sauce, fates des tests, il n'y a que comme a que
a rentre. Pourquoi ne pas croiser les donnes d'ge et de sexe pour visualiser les scores, tout en permettant un filtrage par jeu ?
A vous de voir !
Une fois ces manipulations matrises, rendez-vous au chapitre suivant !
Rsumons
Un tableau crois dynamique (TCD) permet d'analyser une liste de donnes. Cette notion est considre comme la plus
puissante d'Excel ;
Le TCD fournit des statistiques dtailles sur votre liste, selon la manire dont il est construit ;
On construit un TCD en effectuant un glisser-dposer d'tiquettes de colonnes sur l'une des quatre zones du TCD. Le
champ Plage permet d'obtenir un filtre.
Continuons maintenant sur notre lance.
www.openclassrooms.com
93/250
Sur Windows
Retournez dans les onglets des TCD et faites apparaitre le module. Cliquez sur l'tiquette de colonne Somme sur Age puis sur
Paramtres des champs de valeur .
Une fentre s'ouvre. Dans la liste droulante de gauche, cliquez sur Moyenne , puisque nous voulons une moyenne d'ge :
www.openclassrooms.com
94/250
Le bouton Format de nombre en dessous vous permet de mettre en forme vos donnes avec des formats que vous
connaissez bien (Standard, Nombre etc.). Allez faire un tour de ce ct l si vous le souhaitez pour par exemple avoir des
moyennes avec une ou deux dcimales.
Cliquez sur Ok . Vous voyez ainsi que les joueuses et les joueurs de Urban Terror ont en moyenne 18 ans.
Avec le filtre des jeux, vous pouvez passer aux Sims 3 par exemple. Comme votre mise en forme ne bouge pas, vous voyez que
les joueuses des Sims 3 ont en moyenne 18 ans et les joueurs 21 ans, la moyenne d'ge de tous les joueurs des Sims 3 tant de
19 ans.
En plaant le filtre sur Tous , vous avez la moyenne d'ge de tous les participants de la soire, ainsi que les moyennes d'ge
de toutes les femmes et de tous les hommes.
Bien, non ? Mais vous n'tes pas encore au bout de vos surprises en ce qui concerne la mise en forme d'un TCD.
Des pourcentages !
Les pourcentages sont trs pratiques dans l'analyse d'une longue liste car ils vous permettent de visualiser des donnes en un
clin d'il. Voici la nouvelle disposition du TCD raliser :
www.openclassrooms.com
95/250
Nous voulons tout simplement savoir quel est l'ge le plus reprsent parmi les joueurs. Faites un double-clic sur NB sur Jeu .
Dans la fentre qui s'ouvre, cliquez sur l'onglet Afficher les valeurs . Dans la liste droulante, choisissez % du total gnral
. Cliquez ensuite sur Format de nombre puis slectionnez Pourcentage . Vous savez ainsi combien de % sont
reprsents les ges sa soire Jeux.
Oui mais si 3 fois plus d'ges taient reprsents ? Le TCD aurait t 3 fois plus long et difficilement lisible !
Exact, d'ailleurs, tel quel, c'est difficilement lisible et les filtres auraient pu faire ce travail plus proprement et en moins de temps.
Pour pallier ce problme, nous allons utiliser les groupes .
www.openclassrooms.com
96/250
Sur Mac
Retournez dans la fentre de disposition de votre TCD et faites un double-clic sur l'tiquette de colonne Somme sur Age .
Une fentre s'ouvre. Dans la liste droulante de gauche, cliquez sur Moyenne , puisque nous voulons une moyenne d'ge.
Le bouton Nombre droite vous permet de mettre en forme vos donnes avec des formats que vous connaissez bien
(Standard, Nombre etc.). Allez faire un tour de ce ct l si vous le souhaitez pour par exemple avoir des moyennes avec une ou
deux dcimales.
Cliquez sur Ok . Vous voyez ainsi que les joueuses et les joueurs de Urban Terror ont en moyenne 18 ans.
Avec le filtre des jeux, vous pouvez passer aux Sims 3 par exemple. Comme votre mise en forme ne bouge pas, vous voyez que
les joueuses des Sims 3 ont en moyenne 18 ans et les joueurs 21 ans, la moyenne d'ge de tous les joueurs des Sims 3 tant de
19 ans.
En plaant le filtre sur Tous , vous avez la moyenne d'ge de tous les participants de la soire, ainsi que les moyennes d'ge
de toutes les femmes et de tous les hommes
.
Chouette n'est ce pas ? Mais vous n'tes pas encore au bout de vos surprises en ce qui concerne la mise en forme d'un TCD.
Des pourcentages !
Les pourcentages sont trs pratiques dans l'analyse d'une longue liste car ils vous permettent de visualiser des donnes en un
clin d'il. Voici la nouvelle disposition du TCD raliser :
www.openclassrooms.com
97/250
Nous voulons tout simplement savoir quel est l'ge le plus reprsent parmi les joueurs. Faites un double-clic sur NB sur Jeu .
Dans la fentre qui s'ouvre, cliquez sur Options . Dans la liste droulante, choisissez % du total et validez les diffrentes
botes de dialogue. Vous savez ainsi combien de % sont reprsents les ges sa soire Jeux.
www.openclassrooms.com
98/250
Oui mais si 3 fois plus d'ges taient reprsents ? Le TCD aurait t 3 fois plus long et difficilement lisible !
Exact, d'ailleurs, tel quel, c'est difficilement lisible et les filtres auraient pu faire ce travail plus proprement et en moins de temps.
Pour pallier ce problme, nous allons utiliser les groupes .
Les groupes
Reprenons le TCD prcdent :
On souhaite faire des groupes d'ge afin que le tout soit mieux ordonn et lisible. Les 10-15 ans, les 15-20 ans, les 20-30 ans et le
plus de 30 ans.
Slectionnez tous les ges compris entre 10 et 15 ans. Dans l'onglet Donnes , dans le groupe Plan , cliquez sur le bouton
Grouper .
Une colonne s'est cre dans le TCD, vous n'avez plus qu' la nommer en tapant directement votre texte (10-15). Faites de mme
pour les autres ges.
www.openclassrooms.com
99/250
Un double-clic sur chaque groupe vous permet de masquer les dtails des ges et d'avoir des statistiques globales :
Les 15-20 ans taient donc les plus reprsents la soire Jeux.
Notez que les groupes peuvent galement tre utiliss sur des dates exactement de la mme manire.
Rsumons
Un double-clic sur l'tiquette de colonne schmatise dans le menu Disposition permet d'accder des options de
mises en forme (moyenne, pourcentages etc.)
Les groupes, accessibles partir du menu Donnes permettent de grouper des lments du TCD en un paquet, et
donc de simplifier sa lecture.
Petit exercice
Ayant pour support la liste de donnes sur laquelle nous avons travaill, sauriez-vous retrouver le gagnant de chaque jeu ?
Vous savez dsormais vous servir des TCD. Notez que c'est dsormais votre tour d'explorer tous les boutons que nous avons
voqus mais pas explors. A vous de mettre en forme vos donnes selon vos gots et vos besoins !
www.openclassrooms.com
www.openclassrooms.com
100/250
101/250
Les macros
La lecture de ce chapitre est indispensable si vous souhaitez poursuivre sur la prochaine partie, ce qui n'est pas obligatoire pour
matriser le tableur Excel.
Ce chapitre va donc introduire sur un nouvel outil trs puissant : les macros.
Ne vous enfuyez pas en lisant le nom ! Mme si vous ne poursuivrez pas le tutoriel sur la troisime partie, les macros apporteront
une touche de modernit vos feuilles de calculs.
Eh oui, une macro, a a un nom. Maintenant, je vais vous donner un petit exemple :
Imaginez une macro qui a pour nom modifications_du_texte .
Jusque-l, a va. Les instructions qu'elle doit excuter sont : mise en gras du texte, puis mise en rouge de celui-ci.
Lorsque vous appellerez la macro modifications_du_texte sur une cellule qui contient du texte, ce dernier sera mis en gras et
en rouge.
Les macros sont pratiques si vous avez rgulirement une longue suite d'actions effectuer.
Mais tout ceci ne se limite pas qu' une excution d'instructions. Vous pouvez galement coder une interface pour changer avec
l'utilisateur ! (via des botes de dialogue)
Et comment on la fabrique, cette macro ?
Fabriquons la macro !
Maintenant que vous savez ce qu'est une macro, il est temps de la faire, cette srie d'instructions, non ?
Eh bien oui, allons-y !
Pour la gestion des macros, il faut activer l'onglet Dveloppeur . Pour cela, cliquez sur le menu Fichier , puis sur Option
Excel . Dans la fentre qui s'ouvre, alors dans l'onglet Personnaliser le ruban .
Dans la liste de droite des onglets du ruban, cochez la case devant l'onglet nomm Dveloppeur . Cliquez enfin sur OK .
L'onglet Dveloppeur vient d'alors d'apparaitre. Allez-y. Dans le groupe Code , cliquez sur Enregistrer une macro :
www.openclassrooms.com
Notre macro mettra le texte en gras et en rouge, je l'ai donc nomme gras_rouge .
Cliquez sur OK .
ATTENTION : ds que vous avez valid le nom de votre macro, TOUTES les actions sont enregistres !
Faites exactement ce que je dis, au risque de devoir recommencer l'opration.
Maintenant, ouvrez la fentre Format de cellule (voir chapitre 2 si besoin), mettez le texte en gras et en rouge.
www.openclassrooms.com
102/250
Vous venez d'enregistrer une srie d'instructions qui constitue une macro.
Alors forcement, pour que cette srie s'excute, il faut appeler la macro !
Naturellement, c'est l'objet de la sous-partie suivante...
Excution de la macro
Nous allons faire un bouton qui permettra d'excuter notre macro.
Dans votre feuille de calcul, slectionnez une cellule et tapez un texte quelconque.
www.openclassrooms.com
103/250
104/250
Ensuite de quoi vous devez aller dans l'onglet Dveloppeur, dans le groupe Contrles puis cliquez sur Insrer . Dans le
menu, cliquez sur Bouton de contrle :
Dessinez le rectangle correspondant au bouton de la macro. Suite quoi Excel vous demande quelle macro vous souhaitez y
assigner. Slectionner votre nouvelle macro. Le bouton est mis en forme.
Slectionnez la cellule qui contient du texte et appuyez sur le rectangle... magique, non ?
Oui, c'est cool ton truc mais il y a quelque chose qui me tracasse : o est-ce que je peux modifier ma macro ?
Dans le groupe Code , cliquez sur le bouton Macros , slectionnez votre macro et cliquez sur Modifier .
www.openclassrooms.com
105/250
www.openclassrooms.com
106/250
sachiez, Excel gnre du code qui est en fait la source de votre macro.
Quand vous appelez la macro, vous excutez ce code.
Et pourquoi du code ?
Parce qu'il faut parler Excel, qui lui-mme parlera l'ordinateur. Microsoft a donc dvelopp un langage de programmation : le
VBA, qui vous permet de personnaliser vos macros.
La deuxime partie est acheve et vous tes capables de crer de beaux tableaux.
Si vous tes intresss par les entrailles des macros (autrement dit, par la programmation), sachez que nous verrons tout cela
dans la troisime partie.
www.openclassrooms.com
107/250
La valeur cible
Commenons doucement avec le premier outil : la valeur cible. Cet outil permet de dterminer le rsultat voulu et Excel va changer
lui mme les valeurs affectant ce rsultat pour trouver une combinaison possible et relle. Vous aurez plus qu' regarder si les
valeurs vous conviennent. Un exemple est plus efficace qu'un long discours.
Prenons cet exemple :
Je souhaite fixer mon prix de vente en fonction du prix d'achat et du taux de marque. Mon prix de vente est calcule par rapport
ces deux valeurs de la faon suivante :
C5=C3/(1-C4)
Je souhaite maintenant baisser mon prix de vente. Pour cela, je dispose de deux possibilits : soit je baisse le taux de marque soit
je baisse mon prix d'achat. Mon taux de marque, c'est moi qui le fixe, c'est assez facile de le baisser. Le prix d'achat, il va falloir
ngocier avec le fournisseur...
Sans la valeur cible, comment faire pour avoir 90 pile dans la cellule C5 ?
Facile ! Je modifie les autres cellules jusqu' ce que a tombe jute !
Allez-y, appelez moi quand vous avez trouv... Bon l, l'exemple est simple et c'est possible assez facilement. Mais lorsque les
calculs sont plus complexes, la fonction valeur cible est l !
Hypothse 1 : on ngocie le prix d'achat que l'on va faire baisser.
Hypothse 2 : on accepte de faire baisser notre taux de marque.
Allez c'est parti, testons. Pour ouvrir la fonction valeur cible allez dans l'onglet Donnes, dans le groupe Outils de donnes
cliquez sur Analyse de scnarios puis sur Valeur cible... une fentre s'ouvre.
www.openclassrooms.com
108/250
Cliquez sur OK si vous tes d'accord avec le rsultat ou sur annuler pour l'annuler. Si vous cliquez sur Ok, la valeur de la cellule
C3 change et passe 72.
Maintenant, il n'est plus possible de changer le prix d'achat, il va falloir jouer sur le taux de marque. C'est l'hypothse 2. Si besoin,
remettez la valeur de la cellule C3 80 et recommencez la procdure. Dans la fentre qui s'ouvre la cellule dfinir ne change pas
et reste la cellule C5, sa valeur atteindre ne varie pas non plus et est de 90. Par contre, la valeur modifier n'est plus C3 mais C4.
Cliquez sur Ok et voyez le rsultat ! Excel calcul qu'il faut descendre le taux de marque 11%.
Un outil trs simple et efficace pour trouver une valeur. Seulement maintenant, je souhaiterais modifier les deux valeurs pour
avoir le mme rsultat... Je veux bien ngocier mais je veux bien aussi baisser mon taux de marque. Pour cela, Excel propose un
autre outil : le solveur.
Le solveur
Avant de commencer l'utiliser, il faudrait qu'il soit disponible. On va donc commencer par l'installer. Pour cela, cliquez sur le gros
bouton Office en haut gauche du logiciel puis sur Options Excel, dans la catgorie Complments du volet de gauche. En bas
de la fentre, dans la liste Grer vrifiez que Complments Excel soit slectionn. Cliquez sur le bouton Atteindre, dans la
fentre qui s'ouvre cochez Complment Solver et cliquez sur Ok. Patientez le temps de l'installation.
Si tout a bien fonctionn, dans l'onglet Donnes est apparu un groupe tout droite Analyse avec dans ce groupe Solver.
www.openclassrooms.com
109/250
coder vos propres macros, pardi ! Il y a en effet des macros que vous ne pourrez jamais faire en faisant travailler l'enregistreur,
comme complter la dernire ligne d'un tableau.
a sera vous de les raliser !
L'interface de dveloppement
L'interface de dveloppement, c'est la fentre sur laquelle vous tombez lorsque vous appuyez sur Alt + F11 ou encore lorsque
vous vous rendez dans l'onglet Dveloppeur , dans le groupe Code et que vous cliquez sur le bouton :
Si vous ne savez plus comment activer l'onglet Dveloppeur , je vous redirige vers le chapitre prcdent.
Nous allons tout d'abord voir comment s'organise un projet et invitablement, comment fonctionne l'interface de dveloppement.
www.openclassrooms.com
110/250
Chaque mot en gras est un projet. Vous pouvez l'explorer au moyen de la petite croix gauche de chacun :
Ici, je n'ai en fait qu'un seul projet, les autres tant propres l'application et protgs par mot de passe.
Vous avez tous le mme projet : VBAProject (Classeur1) . Si votre classeur a pour nom Salaris, votre projet a pour nom
VBAProject (Salaris) .
Nous allons ajouter un nouveau module qui va vous permettre de coder. rendez-vous dans le menu Insertion puis cliquez sur
Module :
Remarquez l'apparition du dossier Module dans votre projet. C'est ici que seront rangs tous vos modules. Nous allons pouvoir
commencer coder.
STOOOOP !
Et si j'ai 40 modules ? Je vais avoir 40 fichiers dans mon dossier mais s'ils s'appellent Module1,
Module2, Module3... je ne vais jamais m'en sortir !
Exact. Cher Zro, vous soulevez la question du renommage du module, une dmarche assez tordue.
Soit, je vais vous expliquer comment renommer un module.
Tout d'abord, slectionnez votre module.
Cliquez sur le bouton Fentre Proprits ( F4) : a affichera le menu des proprits du module :
www.openclassrooms.com
111/250
Renommez le module comme vos envies, puis fermez cette petite sous-fentre au moyen de la petite croix.
Voil, vous tes fin prts au codage. Petite prcision tout de mme : pour revenir au tableur depuis MVBA, il faut appuyer sur Alt
+ F11.
Dclarer sa macro
Une macro porte un nom que vous lui donnez. Les espaces et les accents sont interdits.
MAUVAIS = ma premire macro.
BIEN = ma_premiere_macro.
Chaque macro doit tre code entre les mots-cls Sub et End Sub.
Syntaxe
Voici sans plus tarder la syntaxe d'une dclaration :
Code : VB.NET
Sub nom_de_la_macro ()
www.openclassrooms.com
112/250
End Sub
Dans votre diteur de code, crivez seulement la premire ligne Sub nom_de_la_macro () (en remplaant
nom_de_la_macro par ce que vous voulez, tant que a respecte les rgles nonces ci-dessus
) et appuyez sur Entre :
End Sub a t gnr tout seul !
Par exemple (nom repris du chapitre prcdent) :
Code : VB.NET
Sub gras_rouge ()
End Sub
Retournez votre tableur, et dessinez un objet auquel vous appliquez votre macro (voir chapitre sur les macros).
Que constatons-nous ? Votre macro est reconnue, et ce, sans toucher l'enregistreur !
Les commentaires
Dans le code, vous avez la possibilit de placer des commentaires.
Ils n'auront aucune influence lors de l'excution du code et servent simplement vous reprer.
Un commentaire commence par une apostrophe '.
Si vous ne vous tes pas tromps, le commentaire devrait apparatre en vert.
Code : VB.NET
Sub ma_macro()
www.openclassrooms.com
113/250
www.openclassrooms.com
114/250
Orient quoi ?
Le VBA est un langage orient objet. On dira galement que vous faites de la Programmation Oriente Objet (POO). Ces mots
n'ont probablement aucun sens pour vous, moins que vous n'ayez dj fait du C++ ou encore du Java.
Nous allons tenter d'tudier le concept en lui-mme, puis en suite de l'appliquer notre problme.
Dans la vie courante, vous reconnaissez un objet parce qu'il a un tat physique, il est visible et vous pouvez le toucher. Une
brosse dents est un objet, un verre est un objet, un ordinateur en est un galement... bref, la liste est longue.
L'objet peut tre reconnaissable grce sa couleur, par exemple, mais vous pouvez aussi effectuer des actions dessus.
Nous allons prendre comme exemple votre maison (ou appartement, ne me dites pas que vous habitez dans un bateau... mme si
a ne change pas grand-chose). Une maison est caractrise par ses proprits : elle a une anne de construction, une couleur...
mais on peut aussi y faire beaucoup d'action : Nettoyer, Regarder la tl ... on parle alors de mthodes .
partir de ces proprits et mthodes, vous pouvez imaginer plein de maisons diffrentes, en faisant varier le nombre de pices,
par exemple. Les proprits permettent d'identifier la maison, de la caractriser, de la singulariser. Les mthodes forment toutes les
actions que l'on peut excuter partir de cet objet.
Toutes ces maisons ont donc t fabriques partir d'un plan. On parle d'une classe.
Lorsque vous fabriquez un objet partir d'une classe, on dit que vous faites une instance de classe.
M@teo21 a une belle image pour ceci : imaginez un architecte qui dessine un plan de maison. Le plan correspond ici ma classe
et les maisons aux objets : en effet, partir du plan, vous pouvez btir autant de maisons que vous le voulez !! J'ajoute que la
dfinition de toutes les maisons de l'Univers, mme imbriques dans des classes diffrentes s'appelle une collection d'objets.
Une classe porte le nom mis au pluriel des objets qu'elle regroupe. Ainsi, toutes vos maisons peuvent tre regroupes
autour de la classe Maisons
www.openclassrooms.com
115/250
' Dans la classe Villes, votre ville se distingue des autres par
son nom : Reims.
' Reims est un objet cr partir de la classe Villes, qui
contient aussi bien Paris que Bordeaux.
Vous accdez ainsi l'objet "Bain". Entre parenthses et guillemets, vous donnez des prcisions. En effet, la baignoire se
diffrencie des autres parce qu'elle permet de prendre un bain, vous ne pourriez pas construire un objet "Lavabo" partir de la
classe "Salle_de_bain" pour faire un bain.
Nous pouvons mme rajouter une mthode la fin, puisque vous dsirez vous laver :
Code : VB.NET
Villes("Reims").Maisons("Ma_Maison").Salle_de_bains("Bain").Frotter_le_dos
Et si vous dsiriez vous laver les mains, on aurait pu crer ce fameux objet Lavabo, toujours issu de la classe Salle_de_bains
Tout ceci n'est que schma bien sr, mais la syntaxe correspond celle d'un vrai code VBA. Vous prenez donc l'objet cre partir
de la classe Salle_de_bain, vous prenez une instance de la classe Baignoire.
Retenir :
L'accs aux objets se fait comme suit :
Maintenant, il est temps de tester la POO en pratique, donc dans Excel (parce que les maisons, c'est bien, mais nous nous
loignons).
Je propose toutefois un schma qui va aider comprendre la suite :
On voit, par exemple, que les couleurs sont des instances de la classe Maison : ils ont quelque chose en commun, comme la
forme de la maison.
De mme pour l'appartement du 3me tage, qui est une instance de la classe Appartement. Le tout est contenu dans un grand
objet : la ville.
Pour Excel, c'est un peu la mme chose : le big des big objets, c'est Application, qui dsigne l'application Microsoft Excel.
Lui-mme contient la classe Workbooks, qui regroupe tous les classeurs Workbook ouverts. Et Workbook contient la classe
Worksheets, qui contient toutes les feuilles Worksheet du classeur dsign.
Un schma pour mieux comprendre :
www.openclassrooms.com
116/250
La POO en pratique
Nous allons faire nos dbuts en POO avec la mthode Activate, qui active (qui vous amne) l o vous lui demandez.
Par exemple, je veux aller de la premire feuille la deuxime. Il va falloir donc nommer notre classeur et deux feuilles, afin de
donner un itinraire.
Enregistrez votre classeur en le nommant "Essai". Renommez une premire feuille "Dpart" et l'autre "Arrive". (l'explication se
trouve dans la seconde annexe).
Vous obtenez quelque chose dans ce genre :
Placez-vous sur la feuille Dpart, ouvrez la fentre de VBA, crez un nouveau module.
Maintenant, rflchissons l'itinraire. On part de l'application, pour aller vers le classeur "Essai" et vers la feuille "Arrive".
Le code serait donc :
Code : VB.NET
Sub trajet()
Application.Workbooks("Essai").Worksheets("Arrive").Activate
'On part de l'application vers l'instance Essai de la classe
Workbooks
'ensuite, on va l'objet Arrive de la classe Worksheets
End Sub
Toutefois, on peut le raccourcir : c'est comme avec les pices de la maison, si vous tes dans la maison, il est inutile de prciser
qu'il faut aller dans cette ville et l'adresse de la maison, puisque vous y tes dj.
Ici, vous tes bien sr l'application Microsoft Excel (logique) et vous tes aussi sur le classeur "Essai".
Le bon code est donc :
www.openclassrooms.com
117/250
Code : VB.NET
Sub trajet()
Worksheets("Arrive").Activate
End Sub
Il ne vous reste plus qu' aller sur la feuille "Dpart", d'y dessiner un rectangle, d'affecter votre macro et de cliquer dessus, vous
serez "tlport" vers la feuille "Arrive"
A retenir
La classe Workbooks dsigne tous les classeurs ouverts.
La classe Worksheets dsigne toutes les feuilles du classeur actif.
D'autres exemples
Nous allons slectionner une plage de cellules en tapant un code VBA (bien que nous pourrions le faire par le biais de
l'enregistreur de macros, mais cette partie deviendrait donc dpourvue d'utilit
)
Tout d'abord, il serait bien de ne pas avoir taper des plages dans un code via les coordonnes : il y a tellement de chiffres, de
lettres, de caractres (guillemets, deux points) qu'on s'y perdrait. Je vais donc vous apprendre ... nommer une plage de cellules !
D'ailleurs, vous pourrez trouver son utilit dans les formules, bref, a clarifie un code. Ainsi, vous appellerez la plage par son
nom.
Voici comment on nomme une plage de cellule. Slectionnez une plage de cellule, quelle qu'elle soit. Lorsque cette plage est
slectionne, faites un clic droit et cliquez sur Dfinir un nom :
www.openclassrooms.com
118/250
Vous remarquez que, gauche de la barre de formule, apparait le nom de votre plage. C'est ce nom de plage que vous pouvez
utiliser.
Vous pouvez retrouver votre plage partir de cette liste droulante en cliquant sur le nom de votre plage.
Mais revenons notre feuille de calculs et prparons le terrain : mettons une bordure rouge autour de notre plage nomme et
dessinons un rectangle, afin d'y appliquer la macro de slection (que nous allons coder).
On commence coder :
Code : VB.NET
Sub MaSelection()
' on placera le code ici
End Sub
Rien de palpitant. Les cellules sont sous la tutelle de la classe Range, que ce soit une cellule ou une plage de cellules (jointes ou
non). Nous allons utiliser galement la mthode Select, qui slectionne ce que vous lui demandez de slectionner.
www.openclassrooms.com
119/250
Je rappelle qu'il ne sera pas ncessaire de faire mention du classeur ou de la feuille de calculs active, puisque nous y sommes
dj (donc inutile de dire d'y aller
).
Voici le code :
Code : VB.NET
Sub MaSelection()
Range("Ma_Plage").Select
End Sub
Retour notre feuille de calculs, o nous affectons la macro MaSelection au zoli rectangle
opre :
Vous rappelez-vous le nom et de la fonction particulire de la cellule de la slection en haut gauche, qui n'est pas sur fond bleu
? Mais oui, c'est la cellule active ! Pour rappel, si vous saisissez des donnes directement sur votre slection, elles seront
rentres dans la cellule active.
Puis pour le fun, nous allons changer l'emplacement de cette cellule en VBA !
Il va falloir relever ses coordonnes ; dans mon cas, je prends C11, qui est une cellule de ma plage. Il va falloir utiliser la mthode
Activate (vue ci-dessus) :
Code : VB.NET
Sub MaSelection()
Range("Ma_Plage").Select
' on slectionne la plage Ma_Plage, qui relve de la classe Range,
l'aide de la mthode Select
Range("C11").Activate
'la cellule C11 devient la cellule active de la slection, avec la
mthode Activate
End Sub
Et aprs un clic sur le rectangle, l'emplacement de la cellule active est effectivement modifi :
www.openclassrooms.com
120/250
Voil pour les mthodes. Il y en a beaucoup d'autres. Nous les verrons en temps voulu car chacune a une fonction bien
particulire. L'ide tait surtout de vous initier aux manipulations des mthodes.
Les proprits
Bien, nous avons fait joujou avec la mthode Activate, histoire de mettre en application ces histoires de classes et d'instances.
La technique vue ci-dessus est valable pour toutes les mthodes, ce qui signifie que c'est comme a qu'on en applique une.
Maintenant, nous allons nous intresser aux proprits de l'objet ( = instance).
Nous pouvons faire de mme avec la proprit nombre_de_piece, car la syntaxe est la mme :
Code : VB.NET
Maisons("Ma_Maison").nombre_de_piece = 7
Exemple
1, 5, 12 365 ...
Code : VB.NET
Numrique
Maisons("Ma_Maison").nombre_de_piece = 7
www.openclassrooms.com
121/250
Bonjour, a, jojo, 1234 (ici, 1234 sera lu comme une suite de caractres : 1, 2, 3, 4, et non plus comme un nombre)
Code : VB.NET
Chane de
caractres
Maisons("Ma_Maison").couleur= "Rouge"
TRUE, FALSE : le boolen ne peut prendre que deux valeurs, TRUE ou FALSE (vrai ou faux). Ainsi, nous
pourrions imaginer le choix d'une maison avec tage ou de plain-pied. Si elle est avec tage, la proprit Etage
pourrait valoir FALSE et si elle est de plain-pied, elle pourrait valoir TRUE.
Code : VB.NET
Boolen
Maisons("Ma_Maison").Etage = TRUE
' Notre maison a au moins un tage
La constante est... assez particulire, mais pourtant trs utilise. Une constante est une valeur qui ne change pas.
Par exemple, plusieurs constantes peuvent tre valables pour notre objet. Elles peuvent ici dsigner le type de
notre maison.
Code : VB.NET
Maisons("Ma_Maison").Type = VILLA
Constante
Plus pour longtemps. Pour travailler sur la slection, nous allons utiliser l'objet Selection. De plus, c'est l'objet Font qui gre les
polices. Dcortiquons les tapes suivre :
www.openclassrooms.com
122/250
La taille du texte
La taille du texte est contenue dans une proprit appele Size. Cette proprit n'accepte que des valeurs numriques (la taille du
texte
). Un exemple juste parce que c'est le premier :
Code : VB.NET
Sub taille()
Selection.Font.Size = 12
'nous modifions la taille du texte slectionn 12
End Sub
La police du texte
La police se trouve dans la proprit Name. Cette proprit attend une chane de caractres.
Le soulignement
Le soulignement est gr par la proprit underline. Cette proprit n'accepte que des constantes. Oui, ces mystrieuses
constantes qui commencent par xl. Sachez que la valeur xlUnderlineStyleSingle applique un soulignement simple au texte. En
effet, avec xlUnderlineStyleDouble, on peut appliquer au texte deux traits de soulignement.
Le gras
Le gras est une proprit lui tout seul : Bold, qui signifie "gras" en anglais. Vous remarquerez d'ailleurs au fil du cours que le
VBA a une syntaxe trs proche de l'anglais. Bold n'accepte que deux valeurs : True ou False ; c'est donc un boolen. Si la
proprit vaut True, le texte slectionn sera mis en gras.
Dans le mme genre, sachez qu'il existe la proprit Italic, qui est galement un boolen et qui gre la mise en italique du texte.
Avez-vous su crire la macro avec toutes ces indications ? Voici le corrig :
Code : VB.NET
Sub texte()
Selection.Font.Size = 14
Selection.Font.Name = "Euclid"
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.Bold = true
End Sub
Et si en plus de a je veux mettre mon texte en italique, en couleur, et le centrer dans la cellule ? Je ne vais tout de mme
pas rcrire Selection.Font 50 000 fois !?
Et pourquoi pas ? Plus srieusement, les concepteurs du VBA ont pens ce cas l bien avant vous. Ils ont mme une solution
de feignants (les programmeurs sont des feignants, on ne le dira jamais assez
)
L'ide est d'expliquer VBA qu'on va travailler un certain temps sur Selection.Font. Pour ce faire, nous allons utiliser une
nouvelle notion : la structure en With ... End With
123/250
Cette structure est utilise pour faciliter les modifications des proprits sur un mme objet. Sa syntaxe est la suivante :
Code : VB.NET
With nom_de_votre_objet
'on fait ici nos
.proprit_1
.proprit_2
.proprit_3
End With
On peut voir l'utilit de cette fonction lorsque l'on utilise des objets dont le nom est trs long crire.
Code : VB.NET
Sub test()
With
Application.Workbooks("classeur1").Worksheets("feuil1").Range("A1")
.proprit_1 = valeur_1
.proprit_2 = valeur_2
...
End With
End Sub
Voil, c'est fini pour la partie un peu thorique. Au menu du chapitre suivant : pause bien mrite !
En attendant, si vous en voulez encore, faites des tests. Il n'y a que comme a que vous progresserez et la POO ne s'assimile
pas du jour au lendemain. Il faut absolument avoir compris l'ide de ce concept, sans quoi il est inutile de poursuivre.
www.openclassrooms.com
124/250
La slection
Aprs une mise en bouche la POO, nous allons faire une pause. Vous avez quand mme ingurgit pas mal de notions dans les
deux chapitres prcdents. Nous n'allons pas pour autant glander. Ici, pause est synonyme de... pratique !
En effet, la thorie, c'est bien, mais il faut bien mettre les mains dans le cambouis un moment o un autre. Nous n'allons donc
pas tudier de nouvelles notions propres la POO mais tout simplement mlanger classes, objets et mthodes plus ou moins
nouvelles afin de vous faire travailler la slection.
Si vous avez suivi la premire partie de ce cours, vous avez sans doute compris quel point l'accent a t mis trs tt sur la
slection. C'est une notion importante et mme en VBA. Gardons l'esprit que VBA peut permettre d'changer avec un utilisateur
du tableur. Il faut donc bien pouvoir s'y reprer, non ?
On peut aussi slectionner plusieurs cellules les sparant par des virgules :
Code : VB.NET
'Slection des cellules C5, D4 et F8 :
Range("C5, D4, F8").Select
Votre objet peut aussi tre une plage de cellules. Par exemple, le code ci-dessous slectionne une plage de B2 E8 :
Code : VB.NET
Range("B2:E8").Select
Avec Cells
Code : VB.NET
Code : VB.NET
Range("E3").Select
Cells(3,
5).Select
www.openclassrooms.com
125/250
C'est exactement l'inverse de l'adressage que nous connaissons dans le tableur. D'abord la ligne, ensuite la colonne. Attention !
Ces deux valeurs doivent tre numriques ! C'est--dire que vous devez rcuprer le numro de la colonne souhaite.
Mais comment je fais pour connatre le numro de la colonne ?
Cliquez sur le gros bouton Office en haut gauche puis sur Option Excel . Dans la fentre qui s'ouvre cliquez gauche sur
Formules et dans la rubrique Manipulation de formules , cochez la case Style de rfrence L1C1 :
Vos rfrences de colonnes sont maintenant des chiffres, et non des lettres
www.openclassrooms.com
126/250
On utilise toujours la mme mthode (Select). C'est juste la classe qui change
Tout comme pour les cellules, on peut aussi slectionner une plage de lignes contigus :
Code : VB.NET
' Slection des lignes 2 5 incluses :
Rows("2:5").Select
Les lignes peuvent aussi tre discontinues. Dans ce cas, la syntaxe est la suivante :
Code : VB.NET
Range("2:2, 5:5, 6:8").Select
Lorsqu'on cherche faire des slections d'objets discontinus en VBA, on retourne vers la classe Range. C'est comme a. On
indique les plages que l'on souhaite slectionner spares par des virgules.
www.openclassrooms.com
127/250
Code : VB.NET
'Slection des colonnes C, D, E et F :
Columns("C:F").Select
Et comme pour les lignes, on se tourne vers la classe Range pour la slection d'objets discontinus :
Code : VB.NET
'Slection des colonnes A, C et G :
Range("A:A, C:C, G:G").Select
www.openclassrooms.com
128/250
Dclaration explicite
La dclaration de variable explicite est trs simple, voici la syntaxe :
Code : VB.NET
Dim ma_variable_explicite [As type]
www.openclassrooms.com
129/250
Elle ne doit contenir que des lettres, des chiffres et le caractre de soulignement, aussi nomm underscore (touche 8 du
clavier azerty franais _). Les espaces sont interdits !
Elle est limite 40 caractres.
Elle ne doit pas tre identique un mot rserv.
Qu'est ce que la liste des mots rservs ?
Cette liste contient tous les mots rservs au bon fonctionnement de VBA, c'est--dire les mots-cls du langage. Dim en est par
exemple un puisqu'il sert dclarer une variable. On ne peut pas non plus attribuer une variable le nom Sub. Ce mot est rserv
pour dclarer les procdures. C'est la mme chose avec les noms de fonctions et tous les mots rservs VBA. Si vous ne savez
pas s'il est rserv, un message d'erreur apparait lors du codage, il suffit alors de choisir un autre nom.
On peut ensuite attribuer une valeur notre variable :
Code : VB.NET
ma_variable_explicite = 10
Dclaration implicite
La dclaration de variable explicite tait simple, l'implicite l'est encore plus ! Voici la syntaxe :
Code : VB.NET
ma_variable_implicite = 6
Vous avez compris le truc ? Et bien, la variable est utilise directement. Elle n'a pas t dclare avec Dim. Le programme
demande automatiquement de crer cette variable, qui sera par dfaut de type Variant et aura pour valeur 6.
Cette approche peut poser problme et engendrer des erreurs difficiles dtecter si vous n'orthographiez pas correctement le
nom de la variable dans une commande ultrieure du programme.
Par exemple, si dans la suite de votre programme vous faites rfrence ma_variabl_implicite au lieu de
ma_variable_implicite, vous savez ce que cela signifie, mais VBA l'ignore. Il va supposer que
ma_variabl_implicite est une nouvelle variable et la cr en tant que telle. L'ancienne variable,
ma_variable_implicite, est toujours l, mais elle n'est plus utilise. Vous avez prsent deux variables diffrentes alors
que vous pensez n'en avoir qu'une seule. Cela peut causer d'normes problmes qui peuvent prendre beaucoup de temps tre
rsolus.
Obliger dclarer
Si vous utilisez les deux mthodes, vous pouvez vous obliger dclarer votre variable grce la fonction Option Explicit.
Cela permet de ne jamais dclarer une variable de faon implicite. De cette manire, une variable non dclare dans un code
provoque une erreur dans la compilation du code et vous indique directement quelle variable est mal orthographie ou non
dclare cause d'un oubli.
www.openclassrooms.com
130/250
Pour utiliser cette fonction, il faut l'introduire dans TOUS les modules dans lesquels vous souhaitez obliger les dclarations de
variables, et ce, avant le code des procdures. Si vous regardez un module dans la fentre de l'diteur Visual Basic, vous verrez
une liste droulante appele (Gnral) dans le coin suprieur gauche de la fentre du module et une liste droulante appele
(Dclarations) dans le coin suprieur droit de la fentre du module. Cliquez sur (Dclarations) et vous irez directement dans la
section des dclarations. Saisissez la commande suivante :
Code : VB.NET
Option Explicit
Aprs avoir saisi cette commande, une ligne se place en dessous pour confirmer la prsence de la fonction. Maintenant, chaque
variable doit tre dclare. Essayez par vous-mme d'excuter un code sans dclarer une variable, une erreur arrtera la
compilation.
www.openclassrooms.com
131/250
Cette syntaxe est nouvelle pour vous. Nous aurons l'occasion de reparler des fonctions plus loin dans le cours. Fates-moi
confiance pour le moment et contenez-vous d'avaler cette histoire de MsgBox comme une recette de cuisine.
A noter que tant que vous ne cliquez pas sur Ok pour terminer l'excution du code, vous ne pouvez modifier votre code.
Je ne sais pas si vous avez fait votre feignant comme moi, mais si vous ne mettez pas les majuscules MsgBox, VBA s'en charge
! C'est le cas pour Dim aussi, mais aussi pour toutes les fonctions qui sont prsentes dans VBA. Tout le monde le dit, les
programmeurs sont des feignants ! Ou pas...
Et pour afficher la valeur d'une variable alors ?
Pour afficher la valeur d'une variable, on va simplement attribuer la fonction notre variable.
Code : VB.NET
MsgBox ma_variable
Il n'y a pas besoin de mettre des guillemets, ceux-ci servent pour afficher du texte. Si vous en mettez autour de votre variable, la
fonction affiche le nom de votre variable et non la valeur de celle-ci.
Code : VB.NET
Sub test()
Dim ma_variable As String
ma_variable = "Bonjour"
MsgBox "Cette phrase affiche la valeur de ma variable : " &
ma_variable
MsgBox "Cette phrase affiche le nom de ma variable : " &
"ma_variable"
End Sub
Types de variables
Un type de donnes peut tre attribu une variable ce qui permet de dterminer le type d'information que la variable peut
stocker. Cette dcision peut avoir un effet sur l'efficacit de votre code. Si aucun type de donnes n'est spcifi, le type par
dfaut est Variant.
www.openclassrooms.com
132/250
On rappelle que pour attribuer un type une variable, il faut faire suivre le type lors de la dclaration de variable.
Code : VB.NET
Dim ma_variable As String
Variant
Une variable de type Variant peut stocker tous les types de donnes, par exemple, du texte, des nombres, des dates ou bien
encore d'autres informations. Elle peut mme stocker un tableau entier. Une variable Variant peut modifier librement son type
pendant l'excution du code alors que ceci est impossible raliser avec un autre type de donnes (par exemple String).
Vous pouvez utiliser la fonction VarType pour trouver le type de donnes que contient une variable Variant.
Code : VB.NET
Sub TestVariables()
' On dclare implicitement une variable qui est du texte.
ma_variable = "le_site_du_zro"
'On affiche le type de la variable
MsgBox VarType(ma_variable)
'On change la valeur de la variable pour mettre un nombre
ma_variable = 4
'On affiche le nouveau type de la mme variable
MsgBox VarType(ma_variable)
End Sub
C'est le cas, sauf quau lieu de vous le donnez en toutes lettres. On vous donne un chiffre qui correspond un type. Voil le
tableau des correspondances :
Valeur de retour
Type
Empty
Null
Integer
Long
Single
Double
Currency
Date/Time
String
Par la mme occasion, je viens de vous prsenter la liste de tous les types de variables que l'on peut renvoyer pour une variable.
Mme si Variant stocke tout type de donnes, il n'est pas indiffrent ce qu'il contient. En effet, vous avez vu dans l'exemple
www.openclassrooms.com
133/250
prcdant que Varient identifie le type de donnes. Ainsi, si vous essayez d'effectuer des calculs avec une variable de type
Variant mais contenant du texte, une erreur apparait. Il existe une fonction pour savoir si la variable est de type numrique ou non
et donc ainsi faire des calculs. Cette fonction est IsNumeric et fonctionne comme la fonction VarType. Si la variable comprend
un nombre, la fonction renvoie Vrai, sinon elle renvoie Faux.
Code : VB.NET
Sub TestNumeric()
'On dclare une variable implicitement ayant du texte
ma_variable = "zozor"
'On affiche le rsultat de la fonction
MsgBox IsNumeric(ma_variable)
End Sub
Il est vrai qu'on pourrait avoir un seul type pour les nombres. Mais le chiffre 1 ne prend pas la mme place en mmoire que le
nombre 23954959,45593. C'est pour cela que diffrents types ont t crs. En effet, si la mmoire monopolise par une variable
est faible, alors le programme tournera plus vite. C'est logique aprs tout, il aura moins de donnes analyser.
Voici un tableau qui rcapitule les diffrents types numriques (la plage reprsente la plage de dispersion dans laquelle les
valeurs de la variable doivent tre comprises) :
Nom
Description
Plage
Caractre de
dclaration
Byte
0 255
Integer
Long
&
Single
-922337203685477,5808
922337203685477,5807
Double
www.openclassrooms.com
Aucun
134/250
J'avoue que tous ces chiffres ne sont pas trs digestes. Il faut simplement retenir que pour de petits entiers on utilise Integer ou
Byte si l'on est sr que cest un petit nombre (comme pour l'age par exemple). Si on sait que l'entier sera trs gros, on utilise
Long. C'est la mme chose pour Single et Double mais pour les nombres dcimaux. Currency est moins souvent utilis.
Euh, j'ai d partir aux toilettes quand tu as expliqu le caractre de dclaration...
Non, c'est normal, je n'en ai pas parl. J'allais y venir. Le caractre de dclaration est utilis pour faciliter les dclarations de
variable. Au lieu de mettre As Integer, on va simplement coller le caractre % la variable pour la dclarer comme un Integer.
Code : VB.NET
'Ces deux lignes excutent la mme chose
Dim ma_variable%
Dim ma_variable As Integer
'D'autres exemples de dclaration de variables
Dim age As Byte
Dim annee As Integer
Dim salaire_Zidane As Long
Dim un_pourcentage As Currency
Dim une_fraction As Single
Dim une_grosse_fraction As Double
le caractre de dclaration permet donc de gagner du temps dans le codage, mais n'est pas trs explicite. Je ne peux vous
conseiller une mthode, c'est selon votre faon de programmer.
On peut dclarer plusieurs variables sur une mme ligne (avec un seul Dim. Mais pour le type, il faut le spcifier
chaque fois. S'il n'est pas spcifi aprs chaque variable, le type Variant est appliqu aux variables sans type spcifique.
Code : VB.NET
Dim nom As String, prenom As String, age As Integer, enfants As
Integer
Dans le tableau rpertoriant les valeurs renvoyes par VarType, il n'y a pas le type Byte. Si une variable est de type
Byte, la fonction renvoie 17.
Le type String
Si vous savez que votre variable ne sera que du texte, alors vous utilisez le type String. String signifie en anglais "Chane". C'est
donc une chane de caractre que l'on va donner comme valeur.
Code : VB.NET
Dim mon_texte As String
Ainsi, vous pouvez utiliser les fonctions sur les chanes de caractres ces variables.
Par dfaut, la longueur de la chane de caractre est variable. On peut alors, pour conomiser de la mmoire, fixer la longueur de la
chane un maximum. C'est au moment de la dclaration de variable que l'on effectue cette opration de cette faon :
www.openclassrooms.com
135/250
Code : VB.NET
Dim du_texte As String * 50
On utilise l'toile (le signe multiplier informatique) suivie du nombre de caractres maximum. Dans notre exemple, la chane ne
pourra dpasser 50 caractres.
Si la chane est infrieure au maximum, elle est comble avec des espaces. A l'inverse, si elle est trop longue, elle est
coupe aprs le 50me caractre et le reste est perdu.
Il existe aussi un caractre de dclaration pour ce type de variable qui est le dollar $.
A titre indicatif, une chane de longueur fixe peut comporter jusqu' 65 500 caractres alors qu'une chane de longueur variable
peut comporter jusqu' 2 000 000 de caractres.
Dans un premier temps, on observe que la variable est vide donc s'affiche 0. Dans le second temps, la variable a beau tre vide,
mais elle est dclare comme une chane de caractre, s'affiche alors 8 pour String.
Il ne faut pas confondre une valeur vide une valeur Null. C'est le deuxime type de variable expliqu dans ce point. Une variable
Varient peut contenir une valeur spciale appele Null. La valeur Null est utilise pour indiquer des donnes inconnues ou
manquantes. Les variables ne sont pas initialises Null moins que vous n'criviez du code pour ce faire. Si vous n'utilisez pas
Null dans votre application, vous n'avez pas vous soucier de la valeur Null.
La valeur Null n'est pas gale 0.
Il existe une fonction pour savoir si une variable est de type Null ou non, il s'agit de la fonction IsNull.
Code : VB.NET
Sub TestNull()
' On cre une variable laquelle on attribue la valeur Null (sans
guillemet)
ma_variable = Null
' On teste le type de la variable
www.openclassrooms.com
136/250
MsgBox IsNull(ma_variable)
End Sub
Le type Boolens
Vous savez ce qu'est un boolen ? Ce mot un peu barbare dsigne en fait un type de variable qui prend 2 valeurs diffrentes : Vrai
et Faux. L'avantage est que ce type de variable ne demande que 2 octets pour tre stock et trs souvent utilis en
programmation. VBA utilise l'anglais, la variable de type boolen prends alors les valeurs True or False. Par contre, l'affiche
dans une boite de dialogue, Vrai et Faux sont affichs.
Code : VB.NET
' Une variable qui vaut Vrai
ma_variable = True
' Une variable qui vaut Faux
ma_variable = False
Le type Objet
Ce sont des variables faisant rfrence des objets. Ne me dites pas que vous avez oubli ce que c'est... Ce sont les classeurs,
les feuilles, les cellules ou mme l'application. On a vu dans le cours qu'avec la fonction With... End With on peut faire les
faignants et ne pas tous rcrire. Et bien l, on va pouvoir mettre des objets en tant que variable. Ce type de variable occupe 4
octets. L'instruction Set permet d'attribuer une rfrence d'objet la variable. Par contre, ce type de variable prend de la place et
on libre donc la mmoire grce Nothing (cf. exemple ci-dessous).
Les exemples sont plus explicites que le texte :
Code : VB.NET
Sub test()
www.openclassrooms.com
137/250
Ceci est ralisable avec une feuille ou un classeur ou une cellule. En combinant tout a, on obtient ceci :
Code : VB.NET
' On attribue des variables : c comme classeur pour Workbook.
' f comme feuille pour Worksheet.
Dim c As Workbook, f As Worksheet
' On associe c le premier classeur
Set c = Workbooks("classeur1")
' On associe f la feuille 1 du classeur 1
Set f = c.Worksheets("feuil1")
' On affiche la valeur de la premire cellule de la premire
feuille,
' du premier classeur
MsgBox f.Range("A1").Value
On aurait pu aussi associer Range("A1") une variable pour raccourcir le code si on avait l'utiliser souvent. Ce code est utile et
remplace ce code :
Code : VB.NET
Workbooks("classeur1").Worksheets("feuil1").Range("A1").Value
Ce que nous avons fait avant peut paraitre plus long, mais trs pratique par la suite, en effet, la simple lettre f remplace tout ce
code :
Code : VB.NET
Workbooks("classeur1").Worksheets("feuil1")
Voil, vous connaissez la base sur les variables. Vous pensiez que c'tait assez ? Eh bien pas tout fait, c'est pour a que l'on a
dcid de refaire un chapitre sur les variables ! Ce n'est pas pour nous rpter ne vous inquitez pas, c'est videment pour
apporter encore plus de connaissances et continuer votre route vers les beaux programmes VBA !
www.openclassrooms.com
138/250
Les tableaux
Pour l'instant, on a dclar que des variables individuelles, c'est--dire des variables une une. Imaginez que vous ayez une liste
d'invits faire. Vous allez certainement dclarer comme ceci :
Code : VB.NET
Dim invite1 As String, invite2 As String, invite3 As String, invite4
As String
Je ne suis pas tout fait d'accord, il suffit d'avoir les bons outils. Bon j'avoue que je ne vous ai pas aid pour l'instant, mais on va
utiliser un outil trs puissant : les tableaux.
Voil, nous avons cr un tableau de 51 cellules sur une colonne. Un tableau fonctionne comme une feuille Excel, la colonne A
est notre tableau et chaque ligne est une entre. On peut ainsi mettre en cellule A1 le nom du premier invit en A2, le deuxime,
ainsi de suite. En VBA, on nutilise pas A1, A2... mais invite(0), invite(1)...
Un tableau commence 0 et non 1, c'est une source d'erreurs pour les nophytes en VBA.
Dans l'exemple prcdent, on a donc cr 51 variables invite numrotes de 0 50 et de type String. On peut donc maintenant
attribuer un nom chaque invit.
Code : VB.NET
invite(0)="Robert"
invite(1)="Marcel"
invite(2)="Andr"
invite(3)="Vital"
...
Un tableau peut prendre tous les types de variables et il est limit 32 767 lments.
Nous avons vu que les tableaux commenaient 0. On peut modifier cette base avec la fonction Option Base. Comme pour la
fonction Option Explicit, il faut la placer avant tout code dans un module dans la section de dclarations comme ceci :
www.openclassrooms.com
139/250
Code : VB.NET
Option Base 1
Les tableaux commenceront alors 1. Cette base de 1 peut tre unique un tableau en utilisant le mot-cl To.
Code : VB.NET
Dim mon_tableau(1 To 15) as String
Ce n'est pas fini. Mme si ce tableau comporte alors 55 cellules, on peut le dupliquer dans une troisime dimension. Reprenons
l'exemple du classeur Excel, vous avez votre feuille qui est un tableau 2 dimensions et pouvez la dupliquer ! chaque fois, le
nombre de cellules dans le tableau augmente. a fonctionne toujours de la mme faon :
Code : VB.NET
Dim super_tableau(5, 3, 6) As String
Ce tableau comporte donc 7 feuilles de 6 colonnes et 4 lignes. Ce qui nous fait 168 cellules et lments qui peuvent prendre une
valeur.
On dit que le nombre de dimensions peut monter jusqu' 5, mais la gestion de ces tableaux devient trs difficile. De plus, plus on
donne de dimensions, plus on augmente l'espace utilis par la mmoire. De ce fait, au bout d'une certaine quantit de mmoire
utilise, le programme peut ralentir le fonctionnement de la machine. Attention donc ne pas utiliser de l'espace inutilement.
www.openclassrooms.com
140/250
Si vous ne voulez pas mettre le mot Static devant toutes les variables d'une procdure, vous pouvez ajouter Static avant la
dclaration de procdure.
Code : VB.NET
Static Sub procedure_variables_statiques
Les constantes
Les constantes sont en ralit des variables qui ne sont jamais modifies. Elles contiennent des valeurs qui sont utilises sans
arrt dans le code et fournissent des raccourcis pour ces valeurs constantes particulires.
On ne peut videment pas modifier une constante et pour la dclarer on n'utilise pas Dim mais Const. Les constantes sont
utiles dans plusieurs contextes vous de voir dans lesquels elles vous seront utiles.
www.openclassrooms.com
141/250
Code : VB.NET
Const nom_chemin = "D:\Utilisateur\"
Il existe des constantes prdfinies dans le modle d'objet d'Excel que l'on tudiera plus tard dans ce cours.
Si je vous le dis. Je ne vais quand mme pas jouer avec votre cur
. Grce au mot cl Type, on peut crer son propre type de
variable partir des types dj existant. La dfinition du type doit tre avoir lieu dans la section des dclarations d'un module.
Code : VB.NET
Type joueur
tribu As String
vies As Byte
points As Integer
End Type
Ce code cre un nouveau type appel joueur qui contient des informations sur la tribu, le nombre de vies et le nombre de points
d'un joueur. Ce type s'ajoute automatiquement la liste droulante comme les autres types dj existants. On peut l'utiliser
comme les autres types. Exemple :
Code : VB.NET
' On dclare une variable joueur
Dim bat538 As joueur
' On renseigne les diffrents champs du type
bat538.tribu = "Zr0"
bat538.vies = 5
bat538.points = 0
'On affiche un un les paramtres
MsgBox bat538.tribu
MsgBox bat538.vies
MsgBox bat538.points
Notez que la variable bat538 cre comporte une liste droulante qui recense les champs du type de donnes quand vous
saisissez le nom de la variable dans le code.
Vous pouvez aussi crer un tableau partir du nouveau type cr.
Ouf ! Enfin ! C'est fini ! On vient de terminer une grosse partie sur les variables, mais trs importante puisqu'on les utilise tout
bout de champ dans les programmes. On va maintenant voir comment fonctionnent les fonctions, modules et sous-routines.
Allez, hop c'est parti, on continue ! Enfin, je vous accorde une pause pour vous ressourcer...
www.openclassrooms.com
142/250
Les conditions
Ce chapitre est essentiel la programmation, mais pas difficile. Super non ? Enfin, il est facile comprendre et prsent dans la
plupart des langages de programmation. Les conditions, c'est des choix que fait le programme en fonction de critres. Chacun est
habitu la prise de dcision. Aprs tout, vous prenez des dcisions tous les jours. Par exemple, quand vous vous rveillez, il
vous faut choisir vos habits. Vous prenez cette dcision en fonction de diffrents facteurs comme la mto ou bien votre type
d'activit de la journe.
Les programmes doivent galement prendre des dcisions en fonction de paramtres auxquels le programme a accs. Les
programmes informatiques seraient extrmement monotones s'ils ne prenaient jamais de dcision. Par exemple, si un programme
tente de charger un classeur et qu'il ne trouve pas ce classeur, il faut prendre une dcision pour savoir quelle conduite adopter.
Est-ce que le programme doit simplement afficher un message d'erreur et stopper son excution ou bien doit-il faire preuve de
plus d'intelligence et alerter l'utilisateur que le fichier est manquant et offrir une action alternative ?
Signification
gal
>
Suprieur
<
Infrieur
>=
Suprieur ou gal
<=
Infrieur ou gal
<>
Diffrent de
On peut donc avec ces oprateurs de comparaison faire toutes les comparaisons possibles entre deux valeurs. On va alors
s'entraner faire des comparaisons avec des donnes :
Comparaison
age <= 1
mot_de_passe <> password
pointure > 39
pseudo = identifiant
age >= 18
parents < 3
www.openclassrooms.com
143/250
Alors, vous savez quoi correspondent toutes ces comparaisons ? La rponse juste en dessous.
Secret (cliquez pour afficher)
Comparaison
Signification (Si...)
age <= 1
pseudo = identifiant
age >= 18
parents < 3
Vous voyez que l'on peut faire plein de choses avec ces comparaisons !
Dans un premier temps, on cre une variable laquelle on applique une valeur (on pourra dans la suite du cours avoir une
interaction avec l'utilisateur, pour l'instant changez vous-mme la valeur de la variable).
Ensuite on compare la variable l'ge de la majorit et on affiche une phrase en fonction du rsultat.
On indente notre code dans une condition et aussi le reste du code pour que ce soit plus lisible. Indenter c'est crer un
espace entre le bord gauche et le dbut de la commande pour bien voir les niveaux de la commande.
Si l'on souhaite faire plusieurs conditions, on n'est pas oblig de crer un groupe de If...Then...Else chaque fois. On peut
comparer notre variable une premire valeur, si c'est vraie alors on excute le code, sinon on compare une autre valeur, si cette
fois c'est vrai on excute le code et ainsi de suite tant qu'il y a du code comparer. Jusqu' ce que vous n'ayez plus de valeur
comparer.
www.openclassrooms.com
144/250
Code : VB.NET
Sub test_condition()
Dim age As Byte
age = 20
If age >= 18 Then
MsgBox "Vous tes un adulte"
ElseIf age < 8 Then
MsgBox "Vous tes un surdou pour tre ici votre ge !"
Else
MsgBox "Vous tes encore mineur"
End If
End Sub
Vous remarquez qu'on utilise le mot-cl ElseIf pour faire une deuxime comparaison et afficher du texte en consquence. Cette
ligne avec le ElseIf fonctionne comme la ligne du If.
Ce code est beaucoup plus lisible que avec des ElseIf partout et surtout plus rapide. Vous connaissez alors une alternative
pour comparer une variable dans un mme bloc.
Un autre exemple pour que vous connaissiez les diffrentes formes de Case.
www.openclassrooms.com
145/250
Code : VB.NET
Select Case (note)
Case 1
MsgBox "La note est de 1"
Case 2, 3
MsgBox "La note est de 2 ou 3"
Case 4 To 6
MsgBox "La note est de 4, 5 ou 6"
Case Is > 6
MsgBox "La note est suprieure 6"
Case Else
MsgBox "La note est infrieure 1"
End Select
Dans cet exemple, il y a des petites nouveauts avec les deux valeurs spares par une virgule ou les valeurs spares par To
qui signifie "de ... ". Le code et ce qui est dans les MsgBox suffit comprendre la signification de chaque Case.
On va pouvoir alors excuter du code en fonction de deux variables. Dans un premier temps en utilisant l'oprateur AND. Si la
www.openclassrooms.com
146/250
note est infrieure 10 et que le travail est infrieur 5h, alors, il faut motiver l'lve travailler plus pour avoir une meilleure
note.
Il est trs simple d'utiliser ces oprateurs. Il suffit d'crire ce code :
Code : VB.NET
' Pour l'oprateur And c'est comme ceci :
If age < 18 And sexe = "Masculin" Then
MsgBox "Vous n'tes encore qu'un garon..."
Else
MsgBox "Soit plus de 18 ans, soit vous tes de sexe fminin"
End If
' Pour l'oprateur Or C'est la mme chose
If pointure < 40 Or taille < 34
...
End If
Il faut retenir qu'avec And, toutes les conditions doivent tre vraies pour excuter le code qui suit Then. Alors que pour Or, une
seule de TOUTES les conditions doit tre vraie pour excuter la premire partie du code.
Not
L'oprateur Not inverse le rsultat d'une condition. Si une condition est vraie, elle devient fausse avec le mot-cl Not.
Code : VB.NET
If Not(2 = 3) Then
MsgBox "Les valeurs ne sont pas gales"
Else
MsgBox "Les valeurs sont gales"
End If
Grce l'oprateur Not, mme si la condition est fausse, on excute la premire partie du code.
Xor
Cet oprateur logique est trs semblable Or. La diffrence, parce que oui il y en a une, est que pour Xor si deux conditions
sont vraies, alors c'est le code de la deuxime partie qui est excute. VBA considre que deux conditions vraies donnent faux
avec Xor.
C'est tout ce que je peux vous dire sur cet oprateur. C'est avec l'exprience que vous serez amen l'utiliser. Pour l'instant, vous
savez qu'il existe et savez l'utiliser.
Is
www.openclassrooms.com
147/250
Le premier code va afficher la premire rponse alors que le second va afficher la seconde mme si les deux feuilles sont vierges
parce qu'elles ont un nom diffrent.
Like
Cet oprateur permet de comparer deux chanes de caractres. La correspondance entre deux chanes peut tre seulement les n
premiers caractres ou simplement au niveau de la casse (majuscule ou minuscule).
On utilise un mot-cl Option Compare que l'on doit crire dans la section des dclarations. Ce mot cl peut tre suivi de deux
valeurs : Binary ou Text. Si vous spcifiez Binary, une lettre en majuscule et la mme lettre en minuscule ne sont pas
considres comme identiques. Alors qu'avec Text, la comparaison ne fait pas de diffrences entre minuscule et majuscule. Si
Option Compare est utilis seul, c'est Binary par dfaut qui est utilis.
Dan cet exemple on utilise le mode Binary :
Code : VB.NET
Option Compare Binary
Sub test()
If "Site du Zro" = "site du zro" Then
MsgBox "Les chanes sont exactement les mmes"
Else
MsgBox "Il y a des diffrences entre les chanes de caractres"
End If
End Sub
Dans ce code, les chanes ne sont pas identiques puisque des majuscules sont dans la premire chane et absentes dans la
seconde. Si on excute le mme code en spcifiant Text la place de Binary, c'est le premier message qui sera renvoy.
Si on veut comparer que quelques caractres, on peut utiliser des caractres joker. Le symbole ? remplace un seul caractre, mais
n'importe lequel, le symbole * remplace quant lui une chane de caractre. Je vous prsente un tableau avec les caractres de
comparaison et leur signification.
Caractres
?
Signification
Remplace un seul caractre
www.openclassrooms.com
148/250
[Liste_de_caractres]
Rappel : les programmeurs sont des feignants. Il existe alors une simplification ! Si vous voulez les lettres de a f comme dans
l'exemple prcdant, il suffit de mettre un trait d'union (-) entre la premire et la dernire lettre : [a-f], ceci correspond [abcedf].
De la mme faon, [a-z] quivaut [abcdefghijklmnopqrstuvwxyz] et [0-9] correspond [0123456789].
Nous allons mettre en place une srie d'exemples pour bien comprendre et utiliser. Il faut alors initialiser Option Compare
Text.
Code : VB.NET
Option Compare Text
Sub test_comparaison()
If "site du zro" Like "site du ?ro" Then
' Cette ligne renvoie True
If "site du zro" Like "site du *" Then
' Cette ligne renvoie True
If "Site du zro" Like "site ?u zero" Then
' Cette ligne renvoie False non pas parce que le "S" est en
majuscule puis minuscule
' ni cause du ?, mais parce que dans la premire chane, il y a
un ""
' et dans la seconde, il n'y a pas d'accent.
If "Site du 0" Like "site du #" Then
' Cette ligne renvoie True car 0 est un chiffre.
If "Site du 0" Like "site du [012345]" Then
' Cette ligne renvoie True car le caractre de la premire chane
est prsent dans
' la liste entre crochets.
If "Site du 0" Like "site du [5-9]" Then
' Cette ligne renvoie False car 0 n'est pas compris entre 5 et 9
compris.
If "Site du 0" Like "site du [!5-9]" Then
' Cette ligne renvoie True car 0 n'est pas compris entre 5 et 9
compris.
' C'est l'inverse de l'exemple prcdant.
If "Site du zro ?" Like "site du zro [?]" Then
' Cette ligne renvoie True car le caractre la fin est bien un
point d'interrogation.
www.openclassrooms.com
149/250
' N'oubliez pas les crochets, sinon, n'importe quel caractre peut
tre la place
' du point d'interrogation dans la premire chane.
End Sub
J'espre que ces exemples vous ont t utiles pour comprendre l'oprateur Like. Sinon, n'hsitez pas relire et faire des tests
vous-mmes.
Aprs avoir dvelopp un peu d'intelligence artificielle dans notre programme, il est temps de voir de nouvelles notions qui
permettront d'engager un "dialogue" plutt humain entre l'utilisateur et le programme. Nous allons donc attaquer les boucles, qui
excutent un morceau de code plusieurs fois de suite tant qu'une condition est vraie. Comme quoi, tout est li !
www.openclassrooms.com
150/250
Les boucles
Dans ce chapitre, nous allons reprendre la notion fondamentale du chapitre prcdent : les conditions. Une boucle permet de
rpter une action tant qu'une condition renvoie Vrai. De ce fait, on pourra faire des actions rptitives trs facilement.
Prenons un exemple, vous avez un tableau et vous voulez remplir toutes les entres par les lettres de l'alphabet. Au lieu de
prendre une ligne pour chaque entre, on va crer une boucle qui permet d'affecter chaque entre une lettre de l'alphabet.
Ce que je viens de vous proposer, c'est une boucle simple o il y aura qu'une instruction, mais on pourra complexifier ces
boucles trs facilement par la suite.
Les boucles, comme les conditions, on les utilise dans la vie de tous les jours. Par exemple, vous tes en train de marcher.
L'instruction l'intrieur de la boucle est : "faire un pas", la condition peut tre multiple du type : "tant que je ne suis pas arriv
et qu'il n'y a pas de trou alors ...". On boucle cette instruction pour que nous puissions enchainer les pas et arriver destination
sans tomber dans un trou. S'il fallait crire une instruction chaque pas, le code serait trs long !
La boucle simple
Dans cette premire partie, nous allons tudier le code d'une boucle simple. Pour cela il faut d'abord savoir ce que fait une boucle
et quel code elle remplace. Imaginons un code trs simple et basique pour afficher les nombres de 1 10 dans une boite de
dialogue en utilisant MsgBox. Voici la premire solution que vous tes en mesure de coder :
Code : VB.NET
Sub boucle()
MsgBox
MsgBox
MsgBox
MsgBox
MsgBox
MsgBox
MsgBox
MsgBox
MsgBox
MsgBox
"1"
"2"
"3"
"4"
"5"
"6"
"7"
"8"
"9"
"10"
End Sub
www.openclassrooms.com
151/250
de la variable.
Enfin quand vous avez fini votre boucle, sur la dernire ligne, il faut dire au programme de passer la valeur suivante par le motcl Next suivi du nom de la variable. Ainsi, le programme recommence au dbut avec la valeur suivante jusqu' ce que la valeur
atteigne la valeur plafond (ici 10).
Le mot-cl Step
En anglais, step signifie pas. C'est le pas plusieurs significations : il y a le pas lorsque vous marchez, mais la signification qui
nous intresse ici est le pas comme cart entre deux valeurs. Dans notre boucle, par dfaut le pas est de 1, c'est--dire que la
variable est incrmente (augmente) de 1 chaque tour de boucle. Grce au mot-cl Step, on peut modifier ce pas. On va alors
afficher que les chiffres pairs de 0 10.
Code : VB.NET
For nombre = 0 to 10 Step 2
MsgBox nombre
Next nombre
Ce code affiche successivement 0, 2, 4, 6, 8, 10 parce que le pas est de 2, vous pouvez aussi mettre un nombre virgule pour aller
de 0 1 par exemple en ajoutant chaque fois 0,1.
Dans VBA, une virgule est indique par un point (.) et non par une virgule (,).
www.openclassrooms.com
152/250
lettre(n) = Chr(n+65)
Next n
For n = 0 To 25
MsgBox lettre(n)
Next n
End Sub
Dans un premier temps, on cre un tableau de 26 entres (nombre de lettres de notre alphabet). Dans une premire boucle, on
affecte chaque entre une lettre de l'alphabet, dans la seconde boucle on affiche ces lettres.
Euh, c'est quoi Chr(n+65) ?
Chr est une fonction de VBA qui permet de renvoyer la lettre qui correspond un code numrique. Ce code est le ASCII
(American Standard Code of Information Interchange ou Code standard amricain pour les changes d'information). Ainsi
grce ce code chaque nombre correspond une lettre et par exemple A = 65, B = 66 et ainsi de suite. Comme notre code
commence 0, il faut ajouter 65 pour avoir la lettre A. Quand n est gal 1, on ajoute 65 pour obtenir 66 et la lettre B. La fonction
Chr permet de convertir ce nombre en lettre et on affecte cette valeur l'entre du tableau correspondante.
Si le sujet vous passionne, vous trouverez ici la table ASCII complte
Dans la premire boucle, on utilise la variable colonne qui va reprsenter la colonne. Dans le premier tour de boucle, on utilise la
valeur 1 pour colonne. On ajoute 64 la valeur de colonne pour obtenir la valeur dans le code ASCII et affiche la lettre
correspondant la colonne.
Dans la deuxime boucle, on boucle le numro de ligne grce la variable ligne. Ainsi, on va afficher tour tour toutes les
cellules de la premire colonne, la colonne A. On obtient donc A1, A2, A3, A4 ,A5. Une fois que la boucle des lignes est termine,
la boucle sur les lignes est termine et le code continue s'excuter. Il arrive la ligne Next colonne. De ce fait, le code reprend
au dbut de la boucle, avec la colonne B et refait la boucle concernant les lignes pour afficher toutes les cellules de la colonne B
et ainsi de suite. Il y a donc 25 boites de dialogue qui s'affichent.
Cet exemple est termin, j'espre qu'il vous a servi et que vous avez compris. Faites des tests chez vous, c'est comme a que l'on
apprend ! Passons maintenant une autre boucle.
www.openclassrooms.com
153/250
Prenons un exemple pour bien comprendre. Nous avons 10 feuilles dans un classeur, soit une collection de 10 feuilles.
On cherche une feuille que l'on va supprimer. Avec la boucle For Each, on parcourt toute la collection, on analyse toutes les
feuilles et supprime celle que l'on veut. Une fois toute la collection parcourue, la boucle s'arrte. En revanche, avec la boucle
For..Next, on va mettre un indice qui va de 1 10 (puisqu'on a 10 feuilles). On supprime la feuille que l'on a trouve, de ce fait, il
n'en reste plus que 9 et les restantes se dcalent pour que la collection ne soit pas de "trou". Dans ce cas, la feuille qui tait en 10
se retrouve en 9 et il n'y a plus de feuille 10. La boucle va continuer de tourner jusqu' ce que l'indice atteigne la valeur de 10. A
ce moment, la boucle ne va pas trouver de feuille puisqu'elles ont t dcales et il va y avoir une erreur. On va alors utiliser la
boucle For Each pour parcourir les collections.
Pour connaitre la syntaxe de cette boucle, on va afficher dans une boite de dialogue le nom de chaque feuille de calculs. Voici le
code suivi d'explications :
Code : VB.NET
Sub afficher_noms()
Dim une_feuille As Worksheet
For Each une_feuille In Worksheets
MsgBox une_feuille.Name
Next une_feuille
End Sub
Dans un premier temps, on cr une variable une_feuille de type Worksheet (objet feuille). On utilise la boucle For Each pour
parcourir chaque feuille de la collection Worksheets (collection de feuilles d'un classeur). La ligne signifie donc : pour chaque
feuille de la collection de feuilles...
On excute alors une ligne de commande en affichant le nom de la feuille grce la proprit Name dans une boite de dialogue.
Une fois que c'est fait, on passe la feuille suivante grce au mot-cl Next.
Comme dans la boucle For..Next, il faut utiliser le mme nom de variable (ou d'indice) pour que la boucle tourne correctement.
La boucle Do Until
Encore une nouvelle boucle qui fonctionne diffremment de la boucle For..Next mais qui a la mme logique. Elle va continuer de
tourner tant qu'une condition est respecte. Je vous prsente la syntaxe grce un exemple et une explication ensuite :
Code : VB.NET
Sub test_boucle()
ma_variable = 0
Do Until ma_variable = 10
ma_variable = ma_variable + 1
MsgBox ma_variable
Loop
End Sub
On initialise une variable 0. Ensuite, le mot-cl Do Until est utilis. Il signifie "jusqu'", c'est dire, jusqu' ce que ma_variable
soit gale 10. Dans le code, on incrmente manuellement la variable puis on affiche sa valeur. Enfin, on utilise un nouveau motcl pour signaler la fin de la boucle : Loop (qui signifie boucler en anglais).
Attention ne pas faire de boucle infinie, c'est--dire une boucle o la variable n'atteint jamais la valeur plafond ! Sinon,
une boite de dialogue apparat chaque fois que vous cliquez sur Ok. On ne peut mettre fin au code.
www.openclassrooms.com
154/250
Code : VB.NET
Sub test_while()
ma_variable = 0
While ma_variable < 12
ma_variable = ma_variable + 1
MsgBox ma_variable
Wend
End Sub
Comme pour la boucle prcdente, on initialise la variable 0. Ensuite on utilise le mot-cl While qui signifie "tant que" suivi
d'une condition, ici infrieur 12. C'est--dire que tant que la variable est infrieure 12 on entre dans la boucle, sinon on en sort
et on poursuit le code. Dans la suite du code, on incrmente la variable de 1 en 1 (le pas est de 1) et on affiche chaque fois la
valeur. Quand la boucle doit remonter on utilise le mot-cl Wend (qui signifie s'acheminer) comme on utilise Loop dans la boucle
Do Until.
Le mot-cl pour sortir d'une boucle, c'est Exit For dans une boucle For..Next ou For Each. Dans le cas d'une boucle Do Until, le
mot-cl pour en sortir est Exit Do. Vous aurez not que dans le cas d'une boucle For..Next, la valeur de l'indice (de la variable) est
prserve. Si les boucles sont imbriques, votre code ne sort que de la boucle dans laquelle il se trouve. Il ne sortira pas de la
boucle extrieure moins que vous n'y placiez une autre instruction Exit.
Dans l'exemple prcdant, on a donc une variable qui commence 1 et va jusqu' 100. Dans cette boucle une instruction
conditionnelle (If) est utilise pour comparer la valeur de l'indice et celui que l'on cherche. Une fois la valeur atteinte on entre
dans l'instruction conditionnelle et excute le code : la sortie. Tant que la valeur de l'indice ne respecte pas la condition, on ne
prend pas en compte l'instruction qui la suit (la sortie) et on continu boucler. Enfin, lorsque la valeur est trouve, on sort de la
boucle et affiche cette valeur.
www.openclassrooms.com
155/250
Nous allons rsoudre le problme 19. Je vous invite prendre connaissance des
informations donnes dans l'nonc, ici, je vais simplement recopier la question :
Citation : Problme 19 - Projet Euler
How many Sundays fell on the first of the month during the twentieth century (1
Jan 1901 to 31 Dec 2000)?
Les oprations de comparaison que vous connaissez fonctionnent trs bien sur les dates (on peut donc savoir quelle date est
plus vieille qu'une autre avec nos oprateurs habituels : >, <, etc.).
Des fonctions
Nous allons voir maintenant quelques fonctions de VBA pour analyser une variable de type Date.
Il faut d'abord savoir que dans Excel, tous les jours de la semaine et les mois sont numrots. La seule particularit est que le jour
de la semaine numro 1 est un dimanche.
Pour obtenir le numro du jour de la semaine, il nous suffit d'utiliser la fonction WeekDay(), qui attend en paramtre une
variable de type Date. Cette fonction vous renverra un entier, qu'il vous suffit de comparer au tableau suivant pour connatre le
jour.
Dimanche
Lundi
Mardi
Mercredi
Jeudi
Vendredi
www.openclassrooms.com
156/250
7
Samedi
Pour connatre le jour du mois, il suffit d'utiliser la fonction Day(), qui attend en paramtre une variable de type Date,
videment.
Ainsi, avec la dclaration ci-dessus, Date(maDate) renverra 12.
A vous de jouer !
Entre les boucles et ces quelques lments ci-dessus, vous avez tout pour russir votre (premier, pour certains) exercice du
Projet Euler !
Je vous recommande d'afficher chaque rsultat qui correspond dans une cellule, chaque rsultat les uns en dessous des autres
dans une colonne (la colonne A par exemple). La fonction NBVAL() de Excel, dont vous trouverez le guide d'utilisation la fin de
cette sous-partie de l'annexe des fonctions, va vous permettre de compter toutes les cellules non vides dans votre plage et donc
d'obtenir la solution du problme.
Correction
Je vous propose une correction. Nous allons d'abord voir le code VBA puis ensuite la partie sur le tableur.
Code : VB.NET
Sub probleme19 ()
Dim dateFin As Date, dateActuelle As Date
dateActuelle = "01/01/1901" ' on commence au 01/01/1901
dateFin = "31/12/2000"
Range("A1").Select 'on slectionne la premire cellule pour y
afficher le premier rsultat
While dateActuelle <= dateFin
If WeekDay(dateActuelle) = 1 And Day(dateActuelle) = 1 Then
ActiveCell.Value = dateActuelle ' on crit le rsultat dans la
cellule active
ActiveCell.Offset(1, 0).Select
dateActuelle = dateActuelle + 1 ' on passe au jour suivant
Else
dateActuelle = dateActuelle + 1
End If
Wend
End Sub
Retournez voir votre feuille de calculs, votre colonne A est remplie de dates
. Dans une cellule d'une autre colonne, il ne
vous reste plus qu' rentrer la formule : = NBVAL("A1:A2000") (2000 pour tre large, mais on peut aussi tester toute la
colonne) pour avoir votre solution !
Naturellement, celle-ci ne sera pas divulgue ici, ce n'est pas du jeu sinon !
Critique
Cette mthode - sous Excel - est rapide et fonctionne. Cependant, si on y rflchit, l'algorithme brute-force utilis est assez
mauvais.
En effet, dans la vie courante, si on devait appliquer la mthode brute-force avec tous les calendriers de 1901 2000, on
regarderait uniquement les premiers du mois, et non tous les jours. On peut donc sintresser, dans le code VBA, aux premiers du
www.openclassrooms.com
157/250
www.openclassrooms.com
158/250
(Re)prsentation
Les modules
Nous allons commencer en prsentant ce qu'est un module. Et si je vous dis que vous le savez dj, vous me croyez ? Il va bien
falloir
Un module reprsente la feuille dans lequel vous crivez votre code depuis le dbut. Ils sont rattachs des classeurs
et le code de ces modules peut ainsi agir sur tout le classeur.
Vous pouvez aussi crire du code qui est rattach une feuille ou au classeur en double cliquant sur les feuilles gauche dans
l'explorateur ou sur ThisWorkbook (qui est le classeur). On reviendra sur ce type de code plus tard.
Vous avez donc deux dossiers, les objets du classeur : Microsoft Excel Objets et les modules dans le classeur Modules. Pour
ajouter un module, il suffit de faire un clic droit dans l'explorateur, aller sur insertion et cliquer sur Module.
Vous avez donc un module qui s'ajoute l'explorateur et qui s'appelle "Module1". C'est dans celui-ci qu'on va crire le code. Pour
excuter ce code, on a vu que l'on peut utiliser la touche F5. Mais l'utilisateur de votre application ne va pas s'amuser ouvrir
Visual Basic. On va alors affecter les macros des Contrles. On en a dj parl dans le chapitre sur la POO.
Les procdures codes peuvent aussi tre excutes en faisant appel elle par le biais d'une autre procdure. Le dtail de cette
technique va bientt venir. Les fonctions cres dans VBA peuvent aussi tre appeles dans les cellules directement comme on
appelle la fonction SOMME. a c'est top, vous aller pouvoir crer vos propres fonctions !
www.openclassrooms.com
159/250
Le mot cl Function s'crie avec un "u" et non un "o". C'est le mot fonction en anglais.
Code : VB.NET
' On dclare une sous-routine
Sub ma_routine()
End Sub
'On dclare une fonction
Function ma_fonction()
End Function
Les fonction doivent tre appeles via une variable pour qu'il y ait une valeur de retour.
Code : VB.NET
maintenant = Now()
Ce code permet de mettre la date du jour dans une variable appele maintenant.
Les deux types de procdures acceptent les paramtres. Un paramtre est une valeur que l'on envoie une fonction ou sousroutine pour qu'elle effectue des calculs par exemple partir de ces paramtres. Nous allons illustrer a dans la section suivante
avec un exemple.
La diffrence entre fonction et sous-routine est assez subtile mais doit bien tre comprise pour que vous n'essayer pas de
retourner une valeur avec une sous-routine par exemple.
Comment l'utiliser ?
www.openclassrooms.com
160/250
Une fois votre fonction cre, elle apparait dans la liste droulante de droite au dessus de la zone de code. Elle peut alors tre
utilise dans VBA mais aussi dans Excel.
Dans Excel
Retournez dans un tableau Excel et saisissez dans une cellule :
=multiplier(3;4)
Dans une cellule, le sparateur de paramtre est un point-virgule et non une simple virgule. Une fois que vous appuyez sur
Entre, le rsultat (12) s'affiche. Elle s'utilise alors comme les autres fonctions.
Dans VBA
Vous allez crer une sous-routine classique avec le nom que vous voulez. J'ai choisi par soucis d'originalit de l'appeler test(). On
va alors appeler la fonction, lui transmettre les paramtres et afficher le rsultat dans une boite de dialogue. Vous pouvez y arriver
seuls mais le code suit quand mme pour une correction.
Code : VB.NET
Sub test()
Dim variable1 As Byte, variable2 As Byte
variable1 = 3
variable2 = 5
resultat = multiplier(variable1, variable2)
MsgBox resultat
End Sub
Notez que lorsque vous saisissez le mot multiplier et ouvrez la parenthse, VBA affiche automatiquement le nom des
paramtres attendus. En insrant la fonction dans le code, vous forcez un appel cette fonction en utilisant les paramtres 3 et 5
qui remplacent nombre1 et nombre2 dans votre fonction. Le rsultat est retourn dans la variable resultat.
Lancez votre macro l'aide de la touche F5. Que ce passe-t-il ? Le rsultat 15 s'affiche dans la boite de dialogue.
Notez que cette sous-routine possde un paramtre pour une variable appele prenom. Cela est d au fait que vous allez
appeler la sous-routine partir d'une autre procdure et lui passer une variable.
Une ligne est trace sous la sous-routine pour prciser o elle se termine. Elle s'ajoute alors la liste droulante en haut droite.
www.openclassrooms.com
161/250
Utiliser la sous-routine
On va maintenant utiliser cette sous-routine dans une procdure. Ce sont des procdures simples pour bien comprendre, vous
pourrez par la suite complexifier vos sous-routines et procdures.
La sous-routine peut tre appele comme une fonction en affichant son nom puis les paramtres si elle en prend entre
parenthses. Mais on peut aussi utiliser le mot-cl Call.
Code : VB.NET
' Ces deux lignes font la mme chose
Call ma_sous_routine(parametre)
ma_sous_routine(parametre)
Dans la suite du cours, je n'utiliserais pas ce mot-cl, il permet de voir que c'est une sous-routine et qu'elle ne renvoie rien.
Personnellement, je ne l'utilise pas.
Code : VB.NET
Sub test()
' On cre une variable prnom et on lui attribue une valeur
Dim prenom As String
prenom = "Baptiste"
' On utilise notre sous-routine pour afficher le prnom
affichage_prenom (prenom)
' On cre une variable ge ayant pour valeur 20
Dim age As Byte
age = 20
' On rutilise la sous-routine pour montrer que malgr le code
entre les deux,
' la sous-routine continue de faire la mme chose.
affichage_prenom (prenom)
End Sub
A noter que j'utilise toujours la variable prenom dans mon code mais ce n'est pas obligatoire. La variable envoye la sousroutine ne doit pas forcment tre la mme que le nom de la variable utilise dans la sous-routine. on peut trs bien faire a :
Code : VB.NET
' On utilise toujours la mme sous-routine avec la variable prenom
Sub test()
Dim pseudo As String
pseudo = "Baptiste"
affichage_prenom (pseudo)
Dim age As Byte
age = 20
affichage_prenom (pseudo)
End Sub
www.openclassrooms.com
162/250
Vous voyez bien que j'envoie la variable pseudo la sous-routine mais le code fonctionne de la mme faon et affiche la mme
chose.
Les sous-routines permettent de dcomposer un gros code en plusieurs portions. De cette faon, il est plus facile de rsoudre un
problme en prenant chaque morceaux de code les uns aprs les autres.
C'est un premier pas vers des programmes lisibles.
Publique ou prive ?
VBA vous permet de dfinir vos fonctions ou sous-routines prives ou publiques l'aide des mots-cls Private ou Public. Voici
un exemple :
Code : VB.NET
Private Sub sous_routine_privee()
End Sub
Euh mes fonctions et sous-routines que j'ai cres, elles sont publiques ou prives ?
Jusque l, vous n'avez cr que des fonctions et sous-routines publiques. Par dfaut, VBA les cres en publiques. Le fait
qu'une fonction ou sous-routine soit publique permet cette procdure d'tre accessible dans tous les modules de l'application.
De plus, elles feront partie de la liste des macros que l'on peut attribuer sur une feuille de calcul.
Vous vous doutez que pour les procdures prives, il suffit de mettre le mot-cl Private devant la dclaration de fonction ou
sous-routine. Ainsi, vous allez pouvoir avoir des procdures qui ont le mme nom dans des modules diffrents et qui excutent
un code diffrent. Ces fonctions prives ne peuvent tre utilises par un utilisateur dans la feuille de calcul.
C'est le mme systme que pour les variables locales ou globales.
Il y a un avantage dclarer des types de donnes : vous introduisez une discipline dans votre code car la procdure recherche
un certain type d'informations. Si vous ne spcifiez pas de type et utilisez par consquent le type par dfaut, Variant, alors votre
procdure acceptera n'importe quoi, que ce soit un nombre ou une chane de caractres. Cela peut avoir des consquences
fcheuses dans votre procdure si vous attendez une chane de caractres et recevez un nombre ou inversement. Si vous
spcifiez que le paramtre est une chane de caractres, une erreur se produira si ce n'est pas une chane de caractres qui est
passe en paramtre.
Cette fonction demande un paramtre obligatoire de type Byte qui est parametre1 et un paramtre optionnel de type Byte qui
www.openclassrooms.com
163/250
est parametre2. Un paramtre optionnel doit tre nonc APRS les paramtres obligatoires.
Lorsque vous envoyez une variable dans une fonction ou sous-routine, vous souhaitez faire des calculs avec ce nombre mais
pas forcement modifier ce nombre, dans ce cas on envoie une copie de la variable la fonction.
Pour envoyer une copie de cette variable, on va utiliser le mot-cl ByVal. De ce fait, la valeur relle de la variable n'est pas
modifie. Si on utilise le mot-cl ByRef, on envoie la rfrence de la variable (l'adresse), la sous-routine peut alors accder la
vraie valeur et la modifier. Dans ce cas, la variable est modifie mme dans la procdure qui appelle la sous-routine ou la fonction.
Par dfaut, les arguments sont passs par rfrence.
Nous allons faire un test :
Code : VB.NET
' Passe la rfrence en argument.
Sub MaProcedure_1(ByRef x As Integer)
x = x * 2
End Sub
' Passe la valeur en argument.
Sub MaProcedure_2(ByVal y As Integer)
y = y * 2
End Sub
' ByRef est la valeur par dfaut si non spcifie.
Sub MaProcedure_3(z As Integer)
z = z * 2
End Sub
Sub Test()
' On utilise une variable pour la faire changer
Dim nombre_a_change As Integer
nombre_a_change = 50
' On applique notre variable la premire sous-routine
MaProcedure_1 nombre_a_change
MsgBox nombre_a_change
' On applique notre variable la deuxime sous-routine
MaProcedure_2 nombre_a_change
MsgBox nombre_a_change
' On applique notre variable la troisime sous-routine
MaProcedure_3 nombre_a_change
MsgBox nombre_a_change
End Sub
Dans un premier temps, on applique notre variable la premire procdure qui multiplie par 2 la valeur. tant donn que la
variable est passe grce la rfrence, la variable est modifie dans la sous-routine mais aussi dans la procdure qui appelait la
sous-routine et donc on affiche le double de le valeur de dpart, c'est dire 100.
Dans un second temps, on applique la deuxime sous-routine. Dans celle-ci, on envoie une copie de la valeur (on envoie donc la
valeur 100). Elle fait le mme calcul mais avec une copie. De ce fait, la procdure qui appelait la sous-routine n'affiche pas le
www.openclassrooms.com
164/250
double mais 100. En effet, c'est la copie qui a t multiplie par 2 et non la valeur relle de la variable.
Enfin, dans la troisime, aucun mot-cl n'est utilis. Par dfaut nous envoyons la rfrence et donc la vraie valeur la sousroutine. Celle-ci effectue donc le mme calcul (multiplication par 2) et modifie la variable de la procdure appelante. Le rsultat
affich est donc 200.
C'est bon, c'est fini ! Euh, je parle de ce chapitre, pas du tutoriel, nous en sommes encore assez loin d'ailleurs
Les fonctions
de ce chapitre ne sont pas trs dveloppes mais c'est en pratiquant que vous aller complexifier vos fonctions et sous-routines.
La lecture des chapitres suivants vous aidera faire tout ce que vous voulez facilement.
www.openclassrooms.com
165/250
Pourtant, on peut perfectionner ces botes. De quelle manire ? En leur donnant un titre, en modifiant l'ventail de boutons
cliquables ou encore l'icne de la fentre (information - interrogation - erreur). Examinons le prototype (carte d'identit) de la
fonction MsgBox afin d'en savoir plus.
Code : VB.NET
MsgBox (Prompt, [Buttons] As VbMsgBoxStyle = vbOkOnly, [title],
[helpfile], [context]) As VbMsgBoxResult
La fonction peut prendre jusqu' 5 paramtres. Le As permet de prciser le type de valeur qu'il faut indiquer ou que la fonction
retourne.
Ah, parce que la fonction renvoie une valeur ?
Et oui. D'ailleurs, c'est bien pratique. Dans une MsgBox trois boutons, c'est bien la valeur de retour (stocke dans une variable)
qui permettra de savoir o a cliqu l'utilisateur et d'agir en consquence ! MsgBox() retourne un Long, c'est--dire un entier.
Stockons-le dans une variable et utilisons la syntaxe approprie aux fonctions :
Code : VB.NET
Sub maBoite()
Dim retour As Long
retour = MsgBox ( Prompt := " Je suis un Zr0 !" )
www.openclassrooms.com
166/250
End Sub
Ce qui change par rapport nos prcdentes utilisations de MsgBox, c'est que nous utilisons des parenthses, comme l'appel
de n'importe quelle fonction.
De plus, nous indiquons le paramtre auquel nous attribuons une valeur grce au :=. Cette syntaxe est un peu lourde mais au
final, c'est tout bnfique pour vous. Vous pouvez ainsi saisir les paramtres dans n'importe quel ordre sans avoir se demander
trois heures qui fait quoi
.
Notez que la syntaxe suivante est tout aussi correcte :
Code : VB.NET
retour = MsgBox ( " Je suis un Zr0 !" )
prompt est le seul paramtre obligatoire. En effet, il n'est pas entour de crochets. Vous le devinez aisment, prompt attend
une chane de caractres (String) et reprsente le message qui sera affich dans la bote.
Maintenant, voyons le reste.
Des boutons !
Le prototype nous indique que le paramtre buttons n'est pas obligatoire, puisqu'il est entour de crochets. Cela signifie que
si vous fates appel la fonction MsgBox avec uniquement le paramtre obligatoire, vous n'aurez pas d'erreur l'excution du
script.
Valeur numrique
Description
Ok
vbOkOnly
vbOkCancel
vbYesNoCancel 3
vbYesNo
Ok et Annuler
Oui, Non
Par exemple, pour crer une MsgBox qui affiche " Salut ! " et qui propose comme boutons " Ok " et " Annuler ", je peux faire :
Code : VB.NET
www.openclassrooms.com
167/250
ou encore :
Code : VB.NET
retour = MsgBox (" Salut ! ", 1)
Cependant, la premire solution est prfrer. En effet, si vous ne touchez pas votre code pendant 3 mois ou si vous travaillez
plusieurs, un nom explicite est bien souvent prfrable une valeur numrique.
Agir en consquence
Maintenant que nous avons vu comment former vos MsgBox, il est temps de les rendre utiles pour vous
. Nous allons faire
une batterie de tests sur la variable retour grce aux conditions, afin de savoir o l'utilisateur a cliqu et donc d'agir en
consquence.
Encore une fois, tout va se faire coup de constantes VBA.
En effet, la valeur renvoye par MsgBox dpend du bouton press par l'utilisateur. Si nous rcuprons cette valeur de retour,
nous saurons o a cliqu notre cobaye et donc quelles instructions excuter !
C'est d'ailleurs ce que l'on appelle la programmation vnementielle. Il s'agit dexcuter tel ou tel bloc d'instructions en
fonction du signal reu par le programme - signal gnralement mis par l'utilisateur.
vbok
Annuler vbCancel
Oui
vbYes
Non
vbNo
Si vous connaissez un peu l'anglais, les noms de constantes ne devraient vraiment pas poser problme.
Prenons l'exemple suivant, qui pose une question l'utilisateur :
Code : VB.NET
Sub questionVitale()
Dim retour As Long
' on cre une MsgBox "Oui - Non ":
retour = MsgBox( Prompt := "tes-vous vraiment un Zr0 ?", Buttons
:= vbYesNo )
'Si on a cliqu sur Oui, on souhaite la bienvenue :
If retour = vbYes Then
MsgBox "Bienvenue !"
www.openclassrooms.com
168/250
Naturellement, la place de If retour = vbYes, on aurait trs bien pu tester avec la valeur numrique associe la
constante : If retour = 6.
Bien entendu, ceci n'est qu'un exemple simple mettant en jeu conditions et MsgBox. Nanmoins, vous connaissez dsormais le
principe pour engager un dialogue l'utilisateur, c'est--dire personnaliser Excel en fonction de ses actions
.
Voyons maintenant comment rcuprer des informations saisies par l'utilisateur.
Premirement, la fonction renvoie un String, c'est--dire une chane de caractres. Que vous saisissiez un mot ou un nombre, il
sera convertit en String. Pas trs pratique pour les calculs (on ne peut pas par exemple additionner un entier un String) mais
tous ces problmes seront bien vites rsolus
.
Vous connaissez la plupart des paramtres (prompt, title, context), le reste n'est pas trs utile dans un premier temps.
Vos programmes devraient vraiment commencer devenir intressants dsormais
.
Une seule chose, trouvez quelque chose coder et dveloppez-le ! N'oubliez pas que l'enregistreur de macros est souvent un
bon dbut si vous bloquez.
www.openclassrooms.com
169/250
Partie 5 : Annexes
www.openclassrooms.com
Partie 5 : Annexes
170/250
Formule
Explication
Pas besoin d'explication
=10
Statique
=B1
Dynamique Cette fonction dpend d'une autre cellule, elle est donc dynamique.
=10+2
Statique
=B4+C5
=10+D3
Dynamique
La premire valeur est statique alors que la seconde est dynamique donc la formule est
dynamique.
=PI()
Statique
C'est une formule qui renvoie la valeur de PI (on l'tudiera plus tard). Cette valeur est
toujours la mme donc le contenu est statique.
=SOMME(B1:B5)
Dynamique
Nous tudierons la syntaxe plus tard. Ce contenu est dynamique puisqu'il dpend d'autres
cellules.
=MAINTENANT() Dynamique
Nous tudierons cette fonction plus tard, elle renvoie l'heure au moment o la feuille est
calcule. Ce contenu est dynamique puisqu'il varie chaque fois que la feuille est calcule.
Ce tableau prsente plusieurs exemples diffrents pour illustrer le contenu statique et dynamique. Vous comprendrez peut-tre
mieux en lisant la description des fonctions plus tard dans ce cours.
Pour reprendre, voici comment se prsente une fonction :
=NOM_DE_LA_FONCTION(PARAMETRE1;PARAMETRE2;...)
On voit donc qu'une fonction est compose du signe gal (=), de son nom et des paramtres, aussi appels arguments, qu'elle
prend en compte (s'il y en a, ils ne sont pas obligatoires). Ces paramtres peuvent tre de diffrents types et le nombre de
paramtres varie aussi beaucoup selon les fonctions.
A noter que les illustrations et les fonctions sont tires de la version 2007 d'Excel.
Premire solution
La premire solution que nous allons prsenter est l'entre de la fonction directement dans la cellule en l'crivant soit dans la
cellule, soit dans la barre de formule, de cette faon (exemple de la fonction SOMME que nous verrons plus tard) :
Il faut alors connatre la fonction, c'est la mthode la plus utilise lorsque l'on connat les fonctions et qu'on les utilise souvent.
Vous pouvez voir, si vous testez, qu'Excel vous propose des fonctions au cours de la frappe. Cela peut vous faciliter la
tche lorsque vous n'tes pas sr de l'orthographe de la fonction. Sur la capture, vous voyez qu'une fois la fonction
entre, Excel vous indique ce dont la fonction besoin (ici des nombres ou coordonnes de cellule).
www.openclassrooms.com
Partie 5 : Annexes
171/250
Deuxime information sur ce qui s'affiche sur la capture d'cran, un paramtre (ou donne) obligatoire est en gras, ils
sont gnralement spars par des points-virgules ; . Ceux optionnels sont entre crochets.
Deuxime solution
Par le ruban, dans l'onglet Formules et dans la rubrique Bibliothque de fonctions puis en droulant la liste d'une des
catgories et en choisissant la fonction voulue. Toujours avec l'exemple de la fonction SOMME , vous devriez avoir a :
Dans le menu droulant, on slectionne la fonction que l'on veut et une fentre s'ouvre :
www.openclassrooms.com
Partie 5 : Annexes
172/250
Il suffit alors de remplir les champs, Excel nous aide avec des informations en bas sur la fonction et sur le paramtre entrer. Il
faut ensuite cliquer sur OK . La formule est alors entre dans la cellule active et peut tre modifie dans la barre de formule.
Pour slectionner des cellules dont on ne connat pas les coordonnes par cur (c'est souvent le cas), il suffit de cliquer droite
du champ ici :
et une autre fentre (plus petite) s'ouvre :
A ce moment, il vous suffit de slectionner la ou les cellules souhaites pour le paramtre. Si vous ne savez pas, cliquez sur la
petite icne droite de la fentre :
. Vous revenez ainsi sur la fentre pour insrer la fonction.
Troisime solution
Par le ruban galement, dans l'onglet Formules et dans la rubrique Bibliothque de fonctions cliquer sur Insrer une
fonction .
www.openclassrooms.com
Partie 5 : Annexes
173/250
Il faut donc soit dcrire la fonction et Excel vous la trouve, soit slectionner la fonction dans la liste en dessous lorsqu'elle est
connue. Si on ne sait pas dans quelle catgorie elle se trouve, slectionner Tous .
La fonction SOMME est toujours notre exemple pour cette troisime solution :
www.openclassrooms.com
Partie 5 : Annexes
174/250
Cliquer alors sur OK . S'ouvre alors la fentre que l'on a vu lors de la deuxime solution. Il faut alors suivre la mme procdure
qu' partir de cette fentre pour entrer la fonction.
Vous savez maintenant comment crire une fonction, nous allons maintenant commencer avec les premires fonctions dans la
deuxime partie.
www.openclassrooms.com
Partie 5 : Annexes
175/250
Ou partir du ruban et de l'onglet Formules , de la rubrique Bibliothque de fonctions et de cliquer sur Insrer une
fonction . Une fentre s'ouvre, slectionner dans le menu droulant de la catgorie : Math & trigo. :
www.openclassrooms.com
Partie 5 : Annexes
176/250
Je vais vous proposer des fonctions de base de la catgorie Mathmatiques et trigonomtrie qui ne sont pas forcement
intuitives. D'autres fonctions existent mais sont trs simples d'utilisation.
Pour suivre avec moi cette sous-partie et vous exercer de votre ct, je vous propose de :
INTRODUCTION
Dans cette introduction, nous allons parler des oprateurs et des priorits mathmatiques. Cela peut paratre facile, mais un
rappel n'est pas une perte de temps pour certains.
Les trois fonctions qui suivent permettent d'effectuer les oprations
suivantes : addition, soustraction, multiplication, division.
Un petit tableau qui rcapitule les signes utiliss pour ces oprations :
Opration
Oprateur
Addition
Soustraction
Multiplication *
Division
Dans une formule Excel, on peut utiliser ces oprateurs pour effectuer des calculs. Mais lorsqu'il s'agit d'additionner 50 cellules,
la formule devient trs longue. C'est pourquoi les fonctions sont utiles.
Petit rappel mathmatique : les oprations de multiplication et division sont prioritaires sur les oprations d'addition et de
soustraction.
www.openclassrooms.com
Partie 5 : Annexes
177/250
Une formule est lue et excute de gauche droite et effectue les oprations dans l'ordre. Mais elle respecte les proprits
opratoires rappeles juste avant. La formule effectue donc d'abord toutes les multiplications et divisions et ensuite les additions
et soustractions. Si des additions doivent tre effectues avant les multiplications par exemple, il faut alors utiliser les
parenthses. Ainsi, une addition entre parenthses est effectue AVANT une multiplication. Voici des exemples :
Formule
Rsultat
=10+3*5-2
23
=(10+3)*3-2
37
=(15+30)/(2+1) 15
=5*6+3
33
=(5*6)+3
33
J'espre que a vous a rappel de bons souvenirs et que vous connaissez maintenant ces oprations et oprateurs. Des erreurs
courantes viennent de ces priorits opratoires non prises en compte par l'utilisateur.
SOMME
Que permet-elle ?
Elle permet l'addition de plusieurs nombres ou cellules.
www.openclassrooms.com
Partie 5 : Annexes
178/250
Dans la colonne B on a les formules entres dans la colonne C et qui nous donnent les rsultats de la capture d'cran.
Nous allons voir maintenant un exemple plus concret. Dans une quipe de handball, nous allons voir combien de buts chaque
joueur a marqus (rsultats fictifs). Voici ce que a donne :
Nous venons de voir une utilisation concrte de la fonction SOMME mais elle est souvent combine d'autres fonctions. Vous
savez quand mme comment faire une somme de plusieurs cellules.
Pour une diffrence, il suffit de placer un signe - devant le chiffre que l'on souhaite soustraire. En effet, il n'existe pas de
fonction DIFFRENCE dans Excel 2007. Pour le reste, a fonctionne comme pour l'addition.
PRODUIT
Que permet-elle ?
Elle permet de multiplier plusieurs nombres ou cellules entre eux.
Avec un exemple plus concret, on peut voir l'utilit de la fonction dans une facture par exemple et on peut combiner la fonction
SOMME :
www.openclassrooms.com
Partie 5 : Annexes
179/250
QUOTIENT
Que permet-elle ?
Elle permet de renvoyer la partie entire d'une division.
Avec un exemple plus concret, on peut voir l'utilit de la fonction dans le calcul de la rpartition des denres par lve, tant
donn qu'il est difficile de distribuer des quarts de bonbons, il est prfrable d'avoir des valeurs entires :
www.openclassrooms.com
Partie 5 : Annexes
180/250
Simplification
Somme
Diffrence
Produit
Quotient
Pas de simplification
=QUOTIENT(B2;C4) ne revient pas crire =B2/C4. En effet, cette expression permet de diviser les deux nombres,
mais ne renvoie pas que la partie entire, elle renvoie aussi la partie dcimale du rsultat.
Nous pouvons prendre comme exemple un bulletin de notes pour regrouper l'addition, la multiplication et la division. Pour
calculer la moyenne d'un lve au bac, on calcule dans un premier temps le nombre de points que rapporte chaque matire en
multipliant la note par le coefficient. Dans un second temps, on obtient le nombre total de points obtenus et le nombre de
coefficients total. Enfin, pour calculer la moyenne on divise le nombre de points par le nombre de coefficients pour avoir la
moyenne sur 20. Dans notre exemple, notre lve de terminale S spcialit physique-chimie (prcision qui n'a aucun intrt
),
obtient la moyenne de 13,71 :
Voil la partie la plus simple de ce tutoriel de termine. Bah ouais, on a juste vu les fonctions de calcul de base... On attaque la
suite avec une nouvelle fonction.
MOD
www.openclassrooms.com
Partie 5 : Annexes
181/250
Que permet-elle ?
Elle permet de renvoyer le reste d'une division.
Pour ce qui est de l'exemple plus concret, on peut reprendre la liste des denres par enfants. Mais ici, la colonne de rsultat nous
donne les restes aprs le partage quitable des denres.
PGCD
Que permet-elle ?
Elle permet de renvoyer le plus grand dnominateur commun de plusieurs nombres ou cellules.
www.openclassrooms.com
Partie 5 : Annexes
182/250
=PGCD(E2:E5) pour calculer le PGCD des valeurs des cellules E2, E3, E4 et E5.
Vous ne voyez pas l'utilit du PGCD ? Voici un exemple : vous cherchez couvrir une surface de 210 cm sur 135 cm avec des
carreaux de carrelage. Il vous faut le moins de carreaux possible donc des carreaux les plus grands possible. Il faut aussi qu'on ait
que des carreaux entiers. En effet, couper un carreau de carrelage, c'est pas facile... On cherche alors la taille d'un carreau (carr)
de carrelage. On utilise alors le PGCD!
Petite pause
Nous allons faire une pause dans les fonctions pour prsenter le concept de condition utile dans ... beaucoup de fonctions et
notamment dans les prochaines fonctions prsentes. C'est une pause dans l'tude des fonctions, mais pas dans l'apprentissage
! Ce passage est trs important, mais pas compliqu. Il faut bien comprendre tout a pour utiliser bon escient les fonctions qui
comportent des conditions.
Pour dmarrer, on va expliquer ce qu'est une condition. Une condition commence toujours par un SI. Dans la vie courante, on
peut dire : "Si je finis de manger avant 13h, je vais regarder le journal tlvis". On peut aussi aller plus loin en disant "Sinon,
j'achte le journal". Pour Excel, c'est la mme chose. On a une fonction SI prsente plus en dtail dans la partie sur les fonctions
logiques qui fonctionne de la mme faon. Une condition et donc un "si", une valeur si c'est vrai et une valeur si c'est faut (qui
correspond au sinon).
Pour faire une condition, il faut un critre de comparaison. Lorsque vous faites un puzzle, vous triez en premier les pices qui
font le tour pour dlimiter le puzzle et aussi parce que le critre de comparaison entre les pices est simple : sur les pices du tour,
il y a un ct plat. Donc lorsque vous prenez une pice en main, vous comparez les cts de la pice un ct plat et vous la
mettez soit dans la bote des pices du tour soit dans les pices qui seront retries par la suite.
Dans Excel, ce critre de comparaison est soit une valeur, une cellule ou encore du texte. On compare les donnes d'une cellule
notre critre de comparaison et Excel renvoie VRAI si la comparaison est juste sinon Excel renvoie FAUX et Excel excute ce que
vous lui avez dit de faire en fonction de ce que renvoie la comparaison.
Pour comparer des valeurs numriques ou mme du texte, on utilise des signes mathmatiques. Le plus connu des signes de
www.openclassrooms.com
Partie 5 : Annexes
183/250
comparaison est gal (=). Si les valeurs sont gales, alors fait a sinon fait ci. Je vous donne la liste de tous les oprateurs
utiliss dans Excel pour les comparaisons :
Oprateur de comparaison
Signification
gal
>
Suprieur
<
Infrieur
>=
Suprieur ou gal
<=
Infrieur ou gal
<>
Diffrent de
On peut donc avec ces oprateurs de comparaison, faire toutes les comparaisons possibles entre deux valeurs. On va alors
s'entraner faire des comparaisons avec des donnes :
Comparaison
A3<=A4
B7<>G9
L2>A1
B2=B5
A4>=F8
M3<D9
Alors, vous savez quoi correspondent toutes ces comparaisons? La rponse juste en dessous.
Secret (cliquez pour afficher)
Comparaison
Signification (Si...)
A3<=A4
B7<>G9
B7 est diffrent de G9
L2>A1
B2=B5
B2 est gal B5
A4>=F8
M3<D9
Pour comparer une valeur sans passer par la cellule, on entre la valeur telle quelle : A1=10. Par contre si on veut comparer du
texte, il faut alors le mettre entre guillemets : A1="Jean".
On va complexifier cette notion de condition et de comparaison au fil du cours dans les diffrentes fonctions.
SOMME.SI
Que permet-elle ?
Elle permet l'addition de plusieurs nombres ou cellules selon un critre de comparaison.
www.openclassrooms.com
Partie 5 : Annexes
184/250
=SOMME.SI(plage;critre;[somme_plage])
Le premier paramtre est la plage, c'est l'ensemble des cellules comparer. Le second est le critre de comparaison, c'est ce
critre que la fonction va comparer les cellules de la plage. Enfin, le troisime paramtre est facultatif. S'il n'est pas prsent, ce
sont les valeurs de la plage qui sont additionnes. Si le paramtre somme_plage est renseign, ce sont les cellules de cette plage
qui sont additionnes.
Ce qui nous donne pour une criture avec des donnes alatoires:
=SOMME.SI(E2:E8;">10";F2:F8)
On vient de voir que quand il y avait une comparaison, Excel renvoie VRAI si elle est juste sinon elle renvoie FAUX et qu'Excel
excute ce qu'il faut en fonction. Ici, l'instruction qui est faite par Excel aprs la comparaison, c'est la prise en compte ou non de la
valeur. En fait si la condition est vraie, la valeur correspondante est prise en compte, sinon elle n'est pas prise en compte dans
l'addition. On ne choisit pas ce que fait la fonction aprs avoir renvoy VRAI ou FAUX, c'est la fonction qui s'en charge seule.
On choisit seulement avec la fonction SI tudie dans les fonctions logiques.
Petite explication : la fonction regarde la cellule B2 et la compare au critre que nous avons entr, si cette valeur est plus grande
que 320, alors j'intgre la cellule C2 dans l'addition, sinon je ne prends pas en compte la cellule C2. La fonction rpte cela pour
toutes les cellules de la plage de B2 B10.
Pour voir si vous avez compris, on va refaire un exemple avec un cas concret. On va faire nos courses. Pour conomiser, on
achte que les articles moins de 10. Combien d'articles vais-je avoir la sortie du magasin ?
Si le prix du savon est infrieur 10 alors j'achte les 2 savons (donc 2 articles). On fait la mme chose pour toutes les lignes de
www.openclassrooms.com
Partie 5 : Annexes
185/250
la plage. On se retrouve la sortie du magasin avec 14 articles. Alors que si nous avions tout achet, nous aurions eu 16 articles.
Voil ce qu'il y a savoir sur la fonction SOMME.SI.
SOMMEPROD
Que permet-elle ?
Elle permet de comptabiliser des donnes en multipliant des matrices entre elles. Pour tre clair, elle permet de compter le nombre
d'entres d'une liste selon des conditions, mais aussi d'additionner des cellules d'une liste selon des conditions.
Comme pour la fonction prcdente, on utilise des critres de comparaison qui varient selon le type de donnes dans les plages.
Voici un exemple plus concret pour expliquer (une exemple est plus parlant qu'un long discours) :
=SOMMEPROD((E2:E8="Jacques")*(F2:F8="Janvier")*(G2:G8))
La premire plage est compare au critre "Jacques", la seconde au critre "Janvier" et la troisime n'a pas de critre de
comparaison. La fonction va donc regarder sur la premire ligne, si la premire cellule est gale "Jacques" et si la seconde
cellule de la ligne est gale "Janvier". Si c'est le cas, alors la valeur de la troisime cellule de la ligne est prise en compte dans
l'addition. S'il n'y avait pas de troisime plage, la fonction se contente de compter le nombre de lignes o les deux comparaisons
sont vraies. On obtient ainsi le nombre de fois o Jacques et Janvier sont sur la mme ligne.
Avec cette fonction on peut compter le nombre de lignes qui respectent les conditions ou alors additionner les cellules de
chaque ligne. Nous allons voir un exemple concret directement pour que ce soit plus facile comprendre.
Un exemple concret
Nous allons utiliser une feuille de donnes que je vous montre ici (et disponible dans le fichier tlchargeable) :
www.openclassrooms.com
Partie 5 : Annexes
186/250
Ce tableau reprsente les ventes de chaque vendeur d'un magasin sur les trois premiers mois de l'anne. Il y a 4 vendeurs (Jean,
Pierre, Paul, Jacques).
Comment faire pour savoir le nombre de ventes de Paul au mois de Mars ? En utilisant la fonction SOMMEPROD pardi !
Pour cela il faut entrer la formule suivante :
=SOMMEPROD((A2:A31="Paul")*(B2:B31="Mars"))
On obtient bien 3 ! Et oui Paul a fait 3 ventes au mois de Mars. Maintenant on cherche savoir combien d'argent a rapport Paul
au mois de Mars. Il suffit de multiplier par la colonne "Montant" de cette manire :
=SOMMEPROD((A2:A31="Paul")*(B2:B31="Mars")*(C2:C31))
Tada ! On obtient donc 2230. En effet, la fonction a effectu le calcul suivant : 840+660+730=2230. C'est top non ? On peut faire
plein de combinaisons avec cette formule ! Mais attention il y a quelques rgles respecter :
Toutes les plages doivent avoir la mme taille et aucune colonne ne peut tre prise entirement en entrant (A:A). Cela
dit, on peut la slectionner en faisant (A1:A65535).
Je vous propose d'autres exemples pour bien comprendre et voir un peu ce que l'on peut faire avec cette fonction.
Exemple 1 : compter le nombre de ventes ralises par Jean (on peut aussi raliser cette opration avec la fonction NB.SI) :
=SOMMEPROD((A2:A31="Jean")*1)
On obtient ainsi : 8. Cet exemple n'est pas le meilleur pour montrer la puissance de la fonction, mais elle montre qu'on n'est pas
oblig d'avoir beaucoup de paramtres compliqus.
Exemple 2 : compter le nombre de ventes suprieures 600 au mois de Janvier :
www.openclassrooms.com
Partie 5 : Annexes
187/250
=SOMMEPROD((B2:B31="Janvier")*(C2:C31>600))
On obtient ainsi : 2. On peut ainsi combiner les conditions pour prendre les valeurs comprises entre 200 et 600 par exemple.
Exemple 3 : totaliser la somme accumule grce Pierre aux mois de Janvier et Mars :
=SOMMEPROD((A2:A31="Pierre")*((B2:B31="Janvier")+(B2:B31="Mars"))*(C2:C31))
On obtient ainsi : 2760.
Pour synthtiser ce tableau, on peut crer ces deux tableaux :
Dans chaque cellule non grise, on a des fonctions SOMMEPROD. Je vous laisse vous entraner en essayant de reproduire ces
tableaux. Si vous avez des questions, demandez-moi dans les commentaires ou par MP. Pour les cellules grises, on peut utiliser
la fonction SOMME tout simplement. Je propose, pour bien apprivoiser la fonction tudie, de l'utiliser pour obtenir les mmes
rsultats qu'avec la fonction SOMME. Vous en tes largement capable, j'ai confiance en vous
.
Nous en avons fini avec la fonction SOMMEPROD et j'espre que vous avez compris. Elle est vraiment trs puissante et utile
pour synthtiser des tableaux comme on vient de le faire !
PI
Que permet-elle ?
Elle permet de renvoyer la valeur de pi.
www.openclassrooms.com
Partie 5 : Annexes
188/250
Un exemple d'utilisation
On cherche calculer le primtre et l'aire de diffrents disques selon leur rayon :
RACINE
Que permet-elle ?
Elle permet de calculer la racine carre d'un nombre ou d'une cellule.
Un exemple d'application
En course d'orientation, je dois aller du point A au point B. Je connais la distance vol d'oiseau entre ces deux points. Par contre,
le carr au centre ne me permet pas d'aller tout droit c'est une fort de buisson. Je dois donc calculer la distance parcourir en
prenant le chemin (trait noir).
On utilise alors le fameux thorme de Pythagore qui nous dit que AB+AC=BC lorsque le triangle est rectangle en A. Ici, nous
avons un carr donc les deux segments sont de mmes longueurs et 2x=AB. Il faut alors rsoudre cette petite quation. 2x tant
la distance parcourir. Voici la rponse grce Excel :
www.openclassrooms.com
Partie 5 : Annexes
189/250
ARRONDI
Que permet-elle ?
Elle permet d'arrondir le rsultat d'un quotient par exemple au nombre significatif que l'on veut.
On vient de voir dans l'exemple que l'on peut appliquer des valeurs ngatives. Vous avez srement devin que a permet
d'arrondir avant la virgule et donc la dizaine (pour -1) prs ou la centaine (pour -2) prs.
Vous avez vraiment besoin d'un exemple concret pour cette fonction ? Allez, pour le fun et parce que je suis sympa, je vous en
propose un. De plus la rptition permet l'apprentissage donc a ne vous fera pas de mal
. J'aime bien la bouffe alors encore
un exemple sur des courses
.
www.openclassrooms.com
Partie 5 : Annexes
190/250
ARRONDI.INF et ARRONDI.SUP
Que permettent-elles ?
Comme la fonction ARRONDI, elles permettent d'arrondir un chiffre selon un nombre de dcimales ou, en utilisant les nombres
ngatifs, d'arrondir avant la virgule. Pour la fonction ARRONDI.INF on arrondit l'infrieur alors qu'avec ARRONDI.SUP on
arrondit au suprieur. On ne se proccupe plus de savoir ce qui suit la partie tronque.
ALEA.ENTRE.BORNES
Que permet-elle ?
Elle permet de renvoyer un nombre entier alatoire qui est situ entre deux bornes spcifies par l'utilisateur (c'est dire vous).
Un nouveau nombre alatoire est renvoy chaque fois que la feuille de calcul est calcule.
www.openclassrooms.com
Partie 5 : Annexes
191/250
www.openclassrooms.com
Partie 5 : Annexes
192/250
Ou partir dur ruban et de l'onglet Formules , de la rubrique Bibliothque de fonctions et de cliquer sur Insrer une
fonction . Une fentre s'ouvre, slectionner dans le menu droulant Logique .
Je vais vous proposer ici l'intgralit des fonctions de Logique. Ne vous inquitez pas, ce n'est pas pour a que c'est une grosse
partie, car trois fonctions ne seront pas aussi dtailles que les autres. Il n'y a pas beaucoup de fonctions dans cette catgorie.
Pour suivre avec moi cette sous-partie et vous exercer de votre ct, je vous propose de :
SI
Que permet-elle ?
Elle permet de renvoyer une valeur ou une autre selon une condition. Tient, une condition, on en a dj parl. En effet, on dans la
petite pause effectue lors de la partie prcdente, on a tudi les conditions, les critres de comparaison et les oprateurs
permettant ces comparaisons. La fonction renvoie VRAI si la condition est respecte et FAUX si elle ne l'est pas.
www.openclassrooms.com
Partie 5 : Annexes
193/250
Dans ce cas, on peut utiliser une fonction SI dans une fonction SI de cette faon :
=SI(C3<100;SI(C3>10;valeur_si_vrai;valeur si C3 n'est pas plus grand que 10);valeur si C3 n'est pas plus petit que 100)
Ainsi, vous pouvez spcifier du texte selon si la valeur est trop petite ou trop grande. a peut tre intressant pour alerter
l'utilisateur du classeur pourquoi la valeur entre n'est pas conforme.
Voil pour ce qui est des valeurs alatoires. Vous pouvez donc jouer avec pour vous les approprier.
Je vous propose un exemple de l'utilisation de la fonction SI imbrique. On a une liste de notes obtenues au baccalaurat par des
lves. On leur attribut alors une mention (premier tableau) en fonction de la note. J'ai ajout une coloration conditionnelle pour
bien diffrencier les niveaux. La formule de la cellule C11 est note sous le tableau.
www.openclassrooms.com
Partie 5 : Annexes
194/250
Cette formule est lourde et on prfrera l'utilisation de la fonction RECHERCHE prsente dans la catgorie Recherche
et rfrences.
Cette fonction SI trs utilise dans Excel est souvent combine d'autres fonctions que nous allons voir par la suite. Elle est
aussi intgre dans d'autres fonctions comme celle vues prcdemment : SOMME.SI ou SOMMEPROD.
ET et OU
Que permettent-elles ?
Ces deux fonctions permettent de faciliter l'criture des fonctions SI lorsque vous avez plusieurs conditions respecter. La
fonction ET permet de dire que deux ou plusieurs conditions soient respectes pour que la fonction renvoie VRAI et la fonction
OU permet de dire que seulement une des deux ou plusieurs conditions doivent tre respectes pour que la fonction renvoie
VRAI.
www.openclassrooms.com
Partie 5 : Annexes
195/250
Vous avez compris l'intrt de ces fonctions ? Je vous vois ne pas osez, mais si allez y dites-le ! Oui, oui, on va les utiliser en les
combinant avec la fonction SI pardi ! On crit alors :
=SI(ET(condition1;condition2);valeur_si_vrai;valeur_si_faux)
La fonction affiche la valeur_si_vrai si la fonction ET renvoie VRAI et la valeur_si_faux si la fonction ET renvoie FAUX.
Comment on sait si la fonction ET renvoie VRAI ou FAUX ?
www.openclassrooms.com
Partie 5 : Annexes
196/250
Un autre exemple trs simple pour finir sur ces fonctions propos de la fonction OU. Elle analyse si l'utilisateur est un utilisateur
Windows ou non.
SIERREUR
Que permet-elle ?
Elle permet d'afficher une valeur "par dfaut" dans une cellule si le calcul initialement prvu provoque une erreur. Par exemple,
une division par 0 va afficher #DIV/0!, on va alors utiliser cette fonction pour afficher le message que l'on veut.
Un exemple
Pour une division par 0 :
www.openclassrooms.com
Partie 5 : Annexes
197/250
Ou partir dur ruban et de l'onglet Formules , de la rubrique <italique Bibliothque de fonctions</italique> et de cliquer
sur Insrer une fonction . Une fentre s'ouvre, slectionner dans le menu droulant des catgories : Recherche & Matrices
.
Comme dans les autres catgories, nous centrerons notre tude sur les fonctions utiles que vous ne connaissez peut-tre pas.
www.openclassrooms.com
Partie 5 : Annexes
198/250
Pour suivre avec moi cette sous-partie et vous exercer de votre ct, je vous propose de :
Tlcharger le fichier
fonctions_recherche_et_reference.xlsx
Ce classeur Excel contient tous les exemples utiliss dans cette partie. Il y a la base des exemples, vous d'entrer les formules.
COLONNE et LIGNE
Que permettent-elles ?
Nous traitons les deux fonctions en mme temps, car elles ont le mme rle, mais dans un sens diffrent. Vous l'aurez devin, la
fonction COLONNE dans le sens vertical et LIGNE dans le sens horizontal.
Ces fonctions permettent de renvoyer le numro de la colonne ou celui de la ligne selon la fonction d'une cellule ou d'une plage
de cellule ou mme le nom d'une plage de cellule.
C'est quoi le nom d'une plage de cellule ?
On peut nommer des plages de cellule sur Excel pour viter d'avoir la rfrencer avec les lettres et chiffres des colonnes. Ainsi,
une plage de cellule allant de la cellule A1 la cellule C5 est appele A1:C5. Lorsque cette plage est slectionne, faites un clic
droit et cliquez sur Nommer une plage....
Une fentre s'ouvre, il suffit de remplir le champ Nom et de cliquer sur OK.
www.openclassrooms.com
Partie 5 : Annexes
199/250
Vous remarquez que, gauche de la barre de formule, apparat le nom de votre plage. C'est ce nom de plage que l'on peut envoyer
la fonction COLONNE ou LIGNE pour connatre le numro de colonne ou ligne o elle se trouve. C'est le numro de la
premire colonne ou ligne de la plage qui est renvoy.
Quelques exemples
On utilise cette fonction surtout pour des noms de plage puisque pour les autres, les coordonnes de cellule permettent de
donner ces renseignements. Par contre, nous avons des chiffres pour les colonnes et non les lettres utilises par Excel. Il faudra
alors connatre la correspondance entre les chiffres et les lettres.
COLONNES et LIGNES
Que permettent-elles ?
Facile on vient de le voir, elles permettent de connatre l'emplacement d'une plage... Quoi c'est pas a ?
www.openclassrooms.com
Partie 5 : Annexes
200/250
Euh regarde bien, il y a un "s" chaque fonction, elles ont donc une autre fonction. Je l'admets elles fonctionnent de la mme
faon que les fonctions prcdentes. Mais ces fonctions renvoient la largeur ou la hauteur d'une plage de cellule. C'est
intressant lorsque vous n'avez pas de renseignement sur la plage, par exemple lorsque l'on dispose simplement du nom de la
plage.
Quelques exemples
En reprenant le tableau des plages prcdentes, on peut connatre la largeur et la hauteur de chaque plage.
En combinant ces 4 fonctions (COLONNE, LIGNE, COLONNES, LIGNES), on peut transformer le nom de la plage en
coordonnes de cellule. Dans cet exemple on cherche alors trouver les coordonnes de chaque plage.
Comment fais-tu ce tableau ? Je n'y comprends pas grand-chose, d'habitude, tu nous donnes les formules...
Ma gnrosit me perdra, mais l je vous accorde que des petites explications ne seraient pas de trop.
www.openclassrooms.com
Partie 5 : Annexes
201/250
a ne vous suffit pas ? Je vous l'accorde, c'est encore flou. On va passer une par une les lignes de ce dernier tableau. Chaque
ligne correspond une colonne du tableau prcdent. Dans la premire colonne, on cherche le numro de la colonne de la
premire cellule de la plage avec la fonction COLONNE. Dans la colonne D, on cherche grce la fonction RECHERCHEV
(tudie un peu plus loin dans ce cours), la lettre correspondante ce chiffre dans l'alphabet. Voici le tableau que l'on utilise pour
la recherche :
Je vous expliquerai cette fonction plus en dtail au moment voulu. Ici vous voyez qu'on affiche une lettre au lieu d'un chiffre
grce la fonction. Dans la colonne suivante, on affiche le numro de ligne de la premire cellule avec la fonction LIGNE. On
obtient alors les coordonnes de la premire cellule de la plage. Grce la fonction CONCATENER, que nous verrons plus tard,
on peut afficher les coordonnes de la cellule.
On travaille ensuite sur la plage en rapportant la largeur et la hauteur de la plage grce aux fonctions COLONNES et LIGNES
respectivement.
Puis dans les quatre colonnes suivantes, on cherche o se termine la plage en ayant les coordonnes de la dernire cellule. Pour
le numro de colonne, on ajoute la position de la premire cellule, la largeur de la plage. On enlve ensuite 1 puisque sinon on
additionne la largeur de la plage et le numro de colonne donc on se dcale d'une colonne en trop. On rattrape cette erreur en
faisant "-1". On utilise la mme fonction RECHERCHEV pour trouver la lettre correspondante comme pour la premire cellule.
Pour le numro de ligne, on additionne le numro de ligne de la premire cellule et la hauteur de la plage et on enlve 1 pour les
mmes raisons que la largeur. On obtient ainsi, avec la fonction CONCATENER, les coordonnes de la dernire cellule de la
plage.
Enfin dans la dernire colonne, on utilise de nouveau la fonction CONCATENER pour assembler les coordonnes de la premire
www.openclassrooms.com
Partie 5 : Annexes
202/250
RECHERCHEV
Que permet-elle ?
Comme on l'a vu un peu dans la description prcdente, elle permet de rechercher une valeur dans un tableau, plage de cellule ou
matrice et de renvoyer une valeur associe. Elle cherche dans la premire colonne et renvoie une valeur d'une des autres
colonnes sur la mme ligne.
Ici on ne cherche pas une valeur exacte, mais dans quel intervalle se trouve notre valeur pour lui attribuer une note. Il n'y a donc
www.openclassrooms.com
Partie 5 : Annexes
203/250
qu'une valeur qui change entre les diffrentes formules, c'est la valeur recherche.
L'exemple suivant n'est pas trs rvlateur parce que nous n'avons pas beaucoup de donnes (je ne vais pas faire l'inventaire de
toutes les villes de France
). Mais imaginez que vous ayez une liste interminable de donnes. Vous pouvez, grce la
fonction RECHERCHEV, faire la phrase que vous voulez en entrant juste le nom de la ville dans la cellule D11 (vous pouvez
mme faire une liste droulante pour choisir la ville, je vous prsente cette solution juste aprs).
La liste des villes doit tre dans l'ordre alphabtique pour que la recherche se fasse correctement.
Nous avons dfini la plage de recherche aux cellules B2:F9 que l'on a renomme villes. Nous n'avons pas pris la premire colonne
en compte pour que la recherche se fasse dans la colonne Ville.
Voici les deux formules entres dans les cellules B13 et B14 :
=CONCATENER(D11;" est une ville de ";RECHERCHEV(D11;villes;3);" habitants qui s'appellent les
";RECHERCHEV(D11;villes;5);".")
=CONCATENER("La densit est de ";RECHERCHEV(D11;villes;2);" habitant/km. Elle fait partie de la rgion
";RECHERCHEV(D11;villes;4);".")
Nous allons maintenant mettre une liste droulante pour choisir la ville. Je vais, par la mme occasion, vous montrer comment
faire une liste droulante. On commence maintenant par l'explication du fonctionnement.
Lorsque l'on choisit une ville dans la liste droulante, celle-ci est rattache une cellule. On peut alors chercher la ville dans
notre tableau pour avoir les informations sur la ville.
Pour insrer la liste droulante, placer votre curseur sur la cellule D11. Puis, dans l'onglet Donnes, dans la rubrique Outils de
donnes, cliquer sur Validation des donnes.
Une fentre s'ouvre alors. Nous allons renseigner les champs et valider puis la liste sera cre. Dans la fentre qui s'ouvre,
l'onglet Options est prslectionn sinon faites-le. Puis dans la liste Autoriser, slectionnez Liste.
www.openclassrooms.com
Partie 5 : Annexes
204/250
Laisser les paramtres par dfaut. Pour la source, slectionner la liste des villes que vous voulez voir apparatre. Pour cela placer
le curseur dans la case Source et slectionner les villes puis appuyer sur OK.
Vous avez maintenant une magnifique liste droulante. Votre utilisateur ne pourra pas se planter dans l'orthographe de la ville et
faire planter sa recherche.
Vous pouvez alors slectionner la ville que vous voulez et les informations apparaissent automatiquement. Sympa non ?
Nous en avons fini avec la fonction RECHERCHEV. Cette fonction est trs utile dans l'utilisation d'Excel. Alors, entranez-vous
et relisez ce passage si besoin.
RECHERCHEH
Que permet-elle ?
Cette fonction permet de faire exactement la mme chose que la fonction RECHERCHEV mais dans l'autre sens, c'est dire
www.openclassrooms.com
Partie 5 : Annexes
205/250
l'horizontale.
Un exemple
Comme pour l'exemple sur les villes, ces fonctions de recherche sont trs utiles lorsque vous avez de longues listes ou alors des
listes droulantes qui renvoient des nombres et donc vous cherchez l'lve correspondant ce nombre.
Je ne dtaille pas cette capture d'cran, les formules sont indiques. C'est la mme manipulation que la fonction prcdente. La
plage A1:I6 est appele notes.
Que permet-elle ?
Elle permet de rechercher une valeur dans une colonne ou une ligne (c'est ce que l'on appelle un vecteur) et de renvoyer la valeur
correspondante contenue dans un autre vecteur (ligne ou colonne) de mme taille. Les donnes du vecteur dans lequel la
fonction cherche doivent tre tries dans l'ordre croissant.
www.openclassrooms.com
Partie 5 : Annexes
206/250
Cette fonction est utilise lorsque les vecteurs ne sont pas au mme niveau dans le tableur ou si vous avez pour chaque vecteur,
un nom de plage. Il suffit de noter les noms de plage correspondant pour effectuer la recherche. Cela remplace la fonction
RECHERCHEV ou RECHERCHEH et devoir connatre le numro de colonne pour le rsultat.
Nom
B2:B9 ville
C2:C9 densit
D2:D9 nombre_habitant
E2:E9
rgion
F2:F9
habitant
On a donc utilis l'exemple de Marseille. Dans la cellule D11 on a donc la valeur Marseille. La formule qui nous permet d'avoir la
phrase de prsentation est la suivante :
Ne vous proccupez pas de la fonction CONCATENER pour l'instant nous la verrons en temps voulu. Attardons-nous plutt
sur les fonctions RECHERCHE. Nous avons donc chaque fois la mme valeur recherche, le mme vecteur de recherche, mais
c'est le vecteur de rsultat qui change. Le nom des plages nous permet de bien nous reprer dans cette longue formule et la
fonction RECHERCHE permet cette formule d'tre plus lisible.
Nous avons vu que la fonction RECHERCHE (forme vectorielle) est de la mme utilit que les fonctions RECHERCHEV et
RECHERCHEH mais dans des contextes un peu diffrents.
www.openclassrooms.com
Partie 5 : Annexes
207/250
colonne. Elle combine donc les fonctions RECHERCHEV et RECHERCHEH mais elle ne permet de renvoyer la valeur que de la
dernire colonne ou ligne.
Bonne question. Dj, vous savez que la recherche se fait toujours dans le premier vecteur (colonne ou ligne). S'il y a plus de
colonnes que de lignes, alors la recherche se fait dans la premire ligne (recherche horizontale). S'il y a plus de ligne que de
colonne alors c'est l'inverse, la recherche se fait dans la premire colonne (recherche verticale). S'il y a autant de lignes que de
colonnes, la matrice est donc un carr, la recherche se fait dans la premire colonne (recherche verticale).
On voit donc que si la matrice a plusieurs lignes et plusieurs colonnes, on ne peut avoir de renseignement que sur la dernire
colonne ou la dernire ligne. Toutes les lignes ou colonnes entre les deux ne peuvent tre trouves. Il faut alors changer de
fonction (RECHERCHEV, RECHERCHEH ou RECHERCHE forme vectorielle).
Cette fonction est utilise lorsque vous n'avez que deux colonnes ou deux lignes. Comme a, vous n'avez pas spcifier la
colonne de rsultat (le troisime paramtre des fonctions RECHERCHEV et RECHERCHEH).
Comme pour les autres fonctions de recherche, les donnes dans le vecteur de recherche doivent tre dans l'ordre
croissant ou alphabtique pour que la recherche s'effectue correctement.
Un exemple
Pour cet exemple, je vous propose un exemple qui va peut-tre tre abstrait pour vous. On a enregistr toutes les minutes la
frquence cardiaque (FC) d'un marcheur pendant 90 minutes. On a alors un tableau de deux colonnes (une pour le temps en
minutes et l'autre pour la FC en battement par minute = BPM) et 90 lignes.
Si on utilise la fonction recherche, elle se fera dans le sens vertical puisqu'on a beaucoup plus de lignes que de colonnes. On
peut alors connatre la FC un moment prcis de la marche avec la fonction RECHERCHE forme matricielle. La plage est appele
FC (A2:B91).
Voici les rsultats que l'on peut en tirer avec la fonction RECHERCHE (forme matricielle) :
www.openclassrooms.com
Partie 5 : Annexes
208/250
TRANSPOSE
Que permet-elle ?
Elle permet de mettre sur une ligne des donnes en colonne et inversement. Elle est utile lorsque vous avez un tableau double
entre faire et que les entres verticales et horizontales sont identiques. Quand on modifie la plage transposer, l'autre plage se
modifie aussi. Nous verrons cela dans les exemples.
Dans la cellule s'affiche une erreur : #VALEUR!. C'est normal puisque la plage (la ligne) n'a pas la mme taille que l'autre plage (la
colonne) en nombre de cellules. Pour la transposer, on va alors slectionner le nombre de cellules voulu partir de B2 c'est--dire
20 cellules (jusqu' la colonne U).
www.openclassrooms.com
Partie 5 : Annexes
209/250
Ensuite on appuie sur la touche F2. Le curseur se place alors dans la cellule de la formule (la premire cellule de la slection). Il
faut alors appuyer simultanment sur CTRL+SHIFT+Entre. La touche SHIFT est aussi appele touche MAJ. Voil, on obtient
donc une ligne qu'avec des zros. Bah oui parce qu'on a rien mis dans la colonne
. On va donc maintenant faire un exemple
pour bien voir ce que a donne.
On ne peut modifier les donnes d'une matrice ! N'essayez pas, vous aurez une erreur que vous ne pouvez pas enlever.
C'est--dire qu'ici, il ne faut pas modifier les cellules de B1 U1. On peut modifier les donnes de la plage transposer
et par consquent les donnes de la plage transpose (on va le faire dans l'exemple).
Si vous voulez exploiter les donnes ensuite, faites un copier-coller et un collage spcial en slectionnant Valeurs dans la petite
fentre qui s'ouvre.
Pour supprimer une matrice, slectionner entirement la matrice et appuyer sur supprimer. Ne pas prendre qu'une cellule sinon
vous aurez un message d'erreur trs difficile enlever.
Deux exemples
Un exemple dans le football, on cherche avoir un tableau qui rsume les scores de l'anne en Ligue 1. On entre tout d'abord la
liste des quipes dans les cellules A1 A21 comme ceci :
www.openclassrooms.com
Partie 5 : Annexes
210/250
Pour pouvoir rsumer les scores, on va alors entrer les mmes quipes dans les cellules de B1 U1 avec la fonction
TRANSPOSE. Slectionner les cellules B1 U1 puis appuyer sur F2. Ensuite entrer la formule suivante :
=TRANSPOSE(A2:A21)
Puis appuyer sur la combinaison de touches vue auparavant : Ctrl+Shift+Entre. Vous obtenez alors un tableau double entre
avec les mmes noms d'quipes.
www.openclassrooms.com
Partie 5 : Annexes
211/250
Ensuite vous pouvez trier la liste dans l'ordre alphabtique des quipes dans la colonne A et la liste des quipes de la ligne 1 se
mettra jour toute seule. Vous pouvez aussi modifier le nom d'une quipe mais, comme je vous l'ai dit, que dans la colonne A (la
plage transposer).
Pour un autre exemple, je vous laisse aller voir celui-ci qui est trs bien fait.
Nous en avons fini avec les fonctions de Recherche et rfrence. Il en existe d'autres, vous pouvez les dcouvrir en les testant
mais elles sont moins utilises.
www.openclassrooms.com
Partie 5 : Annexes
212/250
MAX et MIN
www.openclassrooms.com
Partie 5 : Annexes
213/250
Que permettent-elles ?
Ces fonctions permettent de renvoyer le maximum et le minimum d'une liste de nombres.
On cherche dans notre exemple, le nombre maximum et minimum de chaque paramtre du classement.
www.openclassrooms.com
Partie 5 : Annexes
214/250
MOYENNE
Que permet-elle ?
Elle renvoie la moyenne d'une liste de valeurs. Tout le monde a dj eu des moyennes l'cole et connat le principe. C'est cette
fonction qui permet de faire a.
Un exemple concret
On va faire la moyenne des prix des voitures proposes par un garage.
www.openclassrooms.com
Partie 5 : Annexes
215/250
MOYENNE.SI
Que permet-elle ?
Elle combine la fonction MOYENNE et la fonction SI pour donner la moyenne d'une srie de valeurs qui respectent une
condition.
Pour l'exemple concret, on va faire la moyenne des notes un test de logique d'un groupe de personne en fonction de leur
quotient intellectuel (QI).
www.openclassrooms.com
Partie 5 : Annexes
216/250
Cet exemple ressemble beaucoup celui de la fonction SOMME.SI et pour cause, elle fonctionne de la mme faon.
MEDIANE
Que permet-elle ?
Elle permet de renvoyer la mdiane d'une srie de nombres. La mdiane est le centre de cette srie. La rpartition des valeurs de
cette srie de part et d'autre de la mdiane est de 50% pour chaque partie. Cela signifie qu'il y a autant de valeur sous la mdiane
qu'au dessus.
www.openclassrooms.com
Partie 5 : Annexes
217/250
La fonction MEDIANE peut tre combine la fonction MOYENNE. Si ces deux valeurs sont proches, cela signifie que la
rpartition des valeurs est symtrique. On peut galement rajouter la fonction MODE qui renvoie la valeur qui revient le plus
souvent dans une liste. Si les trois fonctions renvoient la mme valeur, alors la srie a une distribution symtrique.
En comparant les valeurs renvoyes par les fonctions MEDIANE et MOYENNE, on peut voir si, par exemple dans une classe, il y
a des lves qui "tirent" la classe vers le haut ou vers le bas. Sur une liste de produit, on peut voir aussi si un des articles un
prix beaucoup plus faible ou plus lev.
ECARTYPE
Que permet-elle ?
Elle permet de renvoyer l'cart type d'une srie de valeur. L'cart type mesure la dispersion des valeurs autour de la moyenne. La
fonction ECARTYPE part de l'hypothse que la srie de valeur est un chantillon de la population. Pour valuer l'cart type
d'une population totale, il faut utiliser la fonction ECARTYPEP qui fonctionne de la mme faon.
En statistique, l'cart type permet d'valuer partir d'un chantillon alatoire d'une population, la dispersion des valeurs de la
population entire. Cette fonction est donc spcifique au monde des statistiques.
www.openclassrooms.com
Partie 5 : Annexes
218/250
=ECARTYPE(nombre1;nombre2;nombre3;...)
Exemple
En voyant notre exemple, on peut donc affirmer statistiquement que par rapport la moyenne d'ge, la dispersion est de plus ou
moins 7,18 ans. Pour ce qui est du nombre d'enfants, la dispersion est de plus ou moins 1,68. Enfin, pour la taille, la dispersion est
de plus ou moins 8,07cm.
FREQUENCE
Que permet-elle ?
Elle permet de renvoyer la rpartition des valeurs d'une srie dans des intervalles dfinis.
www.openclassrooms.com
Partie 5 : Annexes
219/250
Si on a 9 valeurs pour dfinir nos intervalles, on aura alors 10 intervalles (d'o le x+1)
=FREQUENCE(plage_de_valeur;plage_d'intervalle)
Lorsque l'on crit la fonction dans une cellule, il faut ensuite slectionner verticalement une cellule de plus que le nombre de
cellules qu'occupe les limites des intervalles. Ensuite appuyer sur F2 puis simultanment sur Ctrl+Shift+Entre. C'est ce que
nous avons fait pour la fonction TRANSPOSE.
Attention, il n'est pas possible de modifier une cellule d'une matrice. Si vous voulez la supprimer, slectionnez TOUTE
la matrice et supprimez-la.
La premire frquence correspond au nombre de valeurs infrieures 10, la deuxime le nombre de valeurs infrieures 20 et
ainsi de suite jusqu'au nombre de valeurs suprieures 90.
Un petit exemple sur la prfrence du type de film d'une population. On a 6 types de films et on obtient la rpartition (frquence)
selon les prfrences de chacun.
www.openclassrooms.com
Partie 5 : Annexes
220/250
On a mis des valeurs d'intervalle situes entre les nombres associs aux films pour tre sr d'avoir des valeurs diffrentes des
valeurs d'intervalle.
Pour vrifier que la fonction prend toutes les valeurs en compte, la somme des frquences et la somme de la plage des
valeurs trier doivent tre identiques.
NB
Que permet-elle ?
Elle permet de renvoyer le nombre de cellules d'une plage qui comporte un nombre.
www.openclassrooms.com
Partie 5 : Annexes
221/250
NBVAL et NB.VIDE
Je ne vais pas dcrire ses fonctions dans le dtail parce qu'elles fonctionnent comme la fonction NB. Elles ont la mme fonction :
compter. La fonction NBVAL compte les cellules non vides (donc compte les cellules contenant du texte) d'une plage alors que
NB.VIDE compte le nombre de cellules vides d'une plage.
NB.SI
La fonction NB.SI fonctionne comme la fonction SOMME.SI et la fonction MOYENNE.SI. Elle permet de compter les cellules
selon une condition.
www.openclassrooms.com
Partie 5 : Annexes
222/250
CONCATENER
Que permet-elle ?
Cette fonction, je l'ai dj utilise dans le tutoriel car elle est trs pratique pour afficher du texte. En effet, elle permet de mettre
bout bout des chanes de caractre (du texte) pour n'en former qu'une. Si vous avez lu le cours jusque-l, vous en avez vu
l'utilit. Elle permet de prsenter le texte de faon lisible pour l'utilisateur.
www.openclassrooms.com
Partie 5 : Annexes
223/250
Cette fonction prend autant d'arguments qu'il y a de chanes de caractres mettre bout bout (jusqu' 255).
=CONCATENER(texte1;[texte2];...)
Pour les chanes qui comprennent du texte, il faut les mettre entre guillemets. Si on veut aussi concatner des cellules, alors les
guillemets sont omis. Il y a un point-virgule (;) entre chaque chane concatner.
=CONCATENER("Le rsultat de la somme est : ";B12)
La fonction nous permet de faire une phrase dans une seule cellule contenant le rsultat d'une opration qui changera si le
rsultat change.
Penser mettre des espaces la fin ou en dbut de chanes de caractres pour plus de lisibilit. Ces espaces doivent
tre insrs comme du texte entre guillemet et non entre des points-virgules contenant les coordonnes d'une cellule.
Citation : Correct
=CONCATENER("Le rsultat est : ";B5)
Citation : Incorrect
=CONCATENER("Le rsultat est :"; B5)
Je ne sais pas si les exemples sont utiles puisque j'en est dj fait auparavant...
c'est parti !
Les exemples
Pour l'exemple, on va demander l'utilisateur de remplir un petit tableau afin de lui raconter une histoire.
Bon j'avoue que c'est pas adapt chaque personne, a dpend de ce que l'utilisateur entre dans les cellules, mais c'est pour
montrer ce que l'on peut faire avec cette fonction.
EXACT
www.openclassrooms.com
Partie 5 : Annexes
224/250
Que permet-elle ?
Elle permet de comparer 2 chanes de caractres et dire si elles sont identiques ou non.
Un exemple thorique
Avec des donnes alatoires :
CHERCHE
Que permet-elle ?
Elle permet de chercher dans une chane de caractre, c'est--dire du texte, une autre chane de caractre (un mot par exemple).
www.openclassrooms.com
Partie 5 : Annexes
225/250
DROITE et GAUCHE
Que permettent-elles ?
Elles permettent d'extraire les caractres du dbut (GAUCHE) et de fin (DROITE) de la chane de caractre.
Cette fonction peut tre utilise pour savoir si un nom est au pluriel ou non. On va alors faire une condition et afficher une
phrase.
www.openclassrooms.com
Partie 5 : Annexes
226/250
Je vais dcrire un peu la formule. On a donc une condition pour savoir si le mot est au pluriel ou pas. Un mot au pluriel prend un
s ou un x donc dans la condition SI on ajoute la fonction OU (soit un s soit un x). En suite si celle-ci vaut VRAI, a veut dire que
le mot est au pluriel et on afficher l'aide la la fonction CONCATENER, une petite phrase.
Voil, je vous ai propos une utilisation trs basique mais vous pouvez ainsi afficher des phrases en fonction des premiers ou
derniers caractres.
MAJUSCULE et MINUSCULE
Que permettent-elles ?
Elles permettent de mettre soit en majuscule soit en minuscule tous les caractres d'une cellule.
www.openclassrooms.com
Partie 5 : Annexes
227/250
La fonction MINUSCULE peut tre utilise lorsque l'on a vu la fonction CONCATENER. En effet, on a fait une phrase qui prend
en compte ce qu'entre l'utilisateur. Il aurait trs bien pu mettre des majuscules aux mots entrs. L'utilisation de la fonction
MINUSCULE aurait permis d'amliorer la prsentation.
NOMPROPRE
Que permet-elle ?
Elle permet de transformer une chane de caractre en un nom propre. Je vous rappelle qu'un nom propre prend une majuscule et
le reste est en minuscule. Cette fonction met donc une majuscule la premire lettre d'un mot et le reste du mot en minuscule, et
ce, pour tous les mots du texte.
NBCAR
Que permet-elle ?
Elle permet de compter le nombre de caractres prsents dans une chane de caractre.
www.openclassrooms.com
Partie 5 : Annexes
228/250
Toujours la mme chose, elle prend comme paramtre obligatoire le texte dont il faut compter les caractres.
=NBCAR(texte__compter)
Elle est souvent combine d'autres fonctions pour savoir o dmarrer une recherche ou savoir o commencer changer du
texte.
Des exemples
Je vais vous proposer un exemple plus pouss la fin des fonctions Texte pour comprendre l'utilit de celle-ci.
REMPLACER
Que permet-elle ?
Elle permet de remplacer dans un texte un mot par un autre. C'est ici que les autres fonctions vues prcdemment seront utiles.
Je pense que l'image parle d'elle-mme. On va utiliser les fonctions de Texte pour trouver les numros de caractres, on ne
s'amuse pas compter. De plus si on modifie la premire colonne, le reste s'adapte automatiquement.
Voil on en a fini avec les fonctions Texte. Il en existe d'autres plus ou moins utiles selon ce dont vous avez besoin mais je pense
avoir prsent les plus utiles. Pour les autres, vous pouvez les utiliser et vous former seuls l'aide d'Excel.
www.openclassrooms.com
Partie 5 : Annexes
229/250
Une fentre s'ouvre, slectionner dans le menu droulant Date & Heure .
Nous allons ici traiter des fonctions qui concernent l'horloge et donc les dates et les heures avec la notion de temps.
Pour suivre avec moi cette sous-partie et vous exercer de votre ct, je vous propose de :
INTRODUCTION
Une petite introduction ces fonctions de Date & Heure qui nous permettra de comprendre le fonctionnement de ces dates. A
chaque fois que l'on entre une date ou une heure dans une cellule du tableur Excel, elle s'affiche selon un format (Heure ou
Date). Si vous lui appliquer le format Nombre ou Texte, vous verrez d'afficher un nombre. On l'appelle le numro de srie et il est
utilis par Excel pour calculer la date et l'heure. Le numro 1 correspond au 1er janvier 1900. En effet, Excel prend pour base le 1er
janvier 1900 pour faire ses calculs. Le numro de srie, vous l'aurez peut-tre compris, renvoie le nombre de jours passs depuis
www.openclassrooms.com
Partie 5 : Annexes
230/250
cette date. Au jour o j'cris ce tutoriel, en ce 23 juin 2010, le numro de srie est : 40352. Cela signifie qu'il s'est coul 40 352
jours depuis le 1er janvier 1900. On peut ainsi soustraire et additionner facilement des jours!
Et si on veut des heures prcises ?
Alors Excel a pens tout, enfin celui qui l'a cr. Pour les heures, ce sont les chiffres aprs la virgule qui permettent de la dfinir.
A midi (12h), il y a la moiti du temps de pass pour la journe. De ce fait, 12h correspond 0,5. S'il n'y a pas de chiffre aprs la
virgule l'heure est de 00:00:00.
Aprs avoir tudi le fonctionnement des dates, nous allons attaquer les fonctions. Nous pourrons ainsi dvelopper le
fonctionnement de celles-ci, mieux les comprendre et mieux les utiliser. Allez hop, c'est parti !
AUJOURDHUI et MAINTENANT
Que permettent-elles ?
Ces fonctions renvoient la date du jour (AUJOURDHUI) et l'heure (MAINTENANT) au moment o la feuille est calcule. Comme
pour la fonction ALEA.ENTRE.BORNES, les valeurs changent chaque fois que l'on effectue un calcul dans la feuille. L'heure
se met donc jour chaque calcul effectu dans le classeur qui contient la formule. MAINTENANT peut aussi renvoyer la date
du jour, pour avoir l'heure, il suffit de changer le format de la cellule en Heure au lieu de Date.
L'application
Je ne peux que proposer un exemple trs simple puisque ces fonctions sont utiliser avec les autres pour mettre jour les
classeurs automatiquement l'ouverture de ceux-ci. J'ai prcis le format utilis ct de chaque ligne.
Nous allons maintenant nous attarder une srie de fonctions qui fonctionne de la mme faon, mais ne renvoie des valeurs
diffrentes. Ces fonctions permettent d'avoir l'anne, le mois, le jour, l'heure, la minute et la seconde d'une date. Ces fonctions
sont les suivantes : ANNEE, MOIS, JOUR, HEURE, MINUTE, SECONDE.
www.openclassrooms.com
Partie 5 : Annexes
231/250
=ANNEE(numro_de_srie)
=MOIS(numro_de_srie)
=JOUR(numro_de_srie)
=HEURE(numro_de_srie)
=MINUTE(numro_de_srie)
=SECONDE(numro_de_srie)
On peut tout fait crire dans une formule : =ANNEE(AUJOURDHUI()) par exemple pour conomiser la case o serait inscrit la
date du jour. Mais il peut tre intressant de rserver une case pour la fonction AUJOURDHUI() et ensuite faire rfrence cette
cellule sur toute la feuille. Ainsi, le nombre de caractres dans une formule est moindre et c'est plus lisible.
Exemple d'application
Je vous ai montr un exemple simple, mais vous pouvez utiliser toutes ses fonctions dans des cas plus complexes.
JOURSEM
Que permet-elle ?
Elle renvoie le numro du jour de la semaine d'une date.
Ce type de retour va dpendre de ce que vous utilisez comme classification des jours de la semaine. Avec le premier type (1),
dimanche = 1 jusqu' samedi = 7. Avec le second type (2), lundi = 1 jusqu' dimanche = 7. Enfin, avec le dernier type (3), lundi = 0
jusqu' dimanche = 6.
Type
1 2 3
Lundi
2 1 0
Mardi
3 2 1
Mercredi
4 3 2
Jeudi
5 4 3
Vendredi
6 5 4
www.openclassrooms.com
Partie 5 : Annexes
232/250
Samedi
7 6 5
Dimanche 1 7 6
Ainsi vous pouvez utiliser le type que vous voulez. Par dfaut, c'est le type 1 qui est utilis.
=JOURSEM(numro_de_srie;[type_de_rsultat])
Cette fonction va permettre de savoir si le jour de la date est un jour de week-end ou non ou alors un jour non travaill par un
employ. On peut aussi l'utiliser pour comparer deux dates, savoir si c'est le mme jour ou non.
Pour afficher le jour en toutes lettres, on peut soit utiliser la fonction SI et mettre 6 conditions, ce qui nous donne une grosse
formule. On peut aussi utiliser la fonction RECHERCHE avec un petit tableau dans lequel est associ chaque chiffre le jour
correspondant. Je vous laisse essayer cette mthode pour vous entraner.
Si vous avez tlcharg le fichier d'exemple, vous avez la rponse, il est juste en dessous. Sinon, le voici :
Pour notre exemple plus concret, on va s'amuser savoir quel tait le jour de la semaine le jour de votre naissance.
www.openclassrooms.com
Partie 5 : Annexes
233/250
Pour vrifier votre formule, vous pouvez afficher la date en format Date longue.
NO.SEMAINE
Que permet-elle ?
Cette fonction renvoie le numro de la semaine (dans une anne) d'un numro de srie (une date).
DATE
Que permet-elle ?
Elle permet de renvoyer une date comme un numro de srie selon trois paramtres : l'anne, le mois et le jour.
www.openclassrooms.com
Partie 5 : Annexes
234/250
Elle prend les trois paramtres prcdemment cits comme paramtres obligatoires. On peut ainsi afficher des dates diverses.
=DATE(anne;mois;jour)
Les exemples
Dans notre second exemple, on va pouvoir donner le nombre de jours qui spare la date du jour de votre anniversaire.
On va analyser un peu comment on fait pour trouver a. Je vous donne tout d'abord la formule que j'ai mise en C5. J'ai spar la
formule en deux pour plus de faciliter. L'autre est en D5 et on va l'analyser juste aprs.
Citation : Cellule C5
=SI(D5>1;CONCATENER(D5;" jours");SI(D5>0;CONCATENER(D5;" jour");"Joyeux anniversaire"))
Pour commencer comprendre, il faut savoir ce qu'il y a en D5. En D5, on regarde le nombre de jours qui spare la date
d'aujourd'hui de votre anniversaire. Comment ? a on va le voir tout l'heure.
On commence par la premire condition. Si le nombre de jours est suprieur 1, on met un "s" "jours" prcd du nombre de
jour. Si a n'est pas le cas, il reste deux solutions : soit c'est la veille il ne reste plus qu'un jour soit c'est le jour mme et c'est donc
votre anniversaire. On refait une condition SI. Si D5 est suprieur 0 (donc gal 1), on ne met pas de "s" "jour". Sinon (c'est
qu'il est gal 0), alors on affiche "Joyeux anniversaire".
On va maintenant s'attarder ce qui est dans la cellule D5.
Citation : Cellule D5
=SI(C2=DATE(ANNEE(C2);MOIS(C3);JOUR(C3));0;SI(C2<DATE(ANNEE(C2);MOIS(C3);JOUR(C3));DATE(ANNEE(C2)
;MOIS(C3);JOUR(C3))-C2;DATE(ANNEE(C2)+1;MOIS(C3);JOUR(C3))-C2))
Premirement on compare la date du jour et la date d'anniversaire. Comment ? Et bien c'est simple, grce la fonction DATE. La
date du jour est gale C2. Pour connatre la date d'anniversaire, il faut le jour et le mois de la date de naissance, mais l'anne en
cours. Donc on utilise la formule suivante :
DATE(ANNEE(C2);MOIS(C3);JOUR(C3))
Dans un premier temps comme je l'ai dit, on regarde si la date du jour n'est pas l'anniversaire. Si c'est le cas, on renvoie 0 (pour
que la formule en C5 fonctionne). Si ce n'est pas le cas, on regarde si la date du jour est infrieure la date d'anniversaire. Si c'est
le cas, a signifie que le prochain anniversaire de cette personne est dans la mme anne. Il est alors simple de savoir le nombre
www.openclassrooms.com
Partie 5 : Annexes
235/250
de jours qui spare les deux dates par une simple soustraction. Si la date du jour n'est pas infrieure (c'est qu'elle est suprieure),
on renvoie donc la valeur si faux de la condition prcdente. L'anniversaire de la personne est pass dans l'anne en cours, le
prochain est donc l'anne suivante. On va faire la diffrence de la date d'anniversaire de l'anne suivante en ajoutant tout
simplement 1 l'anne en cours. De cette faon :
DATE(ANNEE(C2)+1;MOIS(C3);JOUR(C3))
On obtient ainsi le nombre de jours qui spare la date d'anniversaire et le jour actuel. Cette formule renvoie 0 si c'est l'anniversaire
et ensuite le nombre de jour. Vous avez bien compris que si la place de tous les D5 de la formule en C5 taient crits en entier, la
formule serait trs longue.
Voil un exemple dans lequel on utilise la fonction DATE. Il en existe bien d'autre videmment.
NB.JOURS.OUVRES
Que permet-elle ?
Elle renvoie le nombre de jours ouvrs compris entre deux dates.
L'exemple
Je vous propose quelque exemple simple, il n'est pas utile de dvelopper plus cette fonction. Elle est trs utile pour compter le
nombre de jours travaills dans une priode donne et ainsi connatre le temps de travail des salaris.
www.openclassrooms.com
Partie 5 : Annexes
236/250
SERIE.JOUR.OUVRE
Que permet-elle ?
Elle renvoie la date prcdente ou suivant la date indique selon un nombre de jours ouvrs. Par exemple, on cherche quelle
date je vais avoir travaill 100 jours partir d'aujourd'hui.
L'exemple de fonctionnement
www.openclassrooms.com
Partie 5 : Annexes
237/250
Bonnes pratiques
Manipulation des feuilles de calcul
Les feuilles de calcul peuvent tre supprimes, dplaces ou renommes. Toutes ces actions sont disponibles par un clic-droit
sur l'onglet de la feuille, en bas gauche de la fentre.
Finalisation du classeur
Afin de rendre vos classeurs plus heureux pour un lecteur extrieur, voyons comment enlever le quadrillage.
Allez dans l'onglet Affichage , puis, dans le groupe Afficher , dcochez la case Quadrillage
Pour effectuer la mme manipulation sous Mac, cliquez sur le menu Excel puis sur Prfrences .
www.openclassrooms.com
Partie 5 : Annexes
238/250
Cliquez sur Afficher et dcochez selon vos envies comme ci-dessus. Vous tes invits explorer ce menu par vous mmes, il
propose de nombreuses options qui pourraient ravir certains.
Enfin, plaons-nous dans l'hypothse o vous possdez un classeur avec de nombreuses entres (des centaines, ou des milliers
pourquoi pas). Pour le confort du lecteur, il est prfrable de conserver les tiquettes de colonnes lors de la descente vers les
profondeurs du classeur.
Nous allons crer ce qu'on appelle un volet. Les lignes en dessous du volet pourront tre parcourues en profondeur avec la
molette de votre souris ou l'ascenseur d'Excel alors que ce qu'il y a au dessus (les tiquettes de colonne par exemple, mais a
www.openclassrooms.com
Partie 5 : Annexes
239/250
Pour revenir une seule fentre, cliquez et glissez sur la barre qui spare les deux parties et remontez tout en haut puis lchez. Ou
double-cliquez simplement sur la ligne.
#DIV/0!
Lorsque vous rencontrez cette erreur, c'est que votre formule fait une division par 0.
N'oubliez pas que pour Excel, une cellule vide a pour valeur 0 !
#NOM?
Cela signifie que vous avez tap une fonction que Excel ne connat pas.
Voici un exemple de formule erreur :
=PROD(A2;E4)
PROD n'est pas une fonction reconnue.
#VALEUR!
Votre formule utilise dans son calcul une valeur que Excel ne peut pas utiliser.
www.openclassrooms.com
Partie 5 : Annexes
240/250
#######
Le nombre comprend trop de chiffre pour pouvoir tre affich avec cette largeur de colonne.
Il faut alors largir la colonne, soit en cliquant et en glissant vers la droite, soit en double cliquant sur la mme zone que le
cliquer-dplacer. La colonne se met automatiquement la largeur minimale pour afficher le texte des cellules.
Voil, souvenez-vous de ces bonnes pratiques.
www.openclassrooms.com
Partie 5 : Annexes
241/250
Corrections orthographiques
Si vous avez suivi les premiers chapitres de ce cours, vous avez donc appris vous servir de la base de votre tableur : crer un
nouveau classeur, le remplir, l'enregistrer et/ou l'imprimer ne devrait donc pas poser de problme.
Mais ce n'est pas tout, mme si nous ne l'avons pas vu dans le chapitre en question, je profite de cette annexe pour vous dire
qu'une vrification grammaticale et linguistique est disponible sur Excel.
Pour vous exercer avec moi dans cette sous-partie, je vous propose de :
Le premier mot corriger est dj slectionn et prsent sur la fentre du correcteur (1).
Une liste de suggestion est alors propose, la premire tant la meilleure (2).
Enfin, il est possible d'effectuer diffrentes actions sur la correction (3).
Voyons ces actions, qui nous intressent le plus.
Ignorer : ignore la correction (pour le moment) ;
Ignorer tout : ignore toutes les corrections (pour le moment) ;
Ajouter au dictionnaire : en crant un nouveau mot ;
Modifier : accepter la correction propose. Slectionnez une autre suggestion et cliquez sur Modifier pour accepter
celle en question ;
Remplacer tout : en cas de correction d'une expression complte, il est possible de modifier toute l'expression d'un coup ;
Correction automatique : il est possible de dfinir Excel certains termes remplacer lorsque vous crivez des
www.openclassrooms.com
Partie 5 : Annexes
242/250
Inutile de revenir sur les premires actions, qui, je pense, sont comprhensibles pour tout le monde. Nanmoins, je voudrais
revoir avec vous les options de vrification et la correction automatique.
www.openclassrooms.com
Partie 5 : Annexes
243/250
La correction automatique
Revenons donc cette correction automatique. Cliquez sur ce premier bouton, une nouvelle fentre de Correction
automatique : Franais (France) apparait. Ce sont toutes les choses qu'Excel corrigera (sous entendu modifiera) ds que
vous les aurez taps dans la zone de travail.
Gnralement, les options par dfaut sont trs utiles. Vous pouvez d'ailleurs en rajouter.
Regardez dans le cadre Correction en cours de frappe . Il s'agit des mots qui seront remplacs lors de la frappe. Par exemple,
(c) sera remplac par le sigle du copyright, (e) par le sigle de l'euro, etc.
Malgr une liste dj longue compose de sigles, de smileys, d'abrviations bien connus ou autre erreur d'orthographe (espace
mal plac, lettre mal place, tiret oubli, etc.), vous pouvez en rajouter. Et c'est justement ce que nous allons faire !
Dans l'exemple de notre texte, Cest devait tre remplac par C'est , nous allons le rajouter. Par chance, Cest est d'ores
et dj inscrit, il nous suffit de le faire remplacer par C'est , de l'ajouter, puis de valider la fentre (ou de faire de mme pour
d'autres corrections automatique) :
Vous pouvez en ajouter autant que vous voulez. Des abrviations qui vous sont propres, etc.
www.openclassrooms.com
Partie 5 : Annexes
244/250
www.openclassrooms.com
Partie 5 : Annexes
245/250
Vous pouvez alors rechercher sur Internet la dfinition du mot, le sens, l'orthographe, etc.
La traduction
www.openclassrooms.com
Partie 5 : Annexes
246/250
Il est possible, grce ce bouton, de traduire tout le classeur, un texte slectionn ou d'afficher une mini-traduction.
Voil donc une fonctionnalit certes facultatif mais malgr tout utile dans Excel.
Profitez-en. S'inspirant de Word, cette fonctionnalit est sommes toute trs puissante !
www.openclassrooms.com
Partie 5 : Annexes
247/250
Utilisation du classeur
Parmi les fonctionnalits utiles du tableur Excel mais pas primordiales, il y a bien videmment l'impression. Mme si imprimer un
classeur n'est pas aussi courant que d'imprimer un document Word, il est trs utile d'en connaitre le procd.
La partie gauche de la fentre donne accs aux paramtres de l'impression, et la partie droite un aperu avant impression :
www.openclassrooms.com
Partie 5 : Annexes
248/250
Comme vous pouvez le voir, le premier groupe de bouton permet d'imprimer le nombre d'exemplaires voulu sur l'imprimante
voulue.
Le second groupe permet de paramtrer l'impression de votre classeur.
Et avant toute chose, le troisime groupe, le plus gros, vous donne un aperu avant l'impression.
Voyons cela plus en dtails :
www.openclassrooms.com
Partie 5 : Annexes
249/250
Voil, vous savez dsormais la marche suivre pour imprimer votre classeur.
Ce tutoriel n'est pas termin. Beaucoup de chapitres vont faire leur apparition. Par ailleurs, si vous pensez que des lments
ncessitent des clarifications, si vous souhaitez voir une fonctionnalit dveloppe, n'hsitez pas nous contacter. Si vous
bloquez dans vos tableurs, le forum du site du zro est un bon endroit !
Accs au bon forum pour poser vos questions sur Excel & VBA .
www.openclassrooms.com