0% ont trouvé ce document utile (0 vote)
316 vues148 pages

Cours D'excel

Transféré par

dareinepro335
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
316 vues148 pages

Cours D'excel

Transféré par

dareinepro335
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ir Pathy Kri’ce WANKUNDA

+243 852 506 201(WhatsApp), +243 818 891 124


pathywankunda@[Link]
pkwankunda@[Link]
Wankunda Technologies
1
De nos jours, le rôle de l’informatique devient indispensable et sa présence est de
plus en plus répandue par son efficacité ainsi que son utilité. Ce fait s’explique par les
applications importantes dans presque tous les domaines de la vie quotidienne.
Dans le but de résoudre de manière rapide et efficace ses problèmes, chaque
entreprise se tourne, aujourd’hui, à l’informatique et la façon la plus de simple de
démarrer est celle de mettre en place un système d’information souple se basant sur
Excel. Un outil facile à utiliser et à manipuler pour toute personne dotée de
connaissances rudimentaires de l’ordinateur.
Pour rester compétitive, une entreprise se doit d’être en permanence dans une
démarche d’amélioration de son métier sans oublier son système information (SI)
pour arriver à satisfaire ses clients et voir son chiffre d’affaire croitre.
Ce récit de formation vous permettra d’aborder la gestion d’une entreprise ou d’une
organisation d’une manière informatique en vous dotant d’un paquet de
connaissances aussi théoriques que pratiques en Excel afin que vous puissiez au
moins une fois l’utiliser (Excel) pour trouver solution à un problème de gestion.
I. Objectif général
Ce module a pour objectif de préparer l’esprit de l’apprenants à s’intégrer dans le
monde de l’informatique pour ainsi se familiariser avec l’outil informatique et
aborder Excel au premier niveau et au niveau avancé.
II. Objectifs spécifiques
✓ A l’issus de ce Module l’apprenant aura la maîtrise de (des) :
o l’environnement Excel ;
o l’utilisation des formules ;
o l’exploitation des données ;
o différentes fonctions Excel ;
o l’utilisation de formules matricielles ;
o fonctions textuelles ;
✓ Et enfin, l’apprenant pourra développer une application Excel pour un
problème simple et complexe.
2
Introduction
Excel est un logiciel du groupe de Microsoft Office, les logiciels conçus pour les
travaux de bureau ou pour la bureautique, qui est une branche de l’informatique qui
traite de travaux administratifs.
Excel est un tableur permettant de faire des tableaux avec des calculs automatisés,
des graphiques qui les illustrent et du texte qui les commente. Un tableur se présente
sous la forme de classeurs en deux dimensions : colonnes et lignes.
1. L’accès dans le logiciel Excel
Dépendant de la version de Windows utilisée, pour accéder au logiciel Excel, il faut
vérifier son icône sur bureau et double-cliquer dessus. Si elle n’est pas sur bureau,
alors il reste qu’à appliquer l’une de ces techniques qui suivent :
✓ Pour toutes les versions de Windows : faire la combinaison de touche
Windows + R, et dans la boîte de dialogue qui apparait, saisir la commande
EXCEL puis valider en appuyant sur [Entrée] ou [ENTER] ou encore en cliquant
sur OK.

✓ Pour Windows XP et Seven : cliquer sur Menu démarrer, puis Tous les
programmes, puis encore sur Microsoft Office et enfin sur Excel.
✓ Pour Windows 8 : cliquer le bouton Accueil puis dérouler la bar charms à la
recherche de la tuile de Excel et cliquer dessus.
✓ Pour windows 10 : cliquer sur le Menu démarrer et sur partie droite du menu
dérouler pour chercher le raccourci de Excel (sous forme d’un gadget) et
cliquer dessus, dans le cas où le raccourci n’y est pas, dérouler la partie gauche
faisant référence à Tous les programmes (ou cliquer sur Tous les programmes
pour Windows 10 build 1508) et cliquer sur Excel (ou sur Microsoft office puis
sur Excel).
3
2. Présentation de l’interface de l’Excel
L’interface Excel se présente de la manière suivante
Barre d’accès Groupe des boutons Barre de
Les onglets Barre de titre
rapides de commande formule

Indicateur
de position
Barres de défilements
Cellule active En tête de colonnes

Zoom

Numéro de lignes Bouton


d’affichage
Feuille active
Bouton d’ajout d’une
nouvelle feuille
4
Chapitre I. Utilisation du logiciel Excel
I.1. Saisie des données dans les cellules
La saisie des données est le fait de taper une information à partir du clavier. Les
données sont saisies directement dans la cellule active et pour valider cette dernière,
il faut soit « appuyer sur [Entrée] ou [Enter] » soit sélectionner une autre cellule.
a. Saisie des données alphanumériques
Avant la saisie, le curseur n’est pas présent. Pour ce faire, il faut juste sélectionner la
cellule qui doit recevoir la donnée, ensuite la taper à l’aide du clavier afin que le
curseur soit présent.
Après la validation, les données alphanumériques s’alignent automatiquement à
gauche dans la cellule. Après la saisie, si le contenu est large, il va s’étendre sur les
cellules à droite de celle qui a reçu les données. Si les cellules à droite de celles-ci sont
aussi occupées, la partie débordante sera masquée en attendant l’ajustement
automatique.
b. Saisie des données numériques
Lors de la saisie des données numériques, après validation, ces données sont
alignées automatiquement à droite dans la cellule. Si la valeur saisie contient plus de
3 chiffres, n’espacer jamais ni placer un point. L’espacement des chiffres dans le cas
de milliers s’effectue automatiquement, il ne faut jamais le faire à la main. Sinon,
Excel ne reconnaitra pas la valeur comme numérique.
c. Saisie des dates
Les dates se comportent comme des chiffres c'est-à-dire après validation, elles sont
automatiquement alignées à droite dans la cellule. Au cas contraire, elles ne seront
jamais reconnues par Excel. Pour séparer les éléments d’une date, il faut utiliser les
traits d’union (-) ou la barre (/ utilisé comme symbole de la division) se trouvant sur
la partie numérique du clavier.
Exemple :
➢ 18-03-2017
➢ 18/03/2017.
N.B. : l’ajustement automatique est une obligation après la saisie des données
lorsque ces dernières sont débordantes dans des cellules, afin d’obtenir un tableau
bien présenté et lisible.
d. Procédure pour ajuster automatiquement le contenu des cellules
➢ Sélectionner d’abord les cellules concernées par l’ajustement
➢ Cliquer sur l’onglet « Accueil »
➢ Cliquer sur la commande « Format » du groupe « Cellules »
➢ Cliquer sur « Ajuster la largeur de colonne ».
5
I.2. Enregistrement des données
L’enregistrement des données fait référence à l’enregistrement du classeur, qui se
fait par ces différentes possibilités :
✓ Par la combinaison de touche CTRL + S ;
✓ Par le clic sur le menu Fichier et puis sur la commande Enregistrer ;
✓ Soit par le clic sur l’icône d’enregistrement dans la barre d’outils rapide.
Lors de l’enregistrement du classeur, si c’est pour la première fois, cette fenêtre
s’affiche :

Cliquer sur Parcourir et dans la boîte de dialogue Enregistrer sous, saisir le nom du
fichier puis cliquer sur Enregistrer ou appuyer sur [Entrée] ou Enter.
N.B : Il faut toujours sélectionner l’emplacement où sera enregistré le fichier car
cette adresse permettra de retrouver le fichier plus tard. Par défaut, le fichier est
enregistré dans Mes documents.
I.3. Ouverture et fermeture du classeur Excel
La fermeture du classeur est différente de celle de la fenêtre, la fermeture du
classeur ferme le fichier en cours et l’application reste en utilisation. Et pour ouvrir
un fichier Excel, on utilise :
✓ Soit la combinaison de touche CTRL + O ;
✓ Soit le clic sur le menu Fichier et puis sur la commande Ouvrir.
6

Cliquer sur Parcourir et dans la boîte dialogue Ouvrir, sélectionner l’emplacement où


était enregistré le fichier et cliquer sur le fichier puis le bouton Ouvrir ou appuyer
[Entrer] ou [Enter].
Une mise à jour de l’Excel 2013 donne la possibilité d’ouvrir les fichiers non
enregistrés à condition que lors de la fermeture du fichier : cliquer sur Ne pas
enregistrer et Excel enregistre ce dernier dans le fichier temporaire.

Là sur l’interface d’ouverture, cliquer sur Récupérer les classeurs non enregistrés.
I.4. Sélection des cellules (avec la souris, le clavier)
a) Sélection des cellules
La sélection d’une cellule se fait soit en cliquant sur celle-ci ou bien en appuyant sur
la touche F5, taper le nom de la cellule concernée puis valider. Pour sélectionner
plusieurs cellules consécutives ou contigües, il faut d’abord sélectionner la 1ère cellule
qui est concernée par cette sélection, maintenir la touche SHIFT enfoncée puis
utiliser l’une des touches de direction selon le sens de la sélection.
Pour désélectionner, il faut utiliser n’importe quelle touche de direction ou bien
cliquer en dehors de la sélection.
Si la sélection concerne les cellules non voisines ; il faut d’abord cliquer sur la 1ère
cellule concernée par cette sélection ; maintenir la touche CTRL enfoncée et cliquer
progressivement sur les autres cellules concernées par la sélection.
b) Sélection des lignes
7
Pour sélectionner une ligne, il faut cliquer sur son numéro ou bien cliquer sur
n’importe quelle cellule se trouvant sur cette ligne puis faire la combinaison des
touches SHIFT + la barre d’espacement. Si cette sélection concerne plusieurs lignes,
il faut toujours garder la touche SHIFT enfoncée puis utiliser la touche de direction
Bas (↓) puis sélectionner les autres lignes.
c) Sélectionner des colonnes
La sélection d’une colonne se fait en cliquant sur l’alphabet représentant son nom
ou bien en cliquant sur n’importe quelle cellule se trouvant sur cette colonne et faire
enfin la combinaison des touches CTRL + la barre d’espacement.
N.B. : La sélection de la feuille entière se fait en utilisant la combinaison des touches
CTRL + A.
d) Copier, Déplacer et Insérer des éléments
❖ Copier les éléments
Procédure
➢ Sélectionner les cellules concernées par la reproduction (la copie) ;
➢ Faire la combinaison des touches CTRL + C pour reproduire (Copier) : Le
contour de la sélection se met en mouvement ;
➢ Cliquer dans la cellule pouvant recevoir les données copiées ;
➢ Faire la combinaison des touches CTRL + V pour coller ;
➢ Valider pour terminer l’opération.
N.B : Il existe aussi une copie appelée « Incrémentation » (Reproduction d’une
logique dans d’autres cellules en utilisant la souris à l’aide de la méthode « Glisser –
Déposer »).
Cette opération (l’incrémentation) s’effectue de la manière suivante :
• Sélectionner les cellules contenant les données à reproduire
• Placer le pointeur de la souris sur le coin inférieur droit de la sélection, lorsque
le pointeur se transforme en une petite croix noire , maintenir le bouton
gauche de la souris enfoncé et glisser dans le sens où l’on veut reproduire les
données ; lâcher enfin le bouton gauche de la souris après avoir constaté que
les données sont reproduites.
Cette opération est beaucoup utilisée lorsqu’il est question par exemple de faire la
liste de jours de la semaine ou le mois de l’année. Il faut saisir juste le premier de la
liste et incrémenter les restes.
❖ Déplacement des éléments
Déplacer = couper, et la procédure reste la même que celle de la copie. La différence
entre les deux est que la combinaison CTRL + C est remplacée par CTRL + X.
8
Après avoir fait CTRL + V pour coller, les données vont disparaître sur leur premier
emplacement pour être affichées dans la cellule active. Avec le déplacement, on ne
valide pas comme la copie.
e) Insertion des éléments
❖ Insertion des lignes
Procédure
➢ Sélectionner la ligne qui sera placée en bas de celle qui doit être insérée
➢ Cliquer sur l’onglet « Accueil » puis sur la commande « Insérer » du groupe
« Cellules ».
N.B : Pour insérer plusieurs lignes au même moment, il faut sélectionner aussi le
même nombre des lignes puis appliquer la procédure ci-haut. Cette même logique
s’appliquera pour l’insertion de plusieurs colonnes.
❖ Insertion des colonnes
Procédure
➢ Sélectionner la colonne qui sera placée à droite de celle qui doit être insérée
➢ Cliquer sur l’onglet « Accueil » puis sur la commande « Insérer » du groupe
« Cellules ».
N.B : Pour insérer plusieurs colonnes, il faut également sélectionner le même nombre
des colonnes que celles qui doivent être insérées puis appliquer la procédure ci-haut.
❖ Suppression d’une ligne ou d’une colonne
Procédure
➢ Sélectionner la (les) ligne (s) ou la (les) colonne (s) concernée (s) par la
suppression
➢ Cliquer sur l’onglet « Accueil » puis sur la commande « Supprimer » du
groupe « Cellules ».
❖ Insérer des feuilles de calcul
Procédure
➢ Faire le clic droit sur n’importe quel onglet « Feuil »
➢ Dans le menu contextuel qui apparaît, cliquer sur la commande « Insérer »
puis sélectionner Feuille puis cliquer sur Ok. Lorsqu’une feuille est insérée, il
faut toujours la déplacer pour respecter l’ordre de numérotation.
➢ Ou cliquer directement sur le bouton juste à côté de l’onglet Feuill1.
❖ Déplacement d’une feuille de calcul
Procédure
➢ Pointer la feuille que l’on cherche à déplacer
9
➢ Maintenir le bouton gauche de la souris enfoncé, déplacer le pointeur jusqu’à
l’endroit voulu c'est-à-dire à gauche ou à droite des autres onglets « Feuil » et
lâcher le bouton gauche de la souris.
❖ Renommer ou changer le nom d’une feuille de calcul
Procédure
✓ Faire le clic droit sur le nom de la feuille à modifier
✓ Dans le menu contextuel qui apparaît, cliquer sur la commande
« Renommer »
✓ Taper immédiatement le nom préféré à l’aide de clavier puis valider pour
terminer.
❖ Suppression d’une feuille de calcul
Procédure
➢ Faire le clic droit sur l’onglet de la feuille concernée
➢ Dans le menu contextuel qui apparaît, cliquer sur la commande
« Supprimer ».
❖ Protection d’une feuille de calcul
La protection d’une feuille de calcul consiste à éviter toute modification sur le
contenu de cette feuille.
Procédure
➢ Se positionner sur n’importe quelle cellule dans la feuille
➢ Cliquer sur l’onglet « Révision » et cliquer sur la commande « Protéger la
feuille » du groupe « Modification »
➢ Taper le mot de passe puis valider
➢ Taper de nouveau le même mot de passe pour la confirmation puis valider.
I.5. Formatage des cellules
D’une manière générale, le style et le format des données dans une feuille de calcul
s’appliquent directement en utilisant les commandes sous l’onglet « Accueil »
comme en Word. Outre cette possibilité, il faut cliquer sur le lanceur de boite de
dialogue de l’un des groupes suivants : « Nombres », « Police » ou « Alignement »
toujours sous l’onglet « Accueil ». Dans la boîte de dialogue qui apparaît, il faut
retenir le rôle de chaque onglet de la manière suivante :
a) Onglet « Nombre »
Cet onglet permet de modifier le format de nombres, de dates tout en permettant la
personnalisation de ce format.
b) Onglet « Alignement »
Il permet de modifier l’alignement du contenu des cellules, d’effectuer l’orientation
de ce contenu et aussi la fusion des cellules.
c) Onglet « Police »
10
Il permet de mettre le contenu des cellules en forme d’une manière générale c'est-à-
dire modifier la police, la taille de police, le style de police, la couleur de police, le
soulignement des caractères et aussi appliquer le caractère en exposant ou en indice.
d) Onglet « Bordure »
Il permet d’appliquer les bordures sur les cellules et personnaliser le style de ces
bordures pour obtenir un tableau.
e) Onglet « Remplissage »
Il permet de remplir une couleur de remplissage des cellules ou un motif à la place
de la couleur de remplissage.
f) Onglet « Protection »
Il permet de verrouiller les cellules et/ou de masquer les formules dans le cas où la
feuille de calcul est protégée.
N.B :
- Pour changer le format des nombres, il faut d’abord sélectionner les cellules
concernées, cliquer sur le lanceur de boite de dialogue de l’un des groupes
suivants : « Nombres », « Police » ou « Alignement ». Dans la boîte de dialogue
qui apparaît, cliquer sur l’onglet « Nombre » puis sur la catégorie « Nombre »,
réduire ou augmenter le nombre de décimales dans la zone concernée et
cliquer sur la case « Utiliser le séparateur des milliers », cliquer sur « OK » pour
valider.
- Concernant la modification du format de la date, il faut respecter la même
procédure mais en cliquant sur la catégorie « Date » puis sur le type de date
préférée (pour convertir une date donnée en nombre de jours, il faut
sélectionner la cellule contenant cette date, cliquer sur le lanceur de boite de
dialogue de l’un des groupes suivants : « Nombres », « Police » ou
« Alignement ». Dans la boîte de dialogue qui apparaît, cliquer sur l’onglet
« Nombre » puis sur la catégorie « Nombre » puis sur la catégorie « Standard » ;
valider enfin pour terminer.
- Pour centrer un titre par rapport au tableau, il faut sélectionner toutes les
cellules se trouvant sur la même ligne que les titres c'est-à-dire du début à la
fin du tableau (dans le sens horizontal) et cliquer enfin sur l’outil « Fusionner et
centrer » du groupe « Alignement » sous l’onglet « Accueil »
- Pour obtenir les bordures c'est-à-dire le tableau, il faut d’abord sélectionner les
données qui seront dans le tableau, dérouler la commande « Bordure » ou
« Bordure inférieure » du groupe « Police » sous l’onglet « Accueil » et cliquer
enfin sur l’option « Toutes les bordures ».
- Pour centrer le tableau par rapport à la page, il faut utiliser la boîte de dialogue
« Mise en page ». Pour l'afficher, il faut cliquez sur le lanceur de boite de
11
dialogue du groupe "Mise en page" sous l’onglet "Mise en page" ou sur la
commande « Mise en page » de l’aperçu avant impression.
- Dans cette boîte de dialogue, cliquer sur l’onglet « Marges » puis sur la case
« Horizontalement » et/ou sur la case « Verticalement » pour centrer le tableau
horizontalement et/ou verticalement.
- Pour utiliser la couleur de remplissage dans les cellules, il faut d’abord
sélectionner ces cellules, dérouler la commande « Couleur de remplissage » du
groupe « Police » sous l’onglet « Accueil » et cliquer enfin sur la couleur
préférée.
I.6. Tri et filtre des données
❖ Tri des données
- Sélectionner toute la liste concernée par le tri (à partir de libellé des colonnes)
- Cliquer sur l’onglet « Données »
- Cliquer sur la commande « Trier » du groupe « Trier et filtrer »
- Dans la boîte de dialogue qui apparaît, dérouler la 1ère zone (Trier par) et cliquer
sur le libellé de la colonne concernée par le tri
- Dérouler la dernière zone (Ordre) puis déterminer l’ordre de tri en cliquant sur
« De A à Z » pour classer les données de la plus petite à la plus grande ou encore
sur « De Z à A » pour classer les données de la plus grande à la plus petite.
- Cliquer sur « OK » pour valider.
❖ Le filtre
Le filtrage d’une liste permet d’afficher uniquement les lignes qui répondent aux
critères spécifiés. Pour effectuer la recherche des données dans une base des
données, il est recommandé d’utiliser le filtre automatique. La commande « Filtrer »
affiche des flèches à côté des étiquettes des colonnes dans une liste afin que vous
puissiez sélectionner les éléments à afficher.
Si aucun élément ne correspond aux critères, il faut cliquer sur l’option
« Personnaliser » et dans la boîte de dialogue qui apparaît, dérouler la 1ère zone et
cliquer sur l’élément correspondant aux critères. Dans la zone à droite, Excel vous
permet d’afficher la 2ème partie du critère puis valider pour terminer l’affichage.
N.B. :
- Pour obtenir les flèches à côté de chaque libellé de colonne, il faut d’abord
cliquer sur n’importe quel libellé de colonne, cliquer ensuite sur l’onglet
« Données », puis sur la commande « Filtrer » du groupe « Trier et
filtrer ».
- Dérouler le libellé de la colonne concernée par le critère, pointer « Filtres
textuels » pour les données alphanumériques, « Filtres numériques » pour les
données numériques ou « Filtres chronologiques » pour les dates et cliquer
ensuite sur « Filtre personnalisé ». Dans la boite de dialogue qui apparait,
12
remplir correctement les critères dans la zone de gauche et dans la zone de
droite puis cliquer sur « OK » pour valider.
- Pour mettre fin au critère de recherche appliqué sur une colonne, il faut
dérouler le libellé de la colonne concernée puis cliquer sur l’option
« (Sélectionner tout) ».
- Pour mettre fin au filtre, il faut cliquer sur n’importe quel libellé de colonne,
cliquer ensuite sur l’onglet « Données », puis sur la commande « Filtrer » du
groupe « Trier et filtrer ».

Chapitre II. ÉLABORER DES FORMULES SIMPLES


Que serait Excel sans les formules de calcul ? Un espace de stockage et de
présentation de données numériques ! Les formules constituent une part importante
de la valeur ajoutée d’Excel. En effet, grâce à elles, vous pourrez réaliser facilement
des calculs sur un nombre important de données. De plus, ces calculs seront
réactualisés rapidement si vous modifiez des valeurs.
Dans ce chapitre, vous découvrirez et mettrez en pratique les règles de base relatives
à la conception de formules.
II.1. Connaître les principes de conception
Voyons d’abord comment saisir une formule simple puis comment la modifier. Saisir
une formule
Une formule de calcul débute impérativement par le caractère = (égal). Ce dernier
indique à Excel qu’il doit considérer les éléments qui vont être saisis comme une
formule de calcul, et non comme une simple entrée numérique ou alphanumérique.
Prenons un exemple :
1. Créez un nouveau classeur.
2. En A1, saisissez =19+71.
3. Appuyez sur [Entrée].
Le résultat du calcul apparaît en A1, soit 90.
La formule, quant à elle, apparaît dans la barre de formule.

II.1.1. Modifier une formule


La saisie de formule se révèle d’une grande simplicité. Mais personne n’est à l’abri
d’une erreur. C’est pourquoi, il est important de pouvoir modifier une formule saisie.
13
Reprenons l’exemple précédent en supposant que la formule correcte soit =(19+71)/5
:
1. Double-cliquez sur la cellule A1.
2. À l’aide de la souris ou en utilisant les touches de direction gauche et droite,
déplacez le curseur après le caractère = et saisissez la parenthèse ouvrante.
3. Déplacez le curseur à la fin de la formule, à l’aide de la touche [Fin], et saisissez la
fin de la modification.
4. Appuyez sur [Entrée].
Le nouveau résultat s’affiche immédiatement (18).
Au moment où vous avez saisi la parenthèse fermante, les deux parenthèses sont
apparues fugitivement en gras. Excel signifie de cette façon qu’il a « compris » que la
parenthèse fermante était associée à la parenthèse ouvrante. Cela permet de se
repérer plus facilement lorsqu’il existe plusieurs niveaux de parenthèses dans une
formule.
II.2. Utiliser des opérateurs
Nous allons décrire les différents opérateurs pris en charge par Excel, en
commençant bien sûr par les plus classiques : les opérateurs mathématiques. Mais
nous verrons également un opérateur qui permet de traiter les chaînes de
caractères.
II.2.1. Utiliser des opérateurs mathématiques
Connaître les règles de priorité des opérateurs
Pour concevoir vos formules, vous disposez des opérateurs mathématiques
courants :
▪ ^ : la puissance ;
▪ * : la multiplication ;
▪ / : la division ;
▪ + : l’addition ;
▪ - : la soustraction.
Les règles de priorité des opérateurs sont évidemment respectées, c’est-à-dire que
les expressions utilisant l’opérateur puissance sont évaluées en premier, puis
viennent, au même niveau, la multiplication et la division, et enfin l’addition et la
soustraction (même niveau).
Voici quelques exemples de formules mettant en jeu les opérateurs mathématiques :
Quelques exemples de formules de calcul
Formule Résultat
=4+5*3 = 4+15 = 19
=2−3+10/2 = 2-3+5 = 4
14
=5*6/2−18/3 = 15-6 = 9
=2^2*5+3−2 = 4*5+3-2 = 20+3–2 = 21
II.2.2. Utiliser des parenthèses
Les parenthèses permettent d’influer sur les règles de priorité des opérateurs
mathématiques. En effet, toute expression placée entre parenthèses est évaluée de
façon prioritaire. Il est évidemment possible d’imbriquer des parenthèses.
À titre d’exemple, vous allez calculer le prix TTC d’un ensemble de deux articles dont
les prix HT sont 75 francs et 100 francs, sur lesquels une remise respective de 10 % et
5 % a été préalablement appliquée.
Pour obtenir un résultat correct, il faut utiliser des parenthèses. En effet, il s’agit
d’abord d’évaluer le prix total HT, compte tenu de la remise, puis de calculer le prix
TTC :
1. Sélectionnez A3.
2. Saisissez =(75*(1−10%)+100*(1−5%))*(1+19,6%).
3. Appuyez sur [Entrée].
Voici comment Excel évalue cette formule :
▪ =(75*0,9+100*(1−5%))*(1+19,6%) : étape 1 ;
▪ =(67,5+100*(1−5%))*(1+19,6%) : étape 2 ;
▪ =(67,5+100*0,95)*(1+19,6%) : étape 3 ;
▪ =(67,5+95)*(1+19,6%) : étape 4 ;
▪ =162,5*(1+19,6%) : étape 5 ;
▪ =162,5*1,196 : étape 6 ;
▪ =194,35 : étape 7.
Lors de la saisie, chaque niveau de parenthèse possède une couleur. Cela permet de
mieux visualiser la hiérarchie des parenthèses. De plus, lorsque vous refermez une
parenthèse, la paire (ouvrante et fermante) est mise brièvement en gras.
II.2.3. Utiliser l’opérateur de concaténation
L’opérateur & permet de concaténer des chaînes de caractères. Jusqu’à présent,
nous avons évoqué des formules dont les opérandes étaient numériques. Or, il peut
être nécessaire de manipuler des opérandes alphanumériques avec lesquels les
opérateurs mathématiques n’ont aucun sens (essayez de diviser « Bonjour » par « Au
revoir » !).
1. Sélectionnez A2.
2. Saisissez =" Micro "& " "& "Application ".
3. Appuyez sur [Entrée].
15

Il est possible de concaténer des expressions numériques avec des expressions


alphanumériques.
II.3. Maîtriser les références relatives, absolues et mixtes
Si les possibilités en matière de calcul en restaient là, Excel ne serait qu’une super-
calculatrice. Or cette application est beaucoup plus que cela. Sa puissance
supplémentaire provient, entre autres, de la possibilité de faire référence à d’autres
cellules dans une formule. Cette faculté autorise la conception de formules
complexes et puissantes. Nous aborderons progressivement l’utilisation des
différents types de références dans la conception des formules de calcul.
II.3.1. Découvrir les références de cellules
Donner la référence d’une cellule en indiquant la ligne et la colonne où elle se trouve
permet de localiser ladite cellule dans un classeur. Les colonnes sont identifiées par
des lettres de (de A à XFD, soit 16384 colonnes) et les lignes par des chiffres (de 1 à 1
048 576). Par exemple, A1 localise la cellule située à l’intersection de la première
colonne et de la première ligne, B10 la cellule située à l’intersection de la deuxième
colonne et de la dixième ligne.
Lorsque vous saisissez la référence d’une cellule dans une formule, vous utilisez le
contenu de la cellule correspondante dans votre formule.
II.3.2. Utiliser des références de cellules
Voici l’exemple le plus simple d’utilisation d’une référence de cellule dans une
formule :
1. Sélectionnez A4.
2. Saisissez =A3.
3. Appuyez sur [Entrée].

Le contenu de la cellule A4 est maintenant égal au contenu de la cellule A3. Si ce


dernier varie, celui de A4 varie également.
16
Pour mesurer l’intérêt de ce mécanisme, reprenons l’exemple de calcul du prix TTC
des deux articles. En cas de changements de tarif ou de taux de remise, il faut
modifier la formule contenue en A3, ce qui n’est pas très aisé. Vous utiliserez plutôt
des références pour vous faciliter la tâche :
1. En A6, saisissez 75.
2. En B6, saisissez 10%.
3. En A7, saisissez 75.
4. En B7, saisissez 10%.
5. En A8, saisissez 19,6%.
6. En A10, saisissez =((A6*(1−B6)+A7*(1−B7))*(1+A8)).
Au fur et à mesure de l’écriture de la formule, les références des cellules qu’elle
intègre sont affichées avec des couleurs différentes. Ces couleurs sont reprises au
niveau de la bordure des cellules correspondantes. Vous avez ainsi une vision
synthétique des cellules impliquées dans une formule (à condition, bien sûr, qu’elles
soient toutes visibles à l’écran).

7. Validez par [Entrée].


Le résultat contenu dans la cellule A10 est égal à celui contenu dans A3 mais il est
beaucoup plus facile d’intégrer d’éventuelles modifications de tarif, de remise ou de
taux de TVA en utilisant des références comme en A10.
17
II.3.3. Distinguer les différents types de références : relatives absolues et mixtes
Jusqu’à présent, vous avez utilisé des références relatives : lorsque vous avez saisi
=A3 dans la cellule A4, vous avez fait une référence, non pas à la cellule A3 en tant
que telle, mais à la cellule se trouvant une ligne au-dessus de la cellule en cours (en
l’occurrence A4). Ainsi, lorsque vous copiez le contenu de la cellule A4 et le collez en
B10, B10 contient =B9, et non =A3.
Pour faire référence à la cellule A3, il faut utiliser une référence absolue. Elle se
présente sous la forme suivante : $A$3. Si vous saisissez =$A$3 en A4, puis copiez le
contenu de la cellule A4 et le collez en B10, B10 contient =$A$3. Le caractère $ indique
que c’est bien à la colonne A et à la ligne 3 auxquelles il est fait référence.
Il est possible de combiner des références absolues à des colonnes avec des
références relatives à des lignes, et vice versa. Il s’agit alors de références mixtes.
Lors de la saisie d’une formule, vous pouvez facilement passer d’un mode de
référence à l’autre à l’aide de la touche [F4] :
1. Double-cliquez sur A10.
2. Positionnez le curseur à côté de la référence A6 (après le 6, par exemple).
3. Appuyez sur [F4]. La référence devient $A$6.
4. Appuyez une deuxième fois sur [F4]. La référence devient A$6.
5. Appuyez une troisième fois sur [F4]. La référence devient $A6.
6. Appuyez encore une fois sur [F4]. La référence redevient A6.
II.3.4. Utiliser des références relatives et absolues
Dans un premier temps, vous allez mettre en pratique les références absolues et
relatives. En ce sens, vous allez créer une feuille de calcul pour déterminer les tarifs
de différents produits, compte tenu d’un taux de remise et d’un taux de TVA.
1. En A1, saisissez TARIF.
2. En E3, saisissez Taux TVA.
3. En F3, saisissez 19,6%.
4. En A5, B5, C5, D5, E5, F5, saisissez respectivement Référence, Libellé, P.U. H.T.,
Remise, P.U. net H.T., P.U. T.T.C..
5. Saisissez les différentes lignes d’exemple :
Lignes d’exemple
Référence Libellé P.U. H.T. Remise
ABC1 Bloc-notes 2000 15 %
ABC2 Enveloppes (500) 250 12 %
ABC3 Stylo 150 25 %
ABC4 Gomme 100 12 %
18
ABC5 Marqueur 500 14 %
ABC6 Agrafeuse 2500 20 %
ABC7 Classeur 1500 33 %
ABC8 Surligneur 1000 25 %
6. Sélectionnez A1:F1 et cliquez sur Fusionner et centrer (onglet Accueil, groupe
Alignement). Appliquez une taille de police de 16 et mettez le texte en gras.
7. Sélectionnez E3:F3 et appliquez un contour de type quadrillage. Mettez E3 en gras.
8. Sélectionnez A5:F5, centrez le texte et mettez-le en gras.
9. Sélectionnez A5:F13 et appliquez un contour de type quadrillage.
10.Sélectionnez C6:C13, ainsi que E6:F13 et appliquez le format Monétaire.

Cette feuille présente plusieurs articles avec, pour chacun d’eux, son prix HT ainsi
qu’un taux de remise. Le but est de calculer, pour chaque article, le prix net HT (c’est-
à-dire compte tenu de la remise) et le prix TTC.
Pour calculer le prix net, il faut à chaque ligne appliquer le taux de remise :
1. En E6, saisissez =C6*(1−D6).
2. Étendez le contenu, à l’aide de la poignée de recopie, jusqu’en E13. Pour cela,
sélectionnez la cellule E6 et approchez le pointeur de la souris de la poignée de
recopie de la cellule. La poignée de recopie est le petit carré noir situé dans l’angle
inférieur droit. Le pointeur change d’apparence : il se transforme en une petite croix
noire.

Cliquez à présent sur la poignée de recopie et déplacez le pointeur jusqu’en E13. La


plage E6:E13 est entouré d’un contour gris. Relâchez le bouton de la souris. La
formule de calcul de la cellule E6 a été « étendue » aux autres cellules de la plage.
19
Vous avez ainsi mis à profit les propriétés des références relatives : elles localisent
les cellules par rapport à la cellule active. En étendant le contenu de la cellule active
à celles situées dans la même colonne, vous avez « fait suivre » les références
relatives de la formule.
Il reste maintenant à calculer les prix TTC. Pour cela, il faut utiliser le taux de TVA situé
dans la cellule F3 :
1. En F6, saisissez =E6*(1+F3).
2. Étendez le contenu, à l’aide de la poignée de recopie, jusqu’en F13.

Le résultat n’est pas très probant. Vous avez sans doute déjà identifié les causes du
problème : la référence à F3 doit être absolue, puisque ce taux doit être utilisé de la
même façon à chaque ligne.
1. Double-cliquez sur F6.
2. Positionnez le curseur à côté de la référence F3 (après le 3, par exemple).
3. Appuyez sur [F4]. La référence devient $F$3.
4. Validez par [Entrée].
5. Étendez le contenu, à l’aide de la poignée de recopie, jusqu’en F13.

Cette deuxième tentative est sans doute plus conforme à vos attentes.
L’emploi de références relatives ou absolues est principalement conditionné par le
comportement attendu de la formule lorsqu’elle sera copiée. En effet, une formule
20
est rarement « isolée », elle fait souvent partie de lignes ou de colonnes présentant
des formules semblables, obtenues par recopie d’une formule initiale.
II.3.5. Utiliser des références mixtes
Pour mettre en pratique les références mixtes, vous allez construire une feuille de
calcul qui permet de déterminer la capacité de production d’un atelier, en fonction
de la capacité horaire de chaque machine et de la durée d’ouverture journalière de
l’atelier.
1. En A1, saisissez Capacités de production – Atelier XXXX.
2. En C3, saisissez Lundi et étendez le contenu de la cellule jusqu’en I3.
3. En B4, saisissez Durée du travail.
4. En C4, D4, E4, F4, G4, H4, I4, saisissez respectivement 8, 10, 10, 10, 8, 6, 0.
5. En A6, saisissez Machine.
6. En B6, saisissez Capacité.
7. En C6, saisissez Lundi et étendez le contenu de la cellule jusqu’en I6.
8. En J6, saisissez Total.
9. En A7, saisissez Machine 1 et étendez le contenu de la cellule jusqu’en A12.
[Link] A13, saisissez Total / jour.
[Link] B7, B8, B9, B10, B11, B12, saisissez respectivement 100, 150, 75, 98, 102, 123.
12.Sélectionnez A1:J1 et cliquez sur Fusionner et centrer (onglet Accueil, groupe
Alignement). Appliquez une taille de police de 16 et mettez le texte en gras.
13.Sélectionnez C3:I3 et appliquez un contour de type quadrillage. Mettez le texte en
gras.
14.Sélectionnez B4:I4 et appliquez un contour de type quadrillage. Mettez B4 en
gras.
15.Sélectionnez A6:J6, centrez le texte et mettez-le en gras.
16.Sélectionnez A6:J13 et appliquez un contour de type quadrillage.
17.A l’aide du bouton Somme automatique (onglet Formules) positionnez les totaux
de lignes et de colonnes.
18.Sélectionnez C13:J13 et mettez le texte en gras.
19.Sélectionnez J7:J12 et mettez le texte en gras.
21

Ainsi, le lundi, la capacité de production de la machine 1 est de 100 × 8, soit 800 pièces.
Vous généraliserez ce calcul à l’ensemble des machines, pour chacun des jours de la
semaine.
1. En C7, saisissez =$B7*C$4.
2. Étendez le contenu, à l’aide de la poignée de recopie, jusqu’en C12.
3. Étendez le contenu, à l’aide de la poignée de recopie, jusqu’à la colonne I.

En saisissant une formule, vous avez pu en créer quarante-deux (6 × 7) par simple


copie. Il est important de réfléchir, lors de la conception des formules, à l’intérêt de
figer ou non la référence à la ligne ou à la colonne. En figeant la référence à la colonne
B et en laissant la ligne libre, vous demandez à la formule d’aller chercher la valeur
de la capacité horaire de chaque machine, quel que soit le jour de la semaine. De
même, en figeant la référence à la ligne 4 et en laissant la colonne libre, vous
autorisez la formule à aller chercher la durée d’ouverture de l’atelier pour chacun des
jours, quelle que soit la machine considérée.
II.3.6. Références tridimensionnelles
Les références employées jusqu’à présent permettent de situer une cellule dans une
feuille de calcul. Pour cela, deux « coordonnées » sont nécessaires : la colonne et la
ligne. Ce type de repérage est donc bidimensionnel. Or, il peut être utile, dans
certaines situations, de faire appel à des cellules d’autres feuilles de calcul du même
22
classeur. Pour repérer ces cellules, il faut introduire une « troisième dimension », en
l’occurrence le nom de la feuille de calcul « source ».
1. Dans le classeur que vous venez de créer, sélectionnez une autre feuille (ou insérez-
en une).
2. Sélectionnez la cellule A3.
3. Saisissez =.
4. Cliquez sur l’onglet de la feuille où se trouve le tableau contenant les données que
vous souhaitez exploiter (dans notre exemple, il s’agit de la feuille Feuil3).
5. Sélectionnez par exemple la cellule J13. Vous pouvez voir le contenu de la cellule
active dans la barre de formule.
6. Saisissez /7.
7. Validez par [Entrée].

Vous obtenez sur la feuille la moyenne des capacités journalières de production.


La syntaxe d’une référence tridimensionnelle est la suivante : Feuille!Référence. Si le
nom de la feuille contient des espaces, il est entouré d’apostrophes, par exemple :
’Ventes Annuelles’!B8.
Il est bien entendu possible de combiner les références tridimensionnelles avec les
références relatives, absolues et mixtes.
II.3.7. Plages de cellules tridimensionnelles
Vous pouvez faire référence à des plages « tridimensionnelles ». Par exemple, la
formule suivante permet de calculer la somme des cellules des plages A1:C3 des
feuilles Feuil1 à Feuil5 : =SOMME(Feuil1:Feuil5!A1:C3).
Pour créer une telle formule :
1. Saisissez =SOMME( dans la cellule de votre choix).
2. Cliquez sur l’onglet de la première feuille, ici Feuil1.
3. Maintenez la touche [Maj] enfoncée et cliquez sur l’onglet de la dernière feuille, ici
Feuil5.
4. Sélectionnez ensuite la plage souhaitée (ici A1:C3) dans la feuille active.
5. Fermez la parenthèse et validez par [Entrée].
23
II.3.8. Références externes
Il peut également être nécessaire d’avoir recours à des cellules se trouvant dans
d’autres classeurs.
Pour illustrer cette possibilité, enregistrez le classeur contenant le tableau des
capacités de production en lui donnant le nom Capacité_Prod.xlsx.
1. Créez un nouveau classeur.
2. En A3, saisissez =.
3. Dans l’onglet Affichage, cliquez sur le bouton Changement de fenêtre du groupe
Fenêtres, puis sélectionnez Capacité_Prod.xlsx.
4. Sélectionnez la cellule J13.
5. Validez par [Entrée].
La syntaxe d’une référence externe est la suivante : ’[Nom du
classeur]Feuille’!Référence.
Par défaut, il s’agit d’une référence absolue, mais il est tout à fait possible de
combiner les références externes avec les références relatives et mixtes. Si vous
fermez le classeur source, vous constatez que la référence externe fait apparaître le
chemin complet du classeur source. Vous pouvez afficher l’ensemble des références
externes d’un classeur grâce au bouton Modifier les liens d’accès du groupe
Connexions de l’onglet Données. Il provoque l’affichage de la boîte de dialogue
Modifier les liaisons. Lorsque vous ouvrez un classeur contenant des références
externes, Excel vous demande s’il doit mettre à jour les liaisons.
II.4. Découvrir des outils et paramètres supplémentaires
Cette section aborde quelques fonctions intéressantes et souvent inexploitées.
II.4.1. Transformer une formule en valeur
Pour transformer une formule en valeur, c’est-à-dire remplacer dans la cellule la
formule par son résultat, sélectionnez la cellule, cliquez dans la barre de formule et
appuyez sur [F9].
En sélectionnant une partie de la formule et en appuyant sur [F9], vous transformez
uniquement la partie de la formule sélectionnée en valeur (à condition que cette
fraction de formule soit cohérente).
II.4.2. Éviter qu’Excel recalcule systématiquement les formules
Par défaut, Excel recalcule les formules à chaque modification de la feuille de calcul.
Cette option peut être gênante si, par exemple, vous saisissez un grand nombre de
formules, car le calcul prendra alors un certain temps. Durant la conception de la
feuille, il n’est sans doute pas nécessaire d’avoir en temps réel la valeur des formules.
24
Voici la procédure pour empêcher Excel de calculer systématiquement les formules
à chaque modification :
1. Cliquez sur le menu Fichier, puis sur Options.
2. Cliquez sur Formules.
3. Dans la rubrique Mode de calcul, sélectionnez Manuellement.

L’option Recalculer le classeur avant de l’enregistrer permet de rendre systématique


le calcul des formules avant l’enregistrement, afin de sauvegarder les données les
plus à jour.
4. Validez par OK.
Désormais, Excel ne calculera plus les formules mais affichera Calculer dans la barre
d’état lorsqu’un recalcul sera nécessaire.
Pour calculer les formules à la demande dans tous les classeurs actifs, appuyez sur la
touche [F9] ou utilisez le bouton Calculer maintenant du groupe Calcul de l’onglet
Formules. Le bouton Calculer la feuille permet de recalculer seulement la feuille
active.
25

II.5. Ne pas afficher les formules


Si, pour des raisons de confidentialité, vous ne souhaitez pas que les utilisateurs de
vos feuilles de calcul puissent visualiser les formules créées, vous pouvez faire en
sorte qu’elles ne s’affichent pas, même lorsque les cellules qui les contiennent sont
sélectionnées.
1. Sélectionnez la plage de cellules qui contient les formules à masquer.
2. Cliquez du bouton droit sur la plage de cellules sélectionnée.
3. Dans le menu qui s’affiche, sélectionnez Format de cellule.
4. Dans la boîte de dialogue Format de cellule, sélectionnez l’onglet Protection.

5. Cochez la case Masquée et validez par OK.


6. Dans l’onglet Accueil, cliquez sur le bouton Format du groupe Cellules.
Sélectionnez ensuite Protéger la feuille. Vous pouvez également utiliser le bouton
Protéger la feuille du groupe Modifications de l’onglet Révision.
7. Saisissez éventuellement un mot de passe et validez.
II.5.1. Éviter les incohérences d’affichage dues aux arrondis
26
Le précepte bien connu qui dit que « l’arrondi de la somme n’est pas égal à la somme
des arrondis » peut rendre certaines feuilles de calcul incohérentes, du moins en
apparence.
Dans cette feuille de calcul, le total semble incohérent, en effet, 15,2 + 12,2 = 27,4 et
non 27,5. Or le calcul réel est en fait 15,24 + 12,24 = 27,48. Mais le format d’affichage
choisi ne permet l’affichage que d’une seule décimale, donc 15,24 devient 15,2, 12,24
devient 12,2 et 27,48 devient 27,5, d’où l’incohérence apparente. L’affichage d’un
nombre restreint de décimales n’a pas d’impact sur le nombre stocké dans la cellule.
Toutes ses décimales sont prises en compte dans les calculs.
Pour remédier à ce problème, procédez de la façon suivante :
1. Cliquez sur le menu Fichier, puis sur Options.
2. Cliquez sur Options avancées.
3. Dans la rubrique Lors du calcul de ce classeur, sélectionnez Définir le calcul avec la
précision du format affiché.

4. Validez par OK.


Le résultat est maintenant cohérent. Soyez toutefois prudent lors de l’utilisation de
cette option car les décimales non affichées sont irrémédiablement perdues.
II.5.2. Afficher des références du type L1C1
Il est possible d’utiliser un autre type de références de cellules que celui employé
dans ce chapitre. Dans cet autre type de référence, la cellule A1 est désignée par L1C1,
la cellule P12 par L12C16… Une référence relative est représentée par exemple par
27
L(-1)C(2), qui correspond à la cellule située une ligne au-dessus et deux colonnes à
droite. Ce type de référence est hérité de tableurs plus anciens.
Pour utiliser ce type de références :
1. Cliquez sur le menu Fichier, puis sur Options.
2. Cliquez sur Formules.
3. Dans la rubrique Manipulation de formules, sélectionnez Style de référence L1C1.

4. Validez par OK.

Chapitre III. Utiliser des noms dans les formules


Les noms permettent de rendre vos formules plus lisibles et compréhensibles. Cela
peut s’avérer très utile à la fois pour vous, car vous pourrez plus facilement vous
replonger dans vos formules afin de les modifier et de les améliorer, et pour les
utilisateurs de vos feuilles de calcul, car ils comprendront mieux la logique de vos
calculs sans avoir à entrer dans les arcanes de vos formules ! Il est possible, entre
autres, de nommer des cellules individuelles ou des plages de cellules.
Les noms sont un mode de repérage plus convivial que les références « classiques ».
Nous allons à présent aborder les fonctionnalités qui vont permettre de créer, de
modifier et de supprimer des noms dans un classeur ou une feuille de calcul.
28
III.1. Attribuer simplement un nom à une cellule ou à une plage de cellules
Pour illustrer l’attribution d’un nom à une cellule, nous utiliserons une feuille de calcul
qui est en fait l’extrait d’un tarif de différents produits.
III.1.1. Attribuer un nom à une cellule
Vous allez, par exemple, attribuer le nom TauxTVA à la cellule F3 :
1. Sélectionnez F3.

2. Dans la zone Nom (qui contient la référence de la cellule F3), saisissez TauxTVA.

3. Validez par [Entrée]


Lorsque vous sélectionnez la cellule F3, le nom TauxTVA apparaît dans la zone Nom.
Si vous saisissez TauxTVA dans la zone Nom alors qu’une cellule est sélectionnée, la
sélection est déplacée sur la cellule F3.
III.1.2. Utiliser un nom dans une formule
Une fois que le nom est créé, vous pouvez l’utiliser dans toutes vos formules. Un nom
constitue une référence absolue. Vous allez recréer les formules de calcul du prix
TTC.
1. En F6, saisissez =E6*(1+t. Dès que vous avez saisi la lettre « t », Excel affiche une
liste déroulante permettant de choisir les fonctions dont le nom débute par t, mais
vous pouvez constater que le nom que vous avez créé figure également dans cette
liste. Il est précédé d’un symbole différent pour le distinguer des fonctions. Vous
pouvez continuer la saisie du nom ou le sélectionner dans la liste en effectuant un
double-clic.
2. Validez par [Entrée].
3. Étendez le contenu, à l’aide de la poignée de recopie, jusqu’en F13.
29
Vous pouvez ainsi vérifier qu’un nom est une référence absolue, puisque sur chaque
ligne, TauxTVA fait toujours référence à la cellule F3.
III.1.3. Attribuer un nom à une plage de cellules
Nous avons vu comment attribuer un nom à une cellule. De la même façon, il est
possible d’attribuer un nom à une plage de cellules.
1. Sélectionnez F6:F13.
2. Dans la zone Nom (qui contient la référence de la cellule F6), saisissez PU_TTC.

3. Validez par [Entrée].


Pour sélectionner la plage de cellules, il est à présent possible de saisir le nom dans
la zone Nom ou d’utiliser la liste déroulante qui apparaît lorsque vous cliquez sur le
bouton fléché situé à côté de cette zone.

Le nom d’une plage de cellules peut être utilisé dans une formule, à condition
évidemment que la formule nécessite un argument qui soit une plage de cellules. Par
exemple, si vous saisissez =Max(PU_TTC) dans la cellule F14, vous obtenez 11,65, ce
qui est le résultat correct.
Plus généralement, un nom de plage peut être utilisé dans toute fonction qui requiert
une plage de cellules comme argument.
III.1.4. Sélectionner une cellule ou une plage nommée
Pour sélectionner une cellule ou une plage nommée, nous avons vu qu’il était
possible d’utiliser la liste déroulante de la zone Nom. Il est également envisageable
d’utiliser le bouton Rechercher et sélectionner du groupe Edition de l’onglet Accueil.
1. Dans l’onglet Accueil, cliquez sur le bouton Rechercher et sélectionner du groupe
Edition et sélectionnez la commande Atteindre...
30

2. Dans la boîte de dialogue Atteindre, sélectionnez le nom désiré

3. Validez par OK.


III.2. Définir et modifier les noms
Vous avez pu mettre en pratique une méthode rapide et simple pour attribuer
rapidement un nom de plage ou de cellule. Toutefois, il existe une autre méthode qui
offre davantage de possibilités. Pour la mettre en œuvre, nous utiliserons les
boutons du groupe Noms définis de l’onglet Formules.
III.2.1. Définir un nom
L’avantage du bouton Définir un nom du groupe Noms définis de l’onglet Formules
réside dans la prise en compte des cellules adjacentes à la cellule ou à la plage
sélectionnée pour proposer un nom.
1. Sélectionnez la plage de cellules E6:E13.
2. Dans l’onglet Formules, cliquez sur le bouton Définir un nom du groupe Noms
définis. Excel vous propose (mais vous pouvez le modifier), en guise de nom de
plage, l’étiquette de colonne du tableau. Les espaces ont été remplacés par des
tirets. La zone Fait référence à contient les références (absolues) de la plage de
31
cellules. Il est possible de les modifier soit en saisissant des références dans cette
zone, soit en cliquant dans la zone puis en allant sélectionner la plage désirée à l’aide
de la souris.

3. Cliquez sur OK.


Vous pouvez également nommer des plages de cellules non contiguës, que vous
sélectionnerez en utilisant la touche [Ctrl].
III.2.2. Modifier la cible d’un nom
Vous pouvez utiliser le gestionnaire de noms pour modifier la cellule ou la plage de
cellules associée au nom :
1. Dans l’onglet Formules, cliquez sur le bouton Gestionnaire de noms du groupe
Noms définis.
2. Sélectionnez P.U_Net_HT.

3. Cliquez sur Modifier.


4. Vous pouvez à présent modifier la plage de cellules associée dans la zone Fait
référence à. Saisissez par exemple $E$15 à la place de $E$13. Validez par OK.
5. Cliquez sur Fermer pour quitter le gestionnaire de noms.
Dans le gestionnaire de noms, vous pouvez créer une nouvelle plage nommée en
cliquant sur le bouton Nouveau.
32
III.2.3. Insérer un nom dans une formule
Pour insérer un nom dans une formule, la méthode la plus simple consiste à saisir le
nom au clavier, comme vous l’avez fait avec le calcul du prix TTC dans l’un des
exemples précédents. Si votre classeur contient un grand nombre de noms, vous ne
les aurez peut-être pas tous en tête et un aide-mémoire sera sans doute le bienvenu.
1. Sélectionnez la cellule F6.
2. Saisissez =E6*(1+
3. Cliquez sur le bouton Utiliser dans la formule du groupe Noms définis de l’onglet
Formules.

4. Dans la liste, sélectionnez TauxTVA.


5. Saisissez la parenthèse fermante.
6. Appuyez sur [Entrée].
III.2.4. Coller la liste des noms
Dans les feuilles de calcul qui contiennent un grand nombre de noms, il peut être
intéressant de créer une liste des noms ainsi que des plages auxquelles ils font
référence.
1. Sélectionnez une autre feuille du classeur.
2. Sélectionnez la cellule A5.
3. Cliquez sur le bouton Utiliser dans la formule du groupe Noms définis de l’onglet
Formules.
4. Sélectionnez Coller…, puis cliquez sur le bouton Coller une liste dans la boîte de
dialogue Coller un nom.
33

III.2.5. Créer des séries de noms


Pour illustrer cette fonctionnalité d’Excel, nous utiliserons le classeur
Capacité_Prod.xlsx. Vous allez nommer toutes les lignes et colonnes du tableau en
utilisant les étiquettes de lignes et de colonnes. Il est parfaitement envisageable de
sélectionner successivement chacune des plages, puis d’utiliser le gestionnaire de
noms. Cela risque toutefois de s’avérer fastidieux. Heureusement, Excel a prévu une
fonction qui permet d’automatiser ce traitement.
1. Sélectionnez A6 :J13.
2. Cliquez sur le bouton Créer à partir de la sélection (ou Depuis la sélection) du
groupe Noms définis de l’onglet Formules.

3. Dans la boîte de dialogue Créer des noms à partir de la sélection, sélectionnez


Ligne du haut et Colonne de gauche.

4. Validez par OK.


34
Si vous cliquez sur le bouton fléché situé à côté de la zone Nom, vous constatez que
des noms ont été créés. Chaque ligne est identifiée par l’étiquette de ligne
correspondante et chaque colonne par l’étiquette de colonne correspondante. Si
vous sélectionnez Machine_1, la sélection active est déplacée sur la plage de cellules
B7 :J7.
III.2.6. Supprimer un nom
Pour supprimer un nom, il faut utiliser à nouveau le gestionnaire de noms :
1. Dans l’onglet Formules, cliquez sur le bouton Gestionnaire de noms du groupe
Noms définis.
2. Sélectionnez le nom que vous souhaitez supprimer.

3. Cliquez sur Supprimer.


4. Validez par OK.
III.2.7. Remplacer systématiquement les références de cellules par les noms
Supposons que, lors de la conception d’une feuille de calcul, vous n’ayez pas utilisé
dès le début de votre travail des cellules nommées, mais plutôt des références «
classiques ». Une fois les noms définis, vous souhaitez qu’ils remplacent les
références dans les formules déjà saisies. Excel a prévu une solution.
Reprenez la feuille de calcul des tarifs :
1. Dans l’onglet Formules, cliquez sur le bouton fléché situé à côté de Définir un nom
du groupe Noms définis. Sélectionnez Appliquer ou Affecter les noms…
35
2. Dans la zone Affecter le(s) nom(s), sélectionnez TauxTVA. Vous pouvez
sélectionner plusieurs noms si vous le souhaitez. Pour désélectionner un nom,
cliquez dessus à nouveau.

3. Validez par OK.


Dans toutes les formules qui contenaient la référence $F$3, celle-ci a été remplacée
par TauxTVA. Examinons maintenant en détail les options de cette boîte de dialogue
:
▪ Ignorer relatif/absolu : si cette case est sélectionnée, Excel considère que les
références $F$3, $F3, F$3 et F3 sont équivalentes et les remplace, dans notre
exemple, par TauxTVA.
▪ Utiliser les noms de colonnes et de lignes : si cette case est sélectionnée, les
références « classiques » sont remplacées par des noms de plages. Ainsi, dans
notre exemple, la référence E9 de la feuille de calcul des capacités des
machines est remplacée par Machine_3 Mercredi.
En cliquant sur le bouton Options, vous pouvez afficher les paramètres
supplémentaires suivants :
▪ Ignorer nom de colonne si même colonne : lorsque cette case est sélectionnée
(elle l’est par défaut), Excel prend en compte les intersections implicites pour
les colonnes (même principe que pour les étiquettes, vues précédemment).
▪ Ignorer nom de ligne si même ligne : lorsque cette case est sélectionnée (elle
l’est par défaut), Excel prend en compte les intersections implicites pour les
lignes.
▪ Ordre du nom : ces boutons d’option permettent de spécifier l’ordre des noms
des lignes et des colonnes lors du remplacement des références par des noms.
III.3. Attribuer des noms à des constantes et à des formules
Jusqu’à présent, les noms que nous avons créés faisaient référence de façon absolue
à des cellules ou à des plages de cellules. C’est le cas d’utilisation le plus fréquent,
mais ce n’est pas le seul. Il est également possible d’attribuer des noms à des
constantes et à des formules.
36
III.3.1. Attribuer des noms à des constantes
Reprenez l’exemple des tarifs pour définir le taux de TVA sans le saisir dans une
cellule.
1. Dans l’onglet Formules, cliquez sur le bouton Gestionnaire de noms du groupe
Noms définis.
2. Cliquez sur Nouveau. Dans la boîte de dialogue Nouveau nom, saisissez
Taux_TVA.dans la zone Nom.
3. Dans la zone Fait référence à, saisissez 19,6%.

4. Cliquez sur OK.


5. Cliquez sur Fermer.
Si vous saisissez =Taux_TVA dans une cellule, la valeur 0,196 s’affiche. Vous pouvez
bien entendu utiliser ce nom dans n’importe quelle formule, au même titre que les
noms que vous avez déjà créés.
III.3.2. Attribuer des noms à des formules
Il est également possible, comme nous l’avons évoqué, d’attribuer un nom à une
formule de calcul. Par exemple, nous allons définir une formule de calcul permettant
de calculer le prix TTC à partir du prix HT à l’aide du taux de TVA que nous avons créé
sous forme de constante.
1. Sélectionnez G6.
2. Dans l’onglet Formules, cliquez sur le bouton Gestionnaire de noms du groupe
Noms définis.
3. Cliquez sur Nouveau. Dans la boîte de dialogue Nouveau nom, saisissez Calcul_prix
dans la zone Nom.
4. Dans la zone Fait référence à, saisissez = ’Absolues Relatives’!E6*(1+Taux_TVA).
37

5. Cliquez sur OK.


6. Cliquez sur Fermer.
7. En G6, saisissez =Calcul_prix.
8. Étendez le contenu, à l’aide de la poignée de recopie, jusqu’en G13.
Le calcul s’effectue correctement. Il est très important, puisque la définition se fait
de façon relative, de sélectionner au préalable la cellule G6. En fait, la formule utilise
pour le calcul la cellule située sur la même ligne mais deux colonnes à gauche. Si vous
saisissez =Calcul_prix dans une autre colonne, le résultat est faux. Pour remédier à
ce problème, remplacez E6 par $E6 dans la définition de la formule. Ainsi vous
obtiendrez un résultat correct, quelle que soit la colonne dans laquelle vous saisirez
la formule =Calcul_ prix.
III.4. Noms spécifiques d’une feuille de calcul
Jusqu’à présent, il n’a pas été question de la portée des noms que vous avez créés.
Ceux-ci sont valides dans tout le classeur. Ainsi, si vous sélectionnez le nom TauxTVA
dans la liste des noms alors que la feuille Feuil1 n’est pas affichée, la feuille Feuil1 sera
activée.
Toutefois, il est possible de définir des noms valables uniquement dans une feuille
définie. Vous allez transformer le nom TauxTVA en nom « local » relativement à la
feuille Feuil1.
1. Dans l’onglet Formules, cliquez sur le bouton Gestionnaire de noms du groupe
Noms définis.
2. Sélectionnez TauxTVA. Cliquez sur Supprimer. Il n’est en effet pas possible de
modifier la portée d’un nom existant.
38

3. Cliquez sur Nouveau.


4. Dans la boîte de dialogue Nouveau nom, saisissez TauxTVA dans la zone Nom .
5. Sélectionnez Feuil1 dans la liste déroulante Zone.
6. Cliquez dans la zone Fait référence à puis sélectionnez la cellule F3 de la feuille
Feuil1.

7. Cliquez sur OK.


Le nom TauxTVA n’est désormais disponible dans la liste déroulante des noms que
dans la feuille Feuil1.
39
Chapitre IV. Rechercher et utiliser des fonctions
Nous avons abordé les grands principes de conception des formules de calcul. Vous
pouvez donc dès maintenant mettre à profit ces connaissances pour construire les
formules de calcul adaptées à vos besoins. Une bonne définition du problème à
résoudre, un peu de réflexion, voire d’astuces, vous feront sans difficulté parvenir à
vos fins. D’autant que Excel a peut-être déjà résolu pour vous certaines difficultés.
En effet, le logiciel propose plus de trois cents fonctions de calcul.
IV.1. Comprendre la notion de fonction
Les fonctions sont des formules prédéfinies qui effectuent des calculs ou des
traitements à partir de données que vous leur fournissez. Elles vous évitent de «
réinventer la roue » en cas de besoin. En effet, pour calculer la somme des cellules
de C1 à C10, vous pourriez très bien écrire =C1+C2+C3+C4+C5+C6+C7+C8+C9+C10. Cela
fonctionne parfaitement. Mais vous trouverez sans doute plus pratique d’écrire
=SOMME(C1:C10) ! Et sans doute encore plus pratique si vous devez calculer la
somme des cellules de C1 à C1000 !
La fonction SI, sans doute parmi les plus utilisées, permet de bâtir des formules dites
conditionnelles, c’est-à-dire qui vont être modifiées en fonction d’une condition. Par
exemple, si le délai de paiement d’une facture est dépassé, la formule conditionnelle
affiche un message d’alerte. Cette formule pourrait avoir l’allure suivante (si la date
de règlement se trouve dans la cellule B5) : =SI(AUJOUDHUI()>B5;"Le délai est
dépassé" ; "Facture à régler").
Au passage, remarquez l’utilisation de la fonction AUJOURDHUI(), qui renvoie la date
du jour. Les fonctions d’Excel ne sont pas exclusivement destinées au calcul
numérique. Elles traitent de domaines larges et variés. Le logiciel propose en effet :
▪ des fonctions de recherche et de référence ;
▪ des fonctions de texte ;
▪ des fonctions de date et d’heure ;
▪ des fonctions logiques ;
▪ des fonctions d’information ;
▪ des fonctions de base de données ;
▪ des fonctions mathématiques ;
▪ des fonctions statistiques ;
▪ des fonctions financières ;
▪ des fonctions d’ingénierie.
Pour donner des résultats, la plupart des fonctions nécessitent que vous leur
fournissiez des données pour travailler. Ces données sont appelées des arguments.
Ainsi, une fonction qui calcule une mensualité d’emprunt a besoin du taux de
l’emprunt, du montant emprunté et de la durée de l’emprunt.
40
Les arguments doivent figurer après l’intitulé de la fonction, entre parenthèses et
séparés par des points-virgules. Il est impératif de respecter leur ordre, car, en règle
générale, chacun d’entre eux a un rôle spécifique. Il est également nécessaire de
veiller au type d’argument demandé (valeurs numériques, chaînes de caractères,
dates…) sous peine de voir apparaître des messages d’erreur tels que #VALEUR!. Les
arguments peuvent être fournis sous forme de valeur, de référence à une cellule ou
à plage de cellules, de plage nommée. Ils peuvent être le résultat d’autres fonctions.
Nous décrirons ultérieurement les différents types d’arguments.
IV.1.1. Découvrir la bibliothèque de fonctions
Vous allez à présent voir comment insérer une fonction dans une formule. Bien sûr,
vous n’êtes pas censé connaître l’ensemble des noms des fonctions! C’est pourquoi
nous allons décrire une méthode visant à identifier la fonction qui résoudra votre
problème.
IV.1.2. Rechercher et insérer une fonction
Supposons que vous souhaitiez calculer la moyenne de valeurs qui se trouvent dans
une même colonne d’une feuille de calcul, mais que vous ne connaissiez pas la
fonction à utiliser.
La façon de procéder est la suivante :
1. Sélectionnez la cellule dans laquelle vous souhaitez insérer une fonction (en
l’occurrence B13).
2. Cliquez sur le bouton Insérer une fonction du groupe Bibliothèque de fonctions de
l’onglet Formules ou cliquez sur le bouton Insérer une fonction de la barre de
formule.

3. La boîte de dialogue Insérer une fonction apparaît alors :


4. Plusieurs possibilités s’offrent à vous :
▪ décrire ce que vous souhaitez faire dans la zone Recherchez une fonction ;
41
▪ sélectionner une catégorie à l’aide de la liste déroulante Sélectionnez une
catégorie ;
▪ cliquer dans la zone Sélectionnez une fonction et saisir les premières lettres de
la fonction désirée.

Une fois la fonction affichée, cliquez sur le bouton OK.


Dans notre exemple, sélectionnez la catégorie Statistiques, Excel vous propose un
choix de fonctions plus restreint. Si vous sélectionnez la fonction MOYENNE, vous
constatez qu’Excel affiche en bas de la boîte de dialogue la syntaxe de la fonction
ainsi qu’un bref descriptif.
Il est également possible d’accéder à l’aide sur la fonction en cliquant sur le lien
hypertexte correspondant (Aide sur cette fonction). Vous pouvez maintenant cliquer
sur le bouton OK en bas de la boîte de dialogue. Excel affiche une nouvelle boîte de
dialogue intitulée Arguments de la fonction.
Excel propose par défaut la plage B7:B12, ce qui est correct. En cliquant dans la barre
de formule, vous pouvez éventuellement compléter la formule. Dans notre cas,
cliquez sur OK pour valider. La fonction a été placée dans la cellule B13.
En fait Excel propose comme plage de cellules, la plus grande plage de cellules
contenant des valeurs numériques située au-dessus de la cellule contenant la
fonction ou à gauche, s’il n’y a rien au-dessus. Dans ce cas, la plage était correcte car
l’entête de colonne était un texte. Si l’entête de colonne avait été un nombre (une
année, par exemple), elle aurait été incluse dans la moyenne, ce qui aurait faussé le
résultat.
IV.1.3. Saisir une fonction connue
Avec la pratique, vous vous apercevrez sans doute que les trois cents fonctions ne
vous seront pas toutes utiles. En fait, avec une vingtaine voire une trentaine de
fonctions, il est possible de faire face à la majorité des situations courantes. Donc, au
bout d’un certain temps, vous connaîtrez par cœur les fonctions qui vous sont utiles
42
et vous trouverez un peu lourd d’utiliser la boîte de dialogue Insérer une fonction.
Rassurez-vous, vous pouvez saisir directement les fonctions dans vos formules!
Pour cela, il suffit de saisir l’intitulé de la fonction (en majuscules ou minuscules), puis
la liste des arguments entre parenthèses, séparés par des points virgules. Si la
fonction se trouve en début d’une formule, il faut la faire précéder du signe égal (=).
Par exemple, saisissez =10+s dans une cellule. Dès que vous avez saisi la lettre « s » la
liste des fonctions qui débutent par cette lettre apparaît. Sélectionnez une fonction
pour afficher une infobulle qui décrit l’objectif de la fonction. Continuez la saisie du
nom de la fonction ou sélectionnez-la dans la liste en effectuant un double-clic. Dès
que vous avez saisi la parenthèse ouvrante, une info-bulle apparaît, affichant
l’intitulé de la fonction et la liste des arguments de celle-ci. Les arguments entre
crochets sont facultatifs. Si vous cliquez sur l’intitulé de la fonction dans l’info-bulle,
l’aide relative à la fonction sera affichée.
Continuez la formule soit en saisissant les arguments, soit en allant sélectionner des
plages de cellules dans une feuille de calcul. Si vous cliquez sur la représentation du
paramètre dans l’info-bulle, vous sélectionnez le paramètre correspondant dans la
formule.
Terminez la saisie en fermant la parenthèse et validez avec [Entrée].
Une fois que vous avez validé, le résultat apparaît dans la cellule. Dans la barre de
formule, Excel a converti l’intitulé de la fonction en majuscules.
IV.1.4. Utiliser les bibliothèques
Dans le groupe Bibliothèque de fonctions de l’onglet Formules, vous disposez de
plusieurs boutons qui vous permettent d’accéder aux fonctions classées par thèmes
: Financier, Texte, Date et heure…

IV.1.5. Utiliser le bouton Somme automatique


Le bouton Somme automatique est sans doute l’un des boutons les plus utilisés lors
d’une séance de travail sur Excel. Le nom est un peu réducteur dans la mesure où ce
bouton permet d’accéder rapidement à cinq fonctions.
43
a. Insérer un total
La première utilisation de ce bouton consiste à sélectionner une cellule dans laquelle
vous souhaitez positionner le total d’une ligne ou d’une colonne, puis à cliquer sur
Somme automatique. Il est possible de modifier la plage de cellules proposée par
défaut, soit en cliquant dans la barre de formule et en saisissant au clavier la nouvelle
plage, soit en la sélectionnant à l’aide de la souris.
b. Insérer d’autres fonctions
Le bouton Somme automatique permet d’accéder rapidement à d’autres fonctions.
Pour cela, il suffit de cliquer sur la petite flèche vers le bas qui se trouve en dessous
du symbole sigma, puis de sélectionner la fonction souhaitée. L’option Autres
fonctions ouvre la boîte de dialogue Insérer une fonction.

IV.2. Utiliser les différents types d’arguments


Les arguments nécessaires à une fonction dépendent bien évidemment du type de
fonction. Certaines fonctions (ALEA(), AUJOURDHUI(),…) ne nécessitent pas
d’argument. Pour les autres, leur nature peut être très variée. À condition de
respecter la syntaxe de la fonction utilisée, il est possible de mixer des arguments de
types différents.
Constantes numériques
=CTXT(15;1)
Convertit 15 en texte avec une décimale.
Constantes alphanumériques
=DROITE("Micro Application";11)
Les chaînes de caractères doivent être saisies entre guillemets. Renvoie les onze
caractères de droite de l’expression entre guillemets, ici Application.
Références à des cellules ou à des plages de cellules
=ENT(A1)
Renvoie la partie entière du contenu de la cellule A1.
44
=SOMME(A1:A10)
Renvoie la somme des valeurs contenues dans la plage A1:A10.
=MOYENNE(A1:A10;C1:C10)
Calcule la moyenne des valeurs des plages A1:A10 et C1:C10.
=GAUCHE(B2;3)
Renvoie les 3 caractères de gauche du contenu de B2.
IV.2.1. Noms de cellules ou de plages de cellules
=MOYENNE(Ventes)
Calcule la moyenne des valeurs de la plage nommée Ventes.
=SI(Montant>1500;"Ok";"A voir")
Si le contenu de la cellule nommée Montant est supérieur à 1 500, le message Ok est
affiché ; sinon, c’est le message A voir qui apparaît.
IV.2.2. Lignes ou colonnes entières
=SOMME(D:D)
Calcule la somme de toutes les valeurs contenues dans la colonne D.
=SOMME(D:D;A1:A10;10)
Calcule la somme de toutes les valeurs contenues dans la colonne D et dans la plage
A1:A10, et ajoute la valeur 10.
=MOYENNE(3:3)
Calcule la moyenne de toutes les valeurs contenues dans la ligne 3.
IV.2.3. Fonctions
=SI(Montant>1500;SOMME(A1:A10);SOMME(B1:B10))
Si le contenu de la cellule nommée Montant est supérieur à 1500, Excel calcule la
somme des valeurs contenues dans la plage A1:A10 ; sinon Excel calcule la somme
des valeurs contenues dans la plage B1:B10.
Les arguments de la fonction SI sont eux-mêmes des fonctions (en l’occurrence, la
fonction SOMME). Dans ce cas, on parle d’imbrication de fonctions. Les fonctions
SOMME sont dites de deuxième niveau, car elles correspondent à des arguments de
la fonction SI.
Une fonction imbriquée dans la fonction SOMME serait une fonction de troisième
niveau, etc. Une formule peut contenir jusqu’à 64 niveaux d’imbrication. Lorsqu’une
fonction imbriquée est utilisée comme argument, elle doit renvoyer le type de valeur
de ce dernier.
45
IV.3. Connaître les différentes catégories de fonctions
Les fonctions d’Excel sont regroupées par catégories. Cela facilite leur recherche à
l’aide de la boîte de dialogue Insérer une fonction. Nous allons à présent revenir un
peu plus en détail sur ces catégories.
IV.3.1. Les fonctions de recherche et de référence
Les fonctions de recherche et de référence ont pour objectif de traiter des
problématiques telles que la détermination des adresses de cellules, la recherche de
données dans des plages de cellules, le choix de valeurs parmi plusieurs possibilités,
etc.
a. Les fonctions de texte
Bien qu’Excel soit avant tout dédié à la manipulation des chiffres, ce logiciel dispose
d’un nombre important de fonctions destinées à traiter les chaînes de caractères,
autrement dit le texte. Ces fonctions permettent entre autres de rechercher un mot
dans un texte plus long, de tronquer une chaîne de caractères, de convertir du texte
en nombre et réciproquement, etc.
b. Les fonctions de date et d’heure
Les fonctions de date et d’heure sont principalement centrées sur la conversion de
texte en numéros de séries, de numéros de séries en dates, et sur la récupération des
éléments d’une date (année, mois, jour, heure, minute, seconde).
Des fonctions permettent également de gérer les intervalles de temps, en jours
calendaires ou en jours ouvrés.
c. Les fonctions logiques
Ces fonctions permettent de rendre « intelligentes » des feuilles de calcul, sans
recours aux macros, plus complexes à mettre en œuvre. Bien entendu, cette «
intelligence » est assez primitive, mais elle permet de créer une feuille de calcul
adaptable et réactive à certains résultats de calcul.
La fonction la plus connue est évidemment SI, qui permet de choisir le contenu d’une
cellule en fonction du résultat d’un test logique. Pour effectuer ces tests logiques,
vous pouvez faire appel aux fonctions ET, OU et NON.
d. Les fonctions d’information
Ces fonctions permettent d’obtenir des informations sur le contenu des cellules, par
exemple de déterminer si une cellule est vide, si elle contient du texte, un message
d’erreur, etc.
e. Les fonctions de base de données
Ces fonctions permettent de manipuler des tableaux de données pour en extraire
des valeurs particulières, faire des calculs de moyenne, etc.
46
f. Les fonctions mathématiques
Plusieurs sortes de fonctions mathématiques sont disponibles :
▪ les fonctions trigonométriques : sinus, cosinus, tangente et fonctions
réciproques ;
▪ les fonctions hyperboliques : sinus hyperbolique, cosinus hyperbolique,
tangente hyperbolique et fonctions réciproques ;
▪ les fonctions logarithmiques et de puissance ;
▪ les fonctions d’arrondi ;
▪ les fonctions liées aux matrices.
g. Les fonctions statistiques
Les fonctions statistiques constituent l’un des groupes de fonctions les plus étoffés
d’Excel. On peut les subdiviser en trois sous-groupes :
▪ les fonctions de statistique descriptive ;
▪ les fonctions de régression ;
▪ les fonctions relatives aux lois de probabilités.
h. Les fonctions de statistique descriptive
Les fonctions de statistique descriptive permettent de caractériser, de décrire une
série de données, notamment selon des caractéristiques de valeur centrale et de
dispersion. Les caractéristiques dites de valeur centrale sont le mode, la médiane, la
moyenne (arithmétique, harmonique ou géométrique). Les caractéristiques de
dispersion sont les centiles, l’écart type et la variance.
i. Les fonctions de régression
Les fonctions de régression permettent de modéliser une série de données à l’aide
d’une courbe dont l’équation est connue. Excel propose de modéliser à l’aide de
droite ou de courbes exponentielles. La qualité de la modélisation est fournie par le
coefficient de corrélation. Plus ce dernier est proche de 1 (ou de -1), meilleure est la
qualité de la modélisation.
L’intérêt de cette modélisation est de pouvoir estimer les valeurs de points de la série
qui n’ont pas été mesurés. Par exemple, s’il s’agit d’une série de données
chronologiques, il est possible d’estimer les valeurs futures de cette série. Dans ce
cas, on fait l’hypothèse que le « futur se comportera comme le passé », ce qui est de
moins en moins vrai !
j. Les lois de probabilités
Les lois de probabilités sont fondées sur le concept de variable aléatoire. Une
variable aléatoire est une variable dont toutes les valeurs possibles sont connues et
ces valeurs sont telles qu’il est possible d’attacher à chacune une probabilité de
réalisation connue.
47
Une distinction est faite entre les variables aléatoires discrètes (qui ne prennent que
des valeurs entières) et les variables aléatoires continues (qui peuvent prendre
toutes les valeurs réelles dans un intervalle).
Prenons un exemple simple pour illustrer ce concept. Considérons une loterie dont
le règlement prévoit que cent billets sont mis en vente :
▪ Un billet recevra le gros lot de 10 000 francs.
▪ Quatre billets donneront droit, chacun, à 1 000 francs.
▪ Dix billets recevront un lot de 500 francs.
▪ Vingt billets donneront droit, chacun, à 100 francs.
▪ Les autres billets (65) seront des billets perdants.
Un joueur achète un billet. Il peut ne recevoir aucun lot, ou recevoir un lot de 100
francs, de 500 francs, de 1 000 francs ou de 10 000 francs. Le montant est une variable
aléatoire, dont il est très facile de calculer la probabilité associée :
Calcul des probabilités associées à chaque valeur de lot
Montant du lot Probabilité
0 0,65
100 0,20
500 0,10
1000 0,04
10 000 0,01
Ce tableau constitue la loi de probabilité de notre variable aléatoire discrète.
Une loi de probabilité associe à une valeur d’une variable aléatoire, sa probabilité
d’occurrence. La fonction de répartition d’une variable aléatoire donne les
probabilités cumulées, c’est-à-dire, pour une valeur donnée, la probabilité d’obtenir
une valeur (dans notre cas, un gain) inférieure ou égale à cette valeur.
Calcul des probabilités cumulées associées à chaque valeur de lot
Montant du lot Probabilité
0 0,65
100 0,85
500 0,95
1000 0,99
10 000 1,00

Dans les fonctions traitant des lois de probabilités, le paramètre logique cumulative
permet de passer de la loi de probabilité (FAUX) à la fonction de répartition (VRAI).
k. Les fonctions financières
Les fonctions financières assurent trois types de calculs principaux :
▪ les calculs d’amortissement ;
48
▪ les calculs liés aux emprunts ;
▪ les calculs liés aux valeurs mobilières de placement.
l. Les fonctions d’ingénierie
Il existe deux grands types de fonctions scientifiques :
▪ les calculs sur les nombres complexes ;
▪ les fonctions de conversion entre les bases.
Nombres complexes
Les nombres complexes sont de la forme z = x + y i, où x et y sont des réels et i est le
nombre tel que i2 = −1.
Un nombre complexe peut être exprimé en coordonnées rectangulaires, comme
précédemment. x est la partie réelle et y la partie imaginaire. Il peut également être
exprimé en coordonnées polaires, de la forme |z| (cosθ + i sinθ), où |z| représente le
module du nombre complexe et θ son argument :
|z|=racine carrée de (x2+y2)
θ=Atan(y/x)
Les fonctions concernant les nombres complexes permettent d’effectuer des
opérations courantes (addition, soustraction, multiplication, division), mais
également des opérations réservées aux nombres complexes (calcul du module, de
l’argument, du conjugué…).
Conversions entre les bases
Dans la vie quotidienne, nous utilisons de façon implicite des nombres en base 10. Il
existe d’autres bases pour exprimer les nombres. Les fonctions de conversion entre
les bases traitent de la base 2 (binaire), 8 (octale), 16 (hexadécimale) et bien sûr de
la base 10 (décimale), qui sont toutes, en particulier la binaire, très utilisées en
électronique et en informatique. Le principe de représentation d’un nombre dans
une base donnée repose sur les puissances croissantes de cette base. Prenons
l’exemple de la base 10. Le nombre 256 peut s’écrire : 2 × 102 + 5 × 101 + 6 × 100. En
base 2, le principe est identique. Ainsi le nombre 110 correspond en fait à 1 × 22 + 1 ×
21 + 0 × 20, soit 6 en base 10.
49
Chapitre V. Utiliser la fonction si
S’il existait un palmarès des fonctions les plus utilisées, la fonction SI y figurerait en
bonne place ! Elle n’est pas à proprement parler une fonction de calcul : il s’agit en
fait d’une fonction logique qui permet de faire un choix entre deux hypothèses, en
fonction d’une expression logique (ou booléenne). Une expression logique peut
prendre seulement deux valeurs : VRAI ou FAUX.
Les formules utilisant la fonction SI sont appelées « formules conditionnelles ». Elles
permettent de rendre « intelligentes » vos feuilles de calcul. Cette « intelligence » est
toute relative, il s’agit plutôt de rendre vos feuilles de calcul réactives à certaines
valeurs. Par exemple, vous pouvez afficher un message si un montant de facture est
supérieur à un plafond, vous pouvez autoriser un calcul seulement si les paramètres
demandés sont corrects pour éviter l’apparition de message d’erreur… Les
possibilités sont quasi illimitées.
Vous pouvez par ailleurs élaborer des critères plus complexes et plus fins en utilisant
les opérateurs ET et OU.
V.1. Découvrir la fonction
Une formule utilisant la fonction SI (ou formule conditionnelle) se présente de la
façon suivante : =SI(Test; Expression si Test=VRAI; Expression si Test=FAUX)
▪ Test est une expression logique. Une expression logique compte au moins un
opérateur logique et deux opérandes.
Les opérateurs logiques
Opérateur logique Signification
= Égal à
> Supérieur à
>= Supérieur ou égal à
< Inférieur à
<= Inférieur ou égal à
<> Différent de
▪ Expression si Test=VRAI est une formule qui peut contenir des fonctions (y
compris une autre fonction SI), des calculs, une chaîne de caractères… Cette
formule sera utilisée dans la cellule contenant la fonction SI si Test est égal à
VRAI.
▪ Expression si Test=FAUX est une formule qui peut contenir des fonctions (y
compris une autre fonction SI), des calculs, une chaîne de caractères… Cette
formule sera utilisée dans la cellule contenant la fonction SI si Test est égal à
FAUX.
50
V.2. Élaborer des formules simples
Nous allons examiner quelques cas simples d’utilisation de la fonction SI. Il s’agit de
situations classiques que vous rencontrerez probablement lors de l’élaboration de
vos feuilles de calcul.
V.2.1. Afficher un message fixe si une condition est remplie
Supposons que vous utilisiez une feuille de calcul dans laquelle sont stockées des
données relatives aux ventes mensuelles de produits. Dans la colonne B se trouvent
les ventes de l’année 2004 et dans la colonne C se trouvent les ventes de l’année
2005. Dans la colonne D, il s’agit d’afficher le message En progression si les ventes de
2005 sont supérieures à celles de 2004. La formule à saisir en D4 est la suivante :
=SI(C4>B4;"En progression";"")
Ensuite, étendez-la, à l’aide de la poignée de recopie, jusqu’à la fin du tableau.

V.2.2. Afficher un message variable si une condition est remplie


Il est possible d’améliorer l’exemple précédent en faisant en sorte que le message
affiché indique la valeur de la progression du chiffre d’affaires. Pour cela, il suffit de
juxtaposer une chaîne de caractères et une formule de calcul à l’aide de l’opérateur
de concaténation (&).
La formule à saisir en D4 est la suivante : =SI(C4>B4;"En progression de "&(C4-B4)&"
";"")
Ensuite étendez-la, à l’aide de la poignée de recopie, jusqu’à la fin du tableau.
51
V.2.3. Intégrer le résultat d’une formule conditionnelle dans une expression
Il est possible d’intégrer le résultat d’une fonction dans une autre expression. Ainsi,
si le résultat d’une entreprise se trouve en B5 et que vous souhaitiez indiquer « en
clair » en B7 qu’il s’agit d’une perte ou d’un bénéfice, la formule est la suivante :
="L’entreprise a réalisé "&SI(B5>0;"un bénéfice de "&B5&" "; "une perte de "&-B5&"
")

V.2.4. Faire un test sur une chaîne de caractères


Il est possible d’élaborer une formule conditionnelle fondée sur un test mettant en
jeu des valeurs numériques, mais aussi des chaînes de caractères.
Pour illustrer cette possibilité, nous allons utiliser une feuille de calcul listant des
factures. Dans la colonne A se trouve le nom du fournisseur, dans la colonne B, le
numéro de la facture, dans la colonne C, la date d’échéance et enfin, dans la colonne
D, le montant. La formule conditionnelle suivante, à saisir en E4, permet de mettre
en évidence les factures d’un fournisseur particulier : =SI(A4="durand";"A surveiller";
"OK").

Dans les formules, les chaînes de caractères doivent être saisies entre guillemets.
Il est possible d’utiliser les opérateurs > et < avec des chaînes de caractères. Par
exemple "ABC"<"ABD" donne le résultat VRAI. En effet, Excel utilise l’ordre
52
alphabétique pour comparer des chaînes de caractères. Dans ce cas, il n’y a pas de
distinction entre les majuscules et les minuscules.
V.2.5. Faire un test sur une date
Les dates servent fréquemment de critères de test. En effet, il n’est pas rare d’avoir
à contrôler le dépassement d’un délai, l’occurrence d’une date précise. Pour cela, il
est possible d’utiliser une formule conditionnelle fondée sur un test mettant en jeu
des dates. Par exemple, si dans la liste de factures, vous souhaitez mettre en
évidence celles qui arrivent à échéance avant le 30/11/ 2019, il faut faire un test sur la
date d’échéance afin de déterminer si elle est supérieure ou inférieure au 30/11/2019.
La formule à saisir en E4 est la suivante : =SI(C4<DATE(2020;11;30);"A surveiller";
"OK")

Notez l’emploi de la fonction DATE(année; mois; jour) pour indiquer une date
précise. Si vous écriviez C4<30/11/2009, Excel interpréterait l’expression 30/11/2009
comme « 30 divisé par 11, le tout divisé par 2009 », soit environ 0,00135753 !
V.2.6. Éviter l’affichage d’un message d’erreur
Une formule conditionnelle peut également servir à éviter l’affichage de messages
d’erreur tels que #DIV/0!, qui polluent bien souvent les feuilles de calcul. Pour cela, il
suffit de tester, par exemple, que le diviseur d’une formule (quand elle en contient
un) est différent de 0. Nous utiliserons l’exemple classique du calcul de la progression
de chiffres d’affaires annuels de différents produits. Pour les nouveaux produits,
nous ne disposons pas de valeur relative à l’année précédente, d’où l’apparition du
fameux message d’erreur.
Pour remédier à cela, utilisez la formule conditionnelle suivante : =SI(B4<>0;C4/B4-
1;"N.S.")
53

V.2.7. Inclure une formule dans la condition


Afin d’étendre les possibilités des formules conditionnelles, il est possible d’inclure
des formules et des fonctions dans les critères de test. Supposons que vous
souhaitiez mettre en exergue, parmi une liste de produits, ceux dont le chiffre
d’affaires est supérieur à la moyenne. Il faut inclure dans le test la moyenne des
chiffres d’affaires, ce qui est possible à l’aide de la fonction MOYENNE.
Si les valeurs à tester se trouvent dans la plage B4:B15, la formule à saisir en C4 est la
suivante : =SI(B4>MOYENNE($B$4:$B$15);"Supérieur à la moyenne";"")

Notez l’utilisation de références absolues comme arguments de la fonction


MOYENNE. En effet, il est nécessaire de faire référence à la même plage, quelle que
soit la ligne du tableau.
V.2.8. Compter le nombre de valeurs différentes dans une plage de cellules triées
Si vous disposez d’une liste de valeurs (réponses à un questionnaire, notes à un
examen…), il est souvent intéressant de connaître le nombre d’occurrences de
chacune d’entre elles et le nombre de valeurs différentes. Par exemple, la liste (1, 1,
2, 2, 2, 3) compte deux 1, trois 2 et un 3 et se compose de trois valeurs différentes : 1,
2 et 3.
54
Une fois que vous avez trié la liste de valeurs (se trouvant dans les cellules A4 et
suivantes), saisissez la formule qui suit en B4 : =SI(A4=A5;0;1)
Ensuite, faites le total de la colonne B4 pour obtenir le nombre de valeurs différentes.

Le principe de cette formule est simple : chaque fois qu’une cellule contient la même
valeur que celle située immédiatement en dessous, on compte 0, car il ne s’agit pas
d’une nouvelle valeur. Si la cellule contient une valeur différente de celle située en
dessous, on compte 1, ce qui correspond à une nouvelle valeur. Pour que cette
formule fonctionne, il est impératif que la liste de valeurs soit triée.
V.3. Utiliser les opérateurs ET et OU
Il faut parfois combiner plusieurs tests logiques pour modéliser une situation « réelle
». Par exemple, supposons que, dans un fichier client, vous souhaitiez faire un
traitement particulier pour les hommes de plus de 45 ans dont le salaire est supérieur
à 2000 francs. La formule conditionnelle à créer est fondée sur l’expression suivante
: Sexe = "H" ET Âge > 45 ET Salaire > 2 000.
De même, si vous souhaitez mettre en exergue les femmes exerçant le métier de
vendeuse ou de comptable, la formule conditionnelle à développer est fondée sur
l’expression suivante : Sexe = "F" ET (Profession = "Vendeuse" OU Profession =
"Comptable").
Il s’agit en fait de combiner les différentes expressions logiques unitaires (du type A
= B, A < B, A > B…), à l’aide de deux opérateurs logiques : ET et OU.
V.3.1. L’opérateur ET
55
L’opérateur ET renvoie FAUX si l’un des arguments est faux.
Valeurs renvoyées par l’opérateur ET
A B A ET B
FAUX FAUX FAUX
FAUX VRAI FAUX
VRAI FAUX FAUX
VRAI VRAI VRAI
L’un des arguments peut être lui-même une formule faisant intervenir des
opérateurs logiques ET et OU. Dans Excel, c’est la fonction ET qui permet de mettre
en œuvre l’opérateur logique ET.
ET : renvoie VRAI si tous les arguments sont VRAI, et FAUX si au moins l’un des
arguments est FAUX.
Syntaxe : ET(valeur_logique1;valeur_logique2;…)
valeur_logique1, valeur_logique2... 1 à 255 conditions que vous souhaitez tester et qui
peuvent être soit VRAI, soit FAUX.
La fonction ET obéit aux règles globales des fonctions Excel, à savoir l’utilisation
d’arguments entre parenthèses, séparés par des points-virgules.
Ainsi, le premier exemple, Sexe = "M" ET Âge > 45 ET Salaire > 2000, s’écrit en fait :
ET(Sexe="M"; Age>45; Salaire>2000)

V.3.2. L’opérateur OU
L’opérateur OU renvoie VRAI si l’un des arguments est vrai.
Valeurs renvoyées par l’opérateur OU
A B A OU B
FAUX FAUX FAUX
FAUX VRAI VRAI
VRAI FAUX VRAI
56
VRAI VRAI VRAI
L’un des arguments peut être lui-même une formule faisant intervenir des
opérateurs logiques ET et OU. Dans Excel, c’est la fonction OU qui permet de mettre
en œuvre l’opérateur logique OU.
OU : renvoie la valeur VRAI si un argument est VRAI, et FAUX si tous les arguments
sont FAUX.
Syntaxe : OU(valeur_logique1; valeur_logique2 ;…)
valeur_logique1, valeur_logique2... 1 à 255 conditions que vous souhaitez tester et qui
peuvent être soit VRAI, soit FAUX.
La fonction OU obéit aux règles globales des fonctions Excel, à savoir l’utilisation
d’arguments entre parenthèses, séparés par des points-virgules.
Le deuxième exemple, Sexe = "F" ET (Profession = "Commercial" OU Profession =
"Comptable"), s’écrit en fait : ET(Sexe="F"; OU (Profession = "Commercial" ;
Profession= "Comptable")).
Notez au passage l’imbrication des fonctions ET et OU.

V.3.3. L’opérateur NON


L’opérateur NON renvoie la valeur inverse de son argument. Dans certains cas, il est
plus facile de définir une condition « positive » et de prendre son inverse que de
définir d’emblée la condition « négative ».
Valeurs renvoyées par l’opérateur NON
A NON A
FAUX VRAI
VRAI FAUX
L’un des arguments peut lui-même être une formule faisant intervenir des
opérateurs logiques ET et OU. Dans Excel, c’est la fonction NON qui permet de
mettre en œuvre l’opérateur logique NON.
57
NON : inverse la valeur logique de l’argument.
Syntaxe : NON(valeur_logique)
valeur_logique : Valeur ou expression qui peut prendre la valeur VRAI ou FAUX.
V.3.4. Quelques informations complémentaires sur les tests logiques
Nous allons à présent expliquer comment simplifier certains tests et mettre en
œuvre un opérateur moins connu (le « OU exclusif » ou XOR).
Voici quelques équivalences classiques qui vous permettront de simplifier vos tests
logiques :
Équivalences classiques
Expressions littérales Expressions selon la syntaxe des fonctions Excel
NON(A) OU NON(B) = NON(A ET B) OU(NON(A);NON(B)) = NON(ET(A;B))
NON(A) ET NON(B) = NON(A OU B) ET(NON(A);NON(B)) = NON(OU(A;B))
(A ET B) OU (A ET C) = A ET (B OU C) OU(ET(A;B);ET(A;C)) = ET(A;OU(B; C))
(A OU B) ET (A OU C) = A OU (B ET C) ET(OU(A;B);OU(A;C)) = OU(A;ET(B;C))
V.3.5. L’opérateur OU exclusif
Pour obtenir l’opérateur « OU exclusif », noté XOR, il faut combiner les opérateurs
ET et OU. L’opérateur logique XOR se comporte de la façon suivante :
Valeurs renvoyées par l’opérateur XOR
A B A XOR B
FAUX FAUX FAUX
FAUX VRAI VRAI
VRAI FAUX VRAI
VRAI VRAI FAUX
La différence avec l’opérateur OU réside dans la nécessité de n’avoir que l’un ou
l’autre (mais pas les deux) des arguments avec une valeur VRAI.
A XOR B peut s’écrire (A ET NON(B)) OU (NON(A) ET B) soit, avec la syntaxe Excel :
OU(ET(A;NON(B));ET(NON(A);B))
V.4. Imbriquer plusieurs fonctions SI
Les formules conditionnelles utilisées jusqu’à présent sont à « un niveau », c’est-à-
dire que le résultat est fonction d’un seul test, aussi compliqué soit-il. Cela dit,
certaines problématiques nécessitent l’élaboration de véritables arbres de décisions,
du type :
Si condition1 alors
Si condition2 alors
Si condition3 alors
Action1
Sinon
58
Action2
Sinon
Si condition4 alors
Action3
Sinon
Action4
Sinon
Si condition5 alors
Si condition6 alors
Action5
Sinon
Action6
Sinon
Si condition7 alors
Action7
Sinon
Action8
Il s’agit en fait d’imbriquer des fonctions SI, de façon à mettre en place chacun des «
embranchements » de l’arbre de décisions. Les arguments de la première fonction SI
sont eux-mêmes des fonctions SI, dont les arguments sont à leur tour des fonctions
SI.
Nous avons ici affaire à une imbrication à trois niveaux, qui se matérialise de la façon
suivante avec la syntaxe Excel : =SI(condition1; SI(condition2; SI(condition3; Action1;
Action2); SI(condition4; Action3; Action4)); SI(condition5; SI(condition6; Action5;
Action6); SI(condition7; Action7; Action8)))
Il est possible d’imbriquer jusqu’à 64 niveaux de test SI. Autant dire que certaines
formules peuvent être illisibles !
V.4.1. Limiter la taille des formules
Dans certains cas, les alternatives proposées dans un test SI diffèrent très
légèrement (la valeur d’un coefficient par exemple). Afin d’éviter d’alourdir la saisie
des formules et de contribuer à leur meilleure lisibilité, il est préférable de n’inclure
dans le test que la partie conditionnelle de la formule.
Prenons un exemple. Supposons qu’une formule de calcul soit conditionnée par le
contenu de la cellule A23. Si le contenu de A23 est inférieur ou égal à 100, la formule
est B23*(C23−D23)*0,5. Sinon, la formule est B23*(C23−D23)*0.75. Une première
approche (qui donne un résultat correct) est : =SI(A23<=100 ;B23 * (C23-D23) *
0.5;B23 * (C23-D23) * 0.75)
Voici une autre possibilité, plus concise : =B23*(C23-D23) * SI(A23<=100 ; 0.5 ; 0.75)
Un autre cas fréquent est le traitement de paramètres multiples. Supposons que,
dans vos calculs, vous fassiez appel à deux paramètres stockés dans les colonnes A
et B. Si le premier est égal à A, le coefficient sur la colonne C est de 1,05, sinon il est
59
de 1,02. Si le second est inférieur à 1 500, le coefficient sur la colonne D est de 3, sinon
il est de 2. Le tableau suivant résume l’impact de ces paramètres.
Exemple de traitements de plusieurs paramètres
Colonne A Colonne B (paramètre 2) Formule
(paramètre 1)
A 1000 Colonne C*1,05+Colonne D*3
A 2000 Colonne C*1,05+Colonne D*2
B 1000 Colonne C*1,02+Colonne D*3
B 2000 Colonne C*1,02+Colonne D*2
La formule en E5 peut s’écrire :
=SI(A5="A";SI(B5<1500;C5*1,05+D5*3;C5*1,05+D5*2);
SI(B5<1500;C5*1,02+D5*3;C5*1,02+D5*2))
Une méthode plus concise consiste à scinder la formule en deux parties, chacune des
deux tenant compte de l’impact de chaque paramètre :
=SI(A5="A";1,05;1,02)*C5+SI(B5<1500;3;2)*D5
Les résultats sont identiques, mais la deuxième version est beaucoup plus élégante.
V.5. Découvrir la fonction CHOISIR
La fonction CHOISIR peut constituer, dans certains cas précis, une solution plus
élégante que l’imbrication de fonctions SI. En effet, la fonction CHOISIR permet de
sélectionner une valeur dans une liste, en fonction d’un numéro.
CHOISIR
Utilise l’argument no_index pour renvoyer une des valeurs de la liste des arguments
de valeurs. Utilisez la fonction CHOISIR pour sélectionner l’une des 29 valeurs
possibles à partir du rang donné par l’argument no_index.
Syntaxe : CHOISIR(no_index;valeur1;valeur2;…)
no_index Spécifie quel argument de valeur doit être sélectionné. L’argument
no_index doit être un nombre compris entre 1 et 29, une
formule ou une référence à une cellule contenant un nombre
compris entre 1 et 29.
valeur1, valeur2… De 1 à 255 arguments de valeurs parmi lesquels CHOISIR
sélectionne une valeur ou une action à exécuter en fonction
de l’argument no_index spécifié. Ces arguments peuvent être
des nombres, des références de cellules, des noms définis,
des formules, des fonctions ou du texte.
Pour illustrer simplement l’emploi de cette fonction, supposons que vous souhaitiez
afficher en toutes lettres le jour de la semaine à partir de son numéro (1 = Lundi, 2 =
Mardi…). Si le numéro du jour se trouve en B3, vous pouvez écrire en C3 :
60
=CHOISIR(B3; "Lundi"; "Mardi"; "Mercredi"; "Jeudi"; "Vendredi"; "Samedi";
"Dimanche")
Si vous saisissez un numéro inférieur à 1 ou supérieur à 7, le message d’erreur
#VALEUR! apparaît en C3.

Il est possible d’utiliser des références à des plages de cellules en guise d’arguments.
Ainsi, supposons que vous disposiez des chiffres d’affaires mensuels d’une
entreprise dans la plage B2:B13 et que vous souhaitiez afficher (en D5) les chiffres
d’affaires trimestriels à la demande (en fonction du numéro du trimestre se trouvant
en D2). La formule en D5 est la suivante :
=SOMME(CHOISIR(D2;B2:B4;B5:B7;B8:B10;B11:B13)).
Dans ce cas, CHOISIR renvoie une plage, qui est à son tour un argument pour la
fonction SOMME.
61
Chapitre VI. Calculer et dénombrer
Excel est un puissant outil de calcul. Il dispose en effet d’une large palette de
fonctions pour réaliser toutes sortes de calculs (techniques, scientifiques,
statistiques…), des plus simples aux plus complexes.
Une problématique courante consiste à dénombrer (compter) des cellules
respectant divers critères : supérieures à un seuil, ne contenant pas de données… Ici
aussi, Excel est doté d’outils adaptés ! Nous débuterons ce chapitre par la découverte
de fonctions essentielles. Puis, nous décrirons plus en détail les solutions à des
problématiques courantes.
VI.1. Découvrir les fonctions indispensables
Nous allons tout d’abord passer en revue les fonctions essentielles. Elles se divisent
en trois catégories :
✓ les fonctions de calcul ;
✓ les fonctions d’arrondi ;
✓ les fonctions de comptage.
Chacune d’elles est illustrée par un exemple simple.
VI.1.1. Fonctions de calcul
Il s’agit de fonctions permettant de faire des calculs simples (somme, moyenne),
mais également de réaliser des traitements statistiques plus complexes.
[Link]
Renvoie la ke plus grande valeur d’une série de données.
Syntaxe : [Link](matrice; k)
matrice : Matrice ou plage de données dans laquelle vous recherchez la ke plus
grande valeur.
k : Rang de la donnée à renvoyer, déterminé à partir de la valeur la plus grande.
MAX
Renvoie le plus grand nombre de la série de valeurs.
Syntaxe : MAX(nombre1;nombre2;…)
nombre1;nombre2… : 1 à 255 nombres parmi lesquels vous souhaitez trouver la
valeur la plus grande.
MEDIANE
Renvoie la valeur médiane des nombres. La médiane est la valeur qui se trouve au
centre d’un ensemble de nombres. En d’autres termes, les nombres appartenant à la
première moitié de l’ensemble ont une valeur inférieure à la médiane, tandis que
ceux appartenant à l’autre moitié ont une valeur supérieure à la médiane.
62
Syntaxe : MEDIANE(nombre1;nombre2;…)
nombre1;nombre2… : 1 à 255 nombres dont vous souhaitez obtenir la médiane.
MIN
Renvoie le plus petit nombre de la série de valeurs.
Syntaxe : MIN(nombre1;nombre2;…)
nombre1;nombre2… : 1 à 255 nombres parmi lesquels vous souhaitez trouver la
valeur minimale.
MOD
Renvoie le reste de la division de l’argument nombre par l’argument diviseur. Le
résultat est du même signe que diviseur.
Syntaxe : MOD(nombre;diviseur)
nombre : Nombre à diviser pour obtenir le reste.
Diviseur : Nombre par lequel vous souhaitez diviser nombre.
MODE
Renvoie la valeur la plus fréquente ou la plus répétitive dans une matrice ou une
plage de données.
Syntaxe : MODE(nombre1;nombre2;…)
nombre1;nombre2… : 1 à 255 arguments dont vous souhaitez déterminer le mode.
Vous pouvez également utiliser une matrice unique ou
une référence à une matrice, au lieu d’arguments séparés
par des points-virgules.
MOYENNE
Renvoie la moyenne (arithmétique) des arguments.
Syntaxe : MOYENNE(nombre1;nombre2;…)
nombre1;nombre2… : 1 à 255 arguments numériques dont vous voulez obtenir la
moyenne.
[Link]
Renvoie la moyenne géométrique d’une matrice ou d’une plage de données
positives.
Syntaxe : [Link](nombre1;nombre2;…)
nombre1;nombre2… : 1 à 255 arguments dont vous souhaitez calculer la moyenne.
Vous pouvez aussi utiliser une matrice ou une référence à
une matrice plutôt que des arguments séparés par des
points-virgules.
63
[Link]
Renvoie la moyenne harmonique d’une série de données. La moyenne harmonique
est l’inverse de la moyenne arithmétique des inverses des observations.
Syntaxe : [Link](nombre1;nombre2;…)
nombre1;nombre2… : 1 à 255 arguments dont vous souhaitez calculer la moyenne.
Vous pouvez aussi utiliser une matrice ou une référence à
une matrice plutôt que des arguments séparés par des
points-virgules.
[Link]
Renvoie la moyenne de l’« intérieur » d’une série de données. Cette fonction calcule
la moyenne d’une série de données après avoir éliminé un pourcentage
d’observations aux extrémités inférieure et supérieure de la distribution. Vous
pouvez utiliser cette fonction lorsque vous voulez exclure de votre analyse les
observations extrêmes.
Syntaxe : [Link](matrice; pourcentage)
matrice : Matrice ou plage de valeurs à réduire et sur laquelle vous
souhaitez calculer la moyenne.
pourcentage : Nombre fractionnaire d’observations à exclure du calcul.
[Link]
Renvoie la ke plus petite valeur d’une série de données.
Syntaxe : [Link](matrice;k)
matrice : Matrice ou plage de données numériques dans laquelle vous
recherchez la ke plus petite valeur.
k : Rang de la donnée à renvoyer, déterminé à partir de la valeur la plus
petite.
QUOTIENT
Renvoie la partie entière du résultat d’une division. Utilisez cette fonction lorsque
vous voulez ignorer le reste d’une division.
Syntaxe : QUOTIENT(numérateur; dénominateur)
numérateur : Dividende.
dénominateur : Diviseur.
RANG
Renvoie le rang d’un nombre dans une liste d’arguments.
Syntaxe : RANG(nombre; référence; ordre)
nombre : Nombre dont vous voulez connaître le rang.
64
référence : Matrice ou référence à une liste de nombres. Les valeurs non
numériques dans référence sont ignorées.
ordre : Numéro qui spécifie comment déterminer le rang de l’argument
nombre (0 ou omis : ordre croissant ; 1 : ordre décroissant).
[Link]
Renvoie le rang d’une valeur d’une série de données sous forme de pourcentage.
Syntaxe : [Link](matrice; x; précision)
matrice : Matrice ou plage de données de valeurs numériques définissant
l’étendue relative.
x : Valeur dont vous voulez connaître le rang.
précision : Valeur facultative indiquant le nombre de décimales du pourcentage
renvoyé.
SOMME
Additionne tous les nombres contenus dans une plage de cellules.
Syntaxe : SOMME(nombre1;nombre2;…)
nombre1;nombre2… : 1 à 255 arguments dont vous voulez calculer la somme.
[Link]
Additionne des cellules spécifiées si elles répondent à un critère donné.
Syntaxe : [Link](plage; critère; somme_plage)
plage : Plage de cellules sur lesquelles s’applique le critère.
critère : Critère, sous forme de nombre, d’expression ou de texte,
définissant les cellules à additionner.
somme_plage : Cellules à additionner.
VI.1.2. Fonctions d’arrondi
Il s’agit ici de fonctions permettant d’arrondir les résultats de vos calculs en
appliquant plusieurs méthodes.
ARRONDI
Arrondit un nombre au nombre de chiffres indiqué.
Syntaxe : ARRONDI(nombre;no_chiffres)
nombre : Nombre à arrondir.
no_chiffres : Nombre de chiffres auxquels vous voulez arrondir nombre.
[Link]
Donne l’arrondi d’un nombre au multiple spécifié.
65
Syntaxe : [Link](nombre;multiple)
nombre : Nombre à arrondir.
multiple : Multiple auquel vous souhaitez arrondir nombre.
[Link] arrondit en s’éloignant de 0, si le reste de la division de
nombre par multiple est supérieur ou égal à la moitié de la valeur de multiple.
[Link]
Arrondit un nombre en tendant vers 0.
Syntaxe : [Link](nombre;no_chiffres)
nombre : Nombre réel quelconque à arrondir en tendant vers 0.
no_chiffres : Nombre de chiffres à prendre en compte pour arrondir
l’argument nombre.
[Link]
Arrondit un nombre en s’éloignant de 0.
Syntaxe : [Link](nombre;no_chiffres)
nombre : Nombre réel quelconque à arrondir en s’éloignant de 0.
no_chiffres : Nombre de chiffres à prendre en compte pour arrondir
l’argument nombre.
ENT
Arrondit un nombre à l’entier immédiatement inférieur.
Syntaxe : ENT(nombre)
nombre : Nombre réel que vous souhaitez arrondir au nombre entier
immédiatement inférieur.
PLAFOND
Renvoie l’argument nombre après l’avoir arrondi au multiple de l’argument précision
en s’éloignant de 0.
Syntaxe : PLAFOND(nombre; précision)
nombre : Valeur à arrondir.
précision : Multiple auquel vous souhaitez arrondir.
PLANCHER
Arrondit l’argument nombre au multiple de l’argument précision immédiatement
inférieur (tendant vers 0).
Syntaxe : PLANCHER(nombre; précision)
nombre : Valeur à arrondir.
66
précision : Multiple auquel vous souhaitez arrondir.
TRONQUE
Tronque un nombre en supprimant sa partie décimale, de sorte que la valeur
renvoyée par défaut soit un nombre entier.
Syntaxe : TRONQUE(nombre; no_chiffres)
nombre : Nombre à tronquer.
no_chiffres : Nombre de décimales apparaissant à droite de la virgule après
que le chiffre a été tronqué. La valeur par défaut de no_chiffres est
0 (zéro).
VI.1.3. Fonctions de comptage
Ces fonctions sont indispensables si vous devez résoudre des problè- mes de
dénombrement de cellules respectant des critères particuliers.
COLONNES
Renvoie le nombre de colonnes d’une matrice ou d’une référence.
Syntaxe : COLONNES(tableau)
tableau : Formule matricielle, référence d’une plage de cellules ou tableau dans
lequel vous souhaitez compter le nombre de colonnes.
LIGNES
Renvoie le nombre de lignes d’une matrice ou d’une référence.
Syntaxe : LIGNES(tableau)
tableau : Formule matricielle, référence d’une plage de cellules ou tableau dans
lequel vous voulez compter le nombre de lignes.
NB
Détermine le nombre de cellules contenant des nombres et les nombres compris
dans la liste des arguments.
Syntaxe : NB(valeur1;valeur2;…)
valeur1;valeur2… : 1 à 255 arguments qui peuvent contenir ou faire référence à
différents types de données, mais seuls les nombres sont
comptés.
[Link]
Compte le nombre de cellules à l’intérieur d’une plage qui répondent à un critère
donné.
Syntaxe : [Link](plage; critère)
plage : Plage de cellules dans laquelle vous voulez compter les cellules.
67
critère : Critère, exprimé sous forme de nombre, d’expression ou de
texte, qui détermine les cellules à compter.
NBVAL
Compte le nombre de cellules qui ne sont pas vides et les valeurs comprises dans la
liste des arguments.
Syntaxe : NBVAL(valeur1;valeur2;…)
valeur1;valeur2… : 1 à 255 arguments correspondant aux valeurs à compter.
[Link]
Compte le nombre de cellules vides à l’intérieur d’une plage de cellules spécifiée.
Syntaxe : [Link](plage)
plage : Plage dans laquelle vous voulez compter les cellules vides.
VI.2. Faire des calculs
Faire des calculs, des plus simples aux plus ardus, est la vocation première d’Excel.
Nous allons aborder des problématiques classiques auxquelles vous avez sûrement
été confronté : calculer des sommes, des moyennes, faire des calculs en fonction de
critères…
VI.2.1. Calculer une somme
Supposons que vous disposiez d’une feuille de calcul destinée à enregistrer des
factures relatives à un projet. Pour connaître le total des montants des factures
saisies (les montants sont dans la plage E4:E13), saisissez dans n’importe quelle
cellule, la formule suivante :
=SOMME(E4:E13)

Calculer un cumul glissant


Le cumul glissant dans une colonne permet d’obtenir le total des valeurs comprises
entre la ligne courante et la première ligne. Cette approche permet de matérialiser
68
la progression des valeurs. Si les valeurs se trouvent dans la colonne E (à partir de la
cellule E4), saisissez la formule suivante en F4 : =E4
Saisissez-en F5 : =F4+E5
Étendez ensuite le contenu jusqu’à la dernière ligne.

L’inconvénient de cette approche réside dans l’affichage du cumul même s’il n’y a
pas de valeur dans la colonne E. Pour remédier à cela, modifiez la formule se trouvant
en F5 : =SI(E5<>""; F4+E5; "")
Dès que vous saisirez une nouvelle valeur, le cumul apparaîtra dans la ligne
correspondante.

Calculer une moyenne


Pour connaître la moyenne des montants des factures saisies (les montants sont
dans la plage E4:E13), saisissez dans n’importe quelle cellule, la formule suivante :
=MOYENNE(E4:E13)
69
Calculer la somme de cellules respectant des critères
Dans certaines situations, la fonction SOMME n’est pas suffisamment « fine » pour
résoudre un problème. Dans notre exemple de liste de factures, supposons que vous
souhaitiez totaliser les montants supérieurs à 300 francs . Pour ce faire, vous avez
besoin de la fonction [Link], qui permet de calculer une somme de valeurs
respectant certains critères.
La formule est la suivante : =[Link](E4:E13;">300")

En toute rigueur, la fonction [Link] a besoin de trois arguments :


✓ la plage de cellules sur laquelle doit porter le test ;
✓ le test ;
✓ la plage de cellules à totaliser.
Dans ce cas, la plage de cellules à totaliser a été omise car elle est identique à la plage
à tester.
À présent, supposons que vous souhaitiez totaliser les montants des factures du
fournisseur « ABC ». La formule est alors la suivante : =[Link](A4:A13; "ABC";
E4:E13)
Dans ce cas, la plage à tester (les noms des fournisseurs) est différente de la plage à
totaliser. Vous pouvez inclure des caractères génériques dans les tests. Ainsi la
formule suivante totalise les montants des factures des fournisseurs dont le nom
contient la chaîne de caractères « ur », quel que soit son emplacement :
=[Link](A4:A13;"*ur*";E4:E13)
Le caractère * remplace une chaîne de caractères, quelle que soit sa taille. Le
caractère ? remplace un caractère unique. La formule suivante totalise les montants
des factures dont le numéro débute par F13 : =[Link](B4:B13;"F13?";E4:E13)
Enfin, si vous souhaitez utiliser des seuils facilement paramétrables dans vos sommes
conditionnelles, vous pouvez faire référence à des cellules dans les tests. Ainsi la
formule suivante totalise les factures dont le montant est inférieur ou égal au
70
contenu de la cellule H3 : = [Link](E4:E13; "<="&H3). Vous pouvez aussi utiliser
des formules dans les critères : =[Link](E4:E13; ">"&MOYENNE(E4:E13))
La formule précédente totalise les montants supérieurs à moyenne.
VI.2.1. Déterminer la valeur la plus fréquente dans une plage de cellules
Dans le cas de réponses à un questionnaire ou d’un vote à la majorité relative, il est
utile de déterminer la valeur la plus fréquente afin de connaître l’avis dominant. Si les
valeurs se trouvent dans la plage B3:B22, la valeur la plus fréquente est obtenue à
l’aide de la formule suivante :
=MODE(B3:B22)
La fonction MODE ne fonctionne qu’avec des valeurs numériques. Si vos données
sont des chaînes de caractères, il faut leur affecter une codification numérique, sur
le principe du questionnaire à choix multiple.
VI.2.2. Calculer un pourcentage d’évolution
Les pourcentages d’évolution constituent la base des outils d’analyse de tendance.
Ils sont simples à calculer. Pour autant, quelques petits « plus » permettent de rendre
leur calcul et leur affichage plus agréables.
Si vous souhaitez analyser l’évolution de valeurs en colonnes, par exemple en B et en
C, saisissez dans une troisième colonne, ici la D, la formule suivante : =C4/B4-1
Étendez ensuite la formule jusqu’à la fin du tableau.
Si une valeur est nulle dans la première colonne, le message d’erreur #DIV/0!
apparaît. De plus, si toutes les valeurs n’ont pas été saisies, il n’est pas souhaitable
d’effectuer le calcul. La formule suivante tient compte de ces deux remarques :
=SI(ET(B4<>0;C4<>"");C4/B4-1;"N.S.")
VI.2.3. Afficher les plus grandes valeurs
Lorsqu’il s’agit d’analyser des données, il est intéressant de pouvoir isoler les plus
grandes valeurs. Commençons par mettre en avant les trois plus grandes valeurs
d’une plage de cellules.
Si les données se trouvent dans la plage C4:C15, les trois formules suivantes
permettent d’afficher respectivement la plus grande valeur, la deuxième plus grande
valeur et la troisième plus grande valeur :
=[Link](C4:C15;1)
=[Link](C4:C15;2)
=[Link](C4:C15;3)
Si vous souhaitez faire varier le nombre de valeurs affichées en fonction d’un
paramètre se trouvant dans une autre cellule (G2), voici la formule à saisir en F4 :
=SI((LIGNE()-3)<=$G$2;[Link]($C$4:$C$15;LIGNE()-3);"")
71
En fonction de la valeur de G2, vous pouvez afficher plus ou moins de valeurs.
L’utilisation de LIGNE(), qui renvoie le numéro de la ligne courante, permet de créer
une formule que vous pouvez étendre à l’ensemble de la colonne. En effet,
LIGNE()−3 vaut 1 en F4, 2 en F5, 3 en F6… ce qui permet de calculer l’ordre de la valeur
à afficher.
VI.2.4. Arrondir des valeurs
Les résultats « bruts » fournis par Excel ne sont pas toujours pertinents. En effet, si
votre calcul vous indique que vous devez acheter 5,69 pots de peinture, la
négociation risque d’être difficile avec le fournisseur pour le 0,69 ! Cet exemple
montre la nécessité d’avoir recours à des fonctions d’arrondi.
Quelques exemples de fonctions d’arrondi
Formule Résultat Commentaire
=ARRONDI(1255,75;1) 1255,8 Arrondit au dixième le plus proche.
=ARRONDI(1255,75;0) 1256 Arrondit à l’unité la plus proche.
=ARRONDI(1255,75; −1) 1260 Arrondit à la dizaine la plus proche (-2 : à la centaine ; -3
: au millier…)
=[Link](1255,75;1) 1255,7 Arrondit au dixième inférieur.
=[Link](1255,75;0) 1255 Arrondit à l’unité inférieure.
=[Link](1255,75;−1) 1250 Arrondit à la dizaine inférieure (-2 : à la centaine ; -3 : au
millier…).
=[Link](1255,72;1) 1255,8 Arrondit au dixième supérieur.
=[Link](1255,25;0) 1256 Arrondit à l’unité supérieure.
=[Link](1254,75;−1) 1260 Arrondit à la dizaine supérieure (-2 : à la centaine ; -3 :
au millier…).
=[Link](1255,75;3) 1257 Arrondit au plus proche multiple de 3.
=ENT(1255,25) 1255 Calcule la partie entière (entier relatif immédiatement
inférieur).
=ENT(−1255,75) −1256 Calcule la partie entière (entier relatif immédiatement
inférieur).
=PLAFOND(1255,73; 0,05) 1255,75 Arrondit au multiple de 0,05 immédiatement supérieur.
=PLAFOND(1255,73;3) 1257 Arrondit au multiple de 3 immédiatement supérieur.
=PLANCHER(1255,73; 0,05) 1255,7 Arrondit au multiple de 0,05 immédiatement inférieur.
=PLANCHER(1255,73;3) 1254 Arrondit au multiple de 3 immédiatement inférieur.
=TRONQUE(1255,25) 1255 Élimine la partie décimale.
=TRONQUE(−1255,25) −1255 Élimine la partie décimale (voir la différence avec la
partie entière).

VI.3. Dénombrer des cellules


Afin d’analyser le contenu d’une feuille de calcul, il est souvent intéressant de
compter les cellules qui respectent certains critères : cellules vides, non vides,
contenant des valeurs numériques, du texte… Excel dispose de plusieurs fonctions
qui vous seront utiles pour mener à bien cette tâche.
VI.3.1. Compter les cellules vides
Pour compter les cellules vides dans une plage de cellules (ici B4:C15), saisissez la
formule suivante : =[Link](B4:C15)
72
Pour comptabiliser les cellules vides dans une colonne (la B, par exemple), saisissez
la formule suivante : =[Link](B:B)
Pour un comptage au niveau des lignes (1à 3 par exemple), saisissez la formule
suivante : =[Link](1:3)
VI.3.2. Compter les cellules non vides
Pour compter les cellules non vides dans une plage de cellules (ici B4:C15), saisissez
la formule suivante : =NBVAL(B4:C15)
Pour comptabiliser les cellules non vides dans une colonne (la B, par exemple),
saisissez la formule suivante : =NBVAL(B:B)
Pour un comptage au niveau des lignes (1à 3 par exemple), saisissez la formule
suivante : =NBVAL(1:3)
VI.3.3. Compter les cellules contenant des valeurs numériques
Pour compter les cellules contenant des valeurs numériques dans une plage de
cellules (ici B4:C15), saisissez la formule suivante : =NB(B4:C15)
Pour comptabiliser les cellules contenant des valeurs numériques dans une colonne
(la B, par exemple), saisissez la formule suivante : =NB(B:B)
Pour un comptage au niveau des lignes (1à 3, par exemple), saisissez la formule
suivante : =NB(1:3) Les dates sont considérées comme des valeurs numériques.
VI.3.4. Compter les cellules contenant du texte
Pour compter les cellules contenant du texte dans une plage de cellules (ici B4:C15),
saisissez la formule suivante : = NBVAL(B4:C15)-NB(B4:C15)
Il s’agit en fait de retrancher au nombre total de cellules le nombre de cellules
contenant une valeur numérique. Cette formule ne donne pas le bon résultat si des
messages d’erreur sont présents dans la plage : ces derniers sont comptabilisés
comme du texte.
VI.3.5. Compter les cellules contenant une chaîne de caractères
Pour compter les cellules contenant une chaîne de caractères précise (par exemple
test) dans une plage de cellules (ici B4:C15), saisissez la formule suivante :
=[Link](B4:C15;"test")
Vous pouvez utiliser des caractères génériques pour remplacer un ou plusieurs
caractères. La formule suivante comptabilise toutes les cellules qui contiennent
l’expression fact dans la colonne B. =[Link](B:B;"*fact*")
La formule suivante comptabilise toutes les cellules de la colonne B qui contiennent
une chaîne de quatre caractères : =[Link](B:B;"????")
73
VI.3.6. Compter les cellules dont le contenu est supérieur à un seuil
Pour compter les cellules qui contiennent des valeurs supérieures à un seuil, vous
pouvez utiliser la fonction [Link]. Ainsi, la formule suivante permet de compter le
nombre de cellules dont le contenu est supérieur à 200 : =[Link](B4:C15;">200")
Si vous souhaitez fonder le critère sur le contenu d’une cellule (par exemple F2), et
non sur une valeur fixe, la formule à employer est la suivante : =[Link](B4:C15;">"&F2)

Chapitre VII. Exploiter des bases de données


Excel est avant tout un outil de calcul, mais en pratique, il est régulièrement utilisé
en tant que gestionnaire de bases de données (ou tableau de données, selon la
terminologie Excel). Il se montre d’ailleurs relativement à son aise dans cet exercice,
à condition, bien sûr, que la base (tableaux) de données à gérer ne soit pas trop
volumineuse ou trop complexe. Dans cette hypothèse, il vaut mieux se tourner vers
des outils spécialisés tels qu’Access.
Vous allez pouvoir, dans ce chapitre, mettre en œuvre des fonctions qui vous
permettront d’exploiter vos bases de données, soit en recherchant des valeurs, soit
en effectuant des synthèses. Mais avant d’entrer dans le vif du sujet, ouvrons une
petite parenthèse sur la gestion des données sous Excel.
VII.1. Gérer des données avec Excel
Excel n’est pas un véritable outil de gestion de bases de données, comme Access par
exemple. Pour autant, Excel offre de réelles possibilités de traitement et d’analyse
des données. Il trouve ses limites dans la gestion des éventuelles relations existant
entre tableaux (tables) de données, ainsi que dans le nombre de lignes (ou
enregistrements dans le vocabulaire des bases de données), en l’occurrence 1 048
576. Excel n’est pas un outil de gestion de bases de données, mais rien ne vous
empêche de saisir dans une feuille de calcul la liste des noms, prénoms et numéros
de téléphone de vos amis. En agissant ainsi, vous réalisez un tableau de données que
vous pouvez souhaiter trier, enrichir… en d’autres termes gérer.
VII.1.1. Élaborer un tableau de données
Premier principe : réfléchir avant d’agir
Pourquoi faire cela ? Dans quel but ?
Il convient de se poser ces deux questions avant de concevoir un tableau de données.
Les réponses conditionneront en effet la structure du tableau de données. Rien n’est
plus pénible que d’avoir à saisir une information oubliée alors que la liste contient
déjà plus de cent lignes. De même qu’il est fastidieux d’avoir à saisir des informations
qui seront finalement inutiles. Il s’agit de trouver le juste milieu entre le « trop » et le
« trop peu ».
74
Deuxième principe : structurer le tableau
Une fois que l’objectif est formalisé, il convient de définir précisément les colonnes
du tableau de données (en gestion de bases de données, on parle de champs). En
effet, dans un tableau de données, chaque colonne contient un type de données.
Dans notre exemple, il y aura une colonne pour le nom, une pour le prénom…
Chaque individu sera représenté par une ligne de la liste (en gestion de bases de
données, on parle d’enregistrement). Pour une meilleure lisibilité de la liste, la
première ligne doit contenir le nom de chaque donnée.
Excel vous autorise à saisir, dans une même colonne, des informations de nature
différente (nombre, texte, date…), mais il est préférable, pour faire des traitements
systématiques, de n’autoriser qu’un type de données par colonne.
Troisième principe : aider l’utilisateur
Une fois les données à saisir déterminées, il reste à construire le tableau sur la feuille
de calcul. La première ligne doit contenir les noms des données (ou étiquettes de
colonnes). C’est le minimum pour que l’utilisateur, qui peut être différent du
concepteur, s’y retrouve. Ces noms (ou étiquettes) doivent être à la fois concis et
évocateurs. Concis car autrement, ils nuiront à la lisibilité, et évocateurs car il ne doit
pas exister d’ambiguïté pour l’utilisateur.
Malheureusement, personne n’est à l’abri d’une erreur de saisie. Le concepteur d’un
tableau de données dispose d’au moins deux outils pour aider l’utilisateur :
✓ les couleurs ;
✓ les validations ;
Les couleurs permettent d’indiquer à l’utilisateur les colonnes qu’il doit remplir. Les
validations de contenu des cellules permettent de restreindre les valeurs possibles
dans les cellules. Par exemple, pour la saisie du sexe d’une personne, une liste
déroulante n’autorisera que H ou F. Cela évite de se retrouver avec une colonne
contenant des H, F, G, M, 1, 2 qui rendraient tout traitement statistique impossible.
VII.2. Découvrir les fonctions indispensables
Nous allons tout d’abord passer en revue les fonctions essentielles. Chacune d’elles
est accompagnée d’un exemple simple.
DECALER
Renvoie une référence à une plage décalée d’un nombre déterminé de lignes et de
colonnes par rapport à une cellule ou à une plage de cellules. La référence qui est
renvoyée peut être une cellule unique ou une plage de cellules. Vous pouvez spécifier
le nombre de lignes et de colonnes à renvoyer.
Syntaxe : DECALER(réf; lignes; colonnes; hauteur; largeur)
75
réf : Référence par rapport à laquelle le décalage doit être opéré.
L’argument réf doit être une référence à une cellule ou à une plage de
cellules adjacentes ; sinon, la fonction DECALER renvoie le message
d’erreur #VALEUR!.
lignes : Nombre de lignes vers le haut ou vers le bas dont la cellule supérieure
gauche de la référence renvoyée doit être décalée. Si l’argument lignes
est égal à 5, la cellule supérieure gauche de la référence est décalée de
cinq lignes en dessous de la référence. L’argument lignes peut être
positif (c’est-à-dire en dessous de la référence de départ) ou négatif
(c’est-à-dire au-dessus de la référence de départ).
colonnes : Nombre de colonnes vers la droite ou vers la gauche dont la cellule
supérieure gauche de la référence renvoyée doit être décalée. Si
l’argument colonnes est égal à 5, la cellule supérieure gauche de la
référence est décalée de cinq colonnes vers la droite par rapport à la
référence. L’argument colonnes peut être positif (c’est-à-dire à droite
de la référence de départ) ou négatif (c’est-à-dire à gauche de la
référence de départ).
hauteur : Hauteur, exprimée en nombre de lignes, que la référence renvoyée
doit avoir. L’argument hauteur doit être un nombre positif. Il est
facultatif ; s’il est omis, la valeur par défaut est celle de l’argument réf.
largeur : Largeur, exprimée en nombre de colonnes, que la référence
renvoyée doit avoir. L’argument largeur doit être un nombre positif. Il
est facultatif ; s’il est omis, la valeur par défaut est celle de l’argument
réf.
EQUIV
Renvoie la position relative d’un élément d’une matrice qui équivaut à une valeur
spécifiée dans un ordre donné.
Syntaxe : EQUIV(valeur_cherchée; matrice_recherche; type)
valeur_cherchée : Valeur dont vous souhaitez l’équivalent dans l’argument
matrice_recherche.
matrice_recherche : Plage de cellules adjacentes contenant les valeurs
d’équivalence possibles. L’argument matrice_recherche
peut être une matrice ou une référence matricielle.
type : Nombre -1, 0 ou 1 qui indique comment Excel doit procéder
pour comparer l’argument valeur_cherchée aux valeurs de
l’argument matrice_recherche.
✓ Si la valeur de l’argument type est 1, la fonction EQUIV trouve la valeur la plus
élevée qui est inférieure ou égale à celle de l’argument valeur_cherchée. Les
76
valeurs de l’argument matrice_recherche doivent être placées en ordre
croissant. Si l’argument est omis, 1 est la valeur par défaut.
✓ Si la valeur de l’argument type est 0, la fonction EQUIV trouve la première
valeur exactement équivalente à celle de l’argument valeur_cherchée. Les
valeurs de l’argument matrice_recherche peuvent être placées dans un ordre
quelconque.
✓ Si la valeur de l’argument type est -1, la fonction EQUIV trouve la plus petite
valeur qui est supérieure ou égale à celle de l’argument valeur_cherchée. Les
valeurs de l’argument matrice_recherche doivent être placées en ordre
décroissant.
INDEX
Renvoie une valeur ou une référence à une valeur provenant d’un tableau ou d’une
plage de valeurs. La fonction INDEX existe sous deux formes, matricielle et
référentielle. La forme matricielle renvoie une valeur ou une matrice de valeurs,
tandis que la forme référentielle renvoie une référence.
Syntaxe 1 : INDEX(tableau;no_lig; no_col)
tableau : Plage de cellules ou constante de matrice.
no_lig : Ligne de la matrice dont une valeur doit être renvoyée. Si l’argument
no_lig est omis, l’argument no_col est obligatoire.
no_col : Colonne de la matrice dont une valeur doit être renvoyée. Si l’argument
no_col est omis, l’argument no_lig est obligatoire.
Syntaxe 2 : INDEX(réf; no_lig; no_col; no_zone)
réf : Référence à une ou plusieurs plages de cellules.
no_lig : Numéro de la ligne de réf à partir de laquelle une référence doit être
renvoyée.
no_col : Numéro de la colonne de réf à partir de laquelle une référence doit être
renvoyée.
no_zone : Plage de l’argument réf pour laquelle l’intersection de no_col et no_lig
doit être renvoyée. La première zone sélectionnée ou entrée porte le
numéro 1, la deuxième, le numéro 2, et ainsi de suite. Si l’argument
no_zone est omis, la fonction INDEX utilise la zone numéro 1.
[Link]
Compte le nombre de cellules à l’intérieur d’une plage qui répondent plusieurs
critères.
Syntaxe : [Link](plage_critère1; critère1, plage_critère2; critère2…)
plage_critère1, plage_critère2,… : 1 à 127 plages de cellules sur lesquelles s’applique le
critère.
77
critère1, critère2… : 1 à 127 critères, sous forme de nombre,
d’expression ou de texte, définissant les
cellules à dénombrer.
RECHERCHE
Renvoie une valeur provenant soit d’une plage à une ligne ou à une colonne, soit
d’une matrice. La fonction RECHERCHE a deux formes de syntaxe, vectorielle et
matricielle. La forme vectorielle (syntaxe 1) de la fonction RECHERCHE cherche une
valeur dans une plage à une ligne ou à une colonne (appelée vecteur) et renvoie une
valeur à partir de la même position dans une seconde plage à une ligne ou à une
colonne. La forme matricielle (syntaxe 2) de la fonction RECHERCHE cherche la
valeur spécifiée dans la première ligne ou colonne d’une matrice et renvoie une
valeur à partir de la même position dans la dernière ligne ou colonne de la matrice.
Syntaxe 1 : RECHERCHE(valeur_cherchée; vecteur_recherche; vecteur_résultat)
valeur_cherchée : Valeur que la fonction cherche dans une matrice.
L’argument valeur_cherchée peut être un nombre, du texte,
une valeur logique, un nom ou une référence désignant une
valeur.
vecteur_recherche : Plage de cellules qui contient du texte, des nombres ou des
valeurs logiques que vous voulez comparer à la valeur
cherchée. Les valeurs de l’argument vecteur_recherche
peuvent être du texte, des nombres ou des valeurs logiques.
Les valeurs de l’argument vecteur_recherche doivent être
placées en ordre croissant.
vecteur_résultat : Plage qui contient une seule ligne ou colonne. La plage doit
être de même dimension que l’argument
vecteur_recherche.
Syntaxe 2 : RECHERCHE(valeur_cherchée; tableau)
valeur_cherchée : Valeur que la fonction RECHERCHE cherche dans une
matrice. L’argument valeur_cherchée peut-être un nombre,
du texte, une valeur logique, un nom ou une référence
désignant une valeur.
tableau : Plage de cellules qui contient du texte, des nombres ou des
valeurs logiques que vous voulez comparer à l’argument
valeur_cherchée.
78
RECHERCHEV
Recherche une valeur dans la colonne de gauche d’une table ou d’une matrice de
valeurs, puis renvoie une valeur, dans la même ligne, d’une colonne que vous
spécifiez dans la table ou la matrice.
Syntaxe : RECHERCHEV(valeur_cherchée ; table_matrice ; no_index_col ;
valeur_proche)
valeur_cherchée : Valeur à rechercher dans la colonne de gauche de la table.
Il peut s’agir d’une valeur, d’une référence ou d’une chaîne
de texte.
table_matrice : Table de données dans laquelle est exécutée la recherche
de la valeur.
no_index_col : Numéro de la colonne de table_matrice à partir de laquelle
la valeur correspondante est renvoyée. Une valeur de
no_index_col égale à 1 renvoie la valeur de la première
colonne de l’argument table_matrice, une valeur de
no_index_col égale à 2 renvoie la valeur de la deuxième
colonne de l’argument table_matrice, etc. Si la valeur de
no_index_col est inférieure à 1, RECHERCHEV renvoie le
message d’erreur #VALEUR! ; si la valeur de no_index_col est
supérieure au nombre de lignes de table_matrice,
RECHERCHEV renvoie le message d’erreur #REF!.
valeur_proche : Valeur logique qui spécifie si vous voulez que RECHERCHEV
trouve une correspondance exacte ou approximative. Si cet
argument est VRAI ou omis, une donnée proche est
renvoyée. En d’autres termes, si aucune valeur exacte n’est
trouvée, la valeur immédiatement inférieure à
valeur_cherchée est renvoyée. Si cet argument est FAUX,
RECHERCHEV recherche une correspondance exacte. Si elle
n’en trouve pas, le message d’erreur #N/A est renvoyé.
[Link]
Additionne des cellules spécifiées si elles répondent à plusieurs critères.
Syntaxe : [Link](somme_plage ;plage_critère1; critère1 ; plage_critère2;
critère2…)
somme_plage : Cellules à additionner.
plage_critère1, plage_critère2,… : 1 à 127 plages de cellules sur lesquelles
s’applique le critère.
79
critère1, critère2… : 1 à 127 critères, sous forme de nombre,
d’expression ou de texte, définissant les
cellules à additionner.
SOMMEPROD
Multiplie les valeurs correspondantes des matrices spécifiées et calcule la somme de
ces produits.
Syntaxe : SOMMEPROD(matrice1; matrice2; matrice3,...)
matrice1, matrice2,… : 2 à 255 matrices dont vous voulez multiplier les valeurs
pour ensuite additionner leur produit.
[Link]
Renvoie un sous-total dans un tableau ou une base de données.
Syntaxe : [Link](no_fonction; réf1; réf2;...)
no_fonction : Nombre compris entre 1 et 11 indiquant quelle fonction utiliser pour
calculer les sous-totaux d’un tableau.
Valeurs possibles de l’argument type
no_fonction Fonction
1 MOYENNE
2 NB
3 NBVAL
4 MAX
5 MIN
6 PRODUIT
7 ECARTYPE
8 ECARTYPEP
9 SOMME
10 VAR
11 VAR.P
réf1,réf2 : 1 à 255 plages ou références pour lesquelles vous souhaitez un
sous-total.
VII.3. Faire des recherches simples
Dans un premier temps, vous allez mettre en pratique quelques-unes des fonctions
décrites précédemment dans des situations courantes liées à l’exploitation de bases
de données. Il s’agit notamment de rechercher des valeurs particulières. Nous
traiterons également le cas des tableaux à double entrée.
VII.3.1. Rechercher une valeur précise dans un tableau
Supposons que vous disposiez d’une tableau de données de contacts
(professionnels ou personnels), qui réunit les informations suivantes :
80
• nom ;
• prénom ;
• adresse ;
• code postal ;
• ville ;
• téléphone fixe ;
• téléphone portable.
Pour retrouver les informations relatives à un ami, vous pouvez bien sûr passer en
revue l’ensemble du tableau ou faire appel à un filtre. Vous pouvez également utiliser
la fonction RECHERCHEV pour retrouver ces données et les afficher où bon vous
semble (sur une autre feuille, par exemple).
Dans notre exemple, le tableau de données se trouve sur la feuille Données.
Vous allez maintenant élaborer les formules pour afficher les informations relatives
à un contact sur une autre feuille (la feuille Affichage).
En B4, saisissez tout d’abord un nom, présent sur le tableau, par exemple MONOD.
En B5, saisissez la formule suivante, pour obtenir le prénom : =RECHERCHEV(B4;
Données!A2:G31 ;2; FAUX)
La fonction RECHERCHEV va « scruter » la première colonne de la plage
Données!A2:G31 (deuxième paramètre), à la recherche du contenu de B4 (premier
paramètre), ici MONOD. Elle s’arrêtera dès qu’elle aura trouvé la première
occurrence de MONOD et renverra le contenu de la cellule située sur la même ligne,
mais dans la deuxième colonne (troisième paramètre) de la plage Données!A2:G31,
soit le prénom correspondant.
Le dernier paramètre, ici égal à FAUX, joue un rôle très important dans la recherche.
En effet, s’il est égal à VRAI, la fonction « s’arrêtera » à la première valeur
immédiatement inférieure à la valeur cherchée. Cela nécessite que la plage de
cellules dans laquelle s’effectue la recherche soit triée par ordre croissant. En
revanche, si cet argument est FAUX, RECHERCHEV recherchera une correspondance
exacte. S’il n’en trouve pas, le message d’erreur #N/A sera renvoyé. Dans notre cas,
il est nécessaire d’effectuer une recherche exacte. Le paramètre spécifié est donc
égal à FAUX.
Pour continuer la mise à jour de la fiche, saisissez les formules suivantes :
✓ En B6 : =RECHERCHEV(B4;Données!A2:G31;3;FAUX)
✓ En B7 : =RECHERCHEV(B4; Données!A2:G31; 4; FAUX) & " - " &
RECHERCHEV(B4; Données!A2:G31 ;5; FAUX)
✓ En B8 : =RECHERCHEV(B4;Données!A2:G31;6;FAUX)
✓ En B9 : =RECHERCHEV(B4;Données!A2:G31;7;FAUX)
Vous obtenez ainsi une fiche de contact complète, présentant de façon plus
conviviale les données de la tableau. Notez que le résultat de la fonction
81
RECHERCHEV peut être intégré dans une formule (ce qui a été fait pour juxtaposer
le code postal et la ville, en B7).
Éviter l’apparition de messages d’erreur lors d’une recherche
Le cas que nous venons de traiter n’est pas parfait, puisqu’en cas d’erreur de frappe
dans le nom du contact, la fiche renverra le message d’erreur #N/A.
Cela n’est pas gênant et ne remet pas en cause la pertinence de l’application.
Toutefois, si vous concevez une application pour un autre utilisateur, il pourra être
déstabilisé par ce message intempestif. Pour remédier à ce petit défaut, interceptez
le message d’erreur avant qu’il ne s’affiche et remplacez-le par un message plus
explicite. Pour cela, utilisez la fonction ESTNA, qui renvoie la valeur VRAI si son
argument est égal à #N/A et FAUX sinon.
En B5, saisissez : =SI(ESTNA(RECHERCHEV(B4; Données!A2:G31; 2;
FAUX));"Inconnu"; RECHERCHEV(B4; Données!A2:G31; 2; FAUX))
En procédant de la même manière, vous pouvez ainsi prévenir l’apparition des
messages d’erreur pour chacune des informations de la fiche.
VII.3.2. Utiliser d’autres techniques de recherche
La fonction RECHERCHEV est très pratique pour rechercher des données dans une
plage de cellules. Pourtant, elle ne peut être utilisée dans toutes les situations. En
effet, le critère de recherche doit impérativement se trouver dans la première
colonne de la plage de recherche. Ainsi, dans l’exemple précédent, il n’est pas
possible de réaliser un annuaire inversé. C’est-à-dire qu’il n’est pas possible de
retrouver un nom à partir d’un numéro de téléphone, car le nom est situé à gauche
du numéro de téléphone. Pour pallier cet inconvénient, il faut utiliser d’autres
fonctions.
Il faut en fait combiner deux fonctions : INDEX et EQUIV. La fonction EQUIV permet
de retrouver la position d’une donnée dans une plage de cellules. La fonction INDEX
renvoie le contenu de la cellule d’une plage identifiée par ses coordonnées. Vous
devez tout d’abord trouver la ligne correspondant au numéro de téléphone saisi en
B4 de la feuille Annuaire, qui simule un annuaire inversé.
Pour cela, utilisez la fonction EQUIV : Ligne= EQUIV(B4;Données!F2:F31;0)
Le dernier paramètre de la fonction EQUIV permet de spécifier que la recherche doit
être exacte. Une fois que la ligne est identifiée, il suffit de renvoyer le nom
correspondant. Pour cela, utilisez la fonction INDEX : Nom
=INDEX(Données!A2:G31;Ligne;1)
La fonction INDEX permet de renvoyer la valeur se trouvant à l’intersection de la
ligne Ligne et de la colonne 1 dans la plage A2:G31.
Combinez alors ces deux expressions en une seule formule, saisie en B5 :
=INDEX(Données!A2:G31; EQUIV(B4; Données!F2:F31; 0);1)
82
VII.3.3. Exploiter des données sous forme d’intervalles
Jusqu’à présent, vous avez recherché des valeurs exactes. Dans certaines situations,
il peut être nécessaire d’effectuer des recherches « approchées ». L’exemple suivant
va vous permettre de mieux comprendre l’utilité de telles recherches.
Supposons que vous disposiez d’un tarif dégressif en fonction des quantités. Le tarif
est présenté sous forme de paliers.
Pour rechercher le tarif associé à une quantité spécifiée en B3, utilisez la fonction
RECHERCHEV en B4 : =RECHERCHEV(B3;D4:F9;3)
Le dernier paramètre étant omis, il est considéré comme étant égal à VRAI. Cela
signifie que la fonction s’arrête à la valeur immédiatement inférieure à la valeur
cherchée. Il est donc nécessaire que la colonne de recherche soit triée dans l’ordre
croissant.
Ainsi, la fonction trouvera la ligne correspondant à la borne inférieure du palier de
quantité correspondant à la quantité saisie en B3. Il suffit alors de renvoyer le tarif
associé qui se trouve dans la troisième colonne.
VII.3.4. Rechercher une valeur dans un tableau à double entrée
Les tableaux à double entrée sont courants. Par exemple, ils permettent à une
entreprise de récapituler ses ventes par ville et par mois.
Pour afficher les ventes pour une ville donnée (par exemple, Lyon) lors d’un mois
précis (par exemple, mars), utilisez les fonctions INDEX et EQUIV. Identifiez tout
d’abord la ligne correspondant à la ville, puis la colonne correspondant au mois :
Ligne=EQUIV("Lyon";A2:A11;0) Colonne=EQUIV("Mars";B1:G1;0)
Affichez ensuite la valeur de la plage B2:G11 située à l’intersection de la ligne et de la
colonne déterminées : Ventes=INDEX(B2:G11;Ligne;Colonne) Soit :
Ventes=INDEX(B2:G11; EQUIV("Lyon"; A2:A11; 0); EQUIV("Mars"; B1:G1; 0))
VII.4. Synthétiser des données
Une autre façon classique d’exploiter des données consiste à en faire des synthèses.
En effet, les bases de données ont tendance à prendre des proportions importantes
; il devient alors difficile de cerner les points clés, les tendances… Voici quelques
méthodes pour rendre plus « digestes » vos données.
VII.4.1. Faire des synthèses multicritères
À partir d’un logiciel de gestion des ventes, il est facile de recueillir des données très
détaillées sur les ventes par produit, par mois, par magasin… Que faire ensuite de
ces données ? Comment connaître simplement le total des ventes pour un magasin
à un mois donné, pour un article dans un magasin, pour un article à un mois donné ?
83

a) Utiliser la fonction SOMMEPROD de façon détournée


Dans notre exemple, les données se trouvent sur la feuille Données (colonne A =
magasin, colonne B = mois, colonne C = produit, colonne D = montant des ventes).
Sur une feuille baptisée Synthèse, vous allez exploiter ces informations. Pour cela,
vous utiliserez de façon détournée la fonction SOMMEPROD. Cette fonction effectue
le produit ligne à ligne des valeurs des plages fournies en argument, puis calcule la
somme de l’ensemble des produits. Vous exploiterez le fait que la valeur logique
VRAI correspond à la valeur numérique 1, et la valeur logique FAUX à la valeur
numérique 0, pour intégrer des plages qui seront en fait des tests sur différents
critères.
Ainsi, si le mois choisi se trouve en B3, le magasin en B4 et l’article en B5 :
✓ Vous obtiendrez les ventes du magasin pour le mois avec la formule :
=SOMMEPROD((Données!A2:A81=$B$4) * (Données!B2:B81=$B$3)*
(Données!D2:D81))
✓ Vous obtiendrez les ventes de l’article dans le magasin avec la formule :
=SOMMEPROD((Données!A2:A81=$B$4)*(Données!C2:C81=$B$5)*
(Données!D2:D81))
✓ Vous obtiendrez les ventes de l’article sur le mois avec la formule :
=SOMMEPROD((Données!B2:B81=$B$3)*(Données!C2:C81=$B$5)*
(Données!D2:D81))
84
En fait, lorsque vous écrivez Données!A2:A81=$B$4, le résultat est une plage qui
contient 1 lorsque la valeur de la colonne A est égale au contenu de B4, et 0 sinon.
De même avec Données!B2:B81=$B$3. Ainsi, lorsque ces plages sont multipliées par
Données!D2:D81, le résultat est une plage qui contient la valeur des ventes lorsque
les critères sont respectés, et 0 sinon.
SOMMEPROD calcule la somme des valeurs de cette plage, c’est-à- dire la somme des
cellules de la colonne D pour lesquelles la cellule située sur la même ligne dans la
colonne A contient le magasin choisi et la cellule située sur la même ligne dans la
colonne B contient le mois choisi.
Pour aller plus loin, vous allez construire un tableau de synthèse des ventes
mensuelles par produit. Pour cela, saisissez la liste des mois dans les cellules B12 à
E12, puis la liste des produits dans les cellules A13 à A17.
En B13, la formule est : =SOMMEPROD((Données!$B$2:$B$81 = B$12) *
(Données!$C$2:$C$81 = $A13) * Données!$D$2:$D$81)
Il reste ensuite à étendre la formule à l’ensemble du tableau.
Notez au passage l’utilisation des références absolues et mixtes, qui permettent de
remplir le tableau à partir d’une seule formule (saisie en B13).
VII.4.2. Utiliser la nouvelle fonction [Link]
La fonction [Link] est une nouveauté de la version précédente d’Excel
(2007). Elle permet de totaliser des cellules en fonction de critères définis sur
plusieurs autres plages (jusqu’à 127).
Elle peut être considérée comme une extension de la fonction [Link] qui permet,
quant à elle, de définir un critère sur une seule plage de cellules.
Nous allons utiliser le même jeu de données que pour la fonction SOMMEPROD. Pour
bien mettre en parallèle ces deux fonctions, nous allons réaliser les mêmes
synthèses.
Ainsi, si le mois choisi se trouve en B3, le magasin en B4 et l’article en B5 :
✓ Vous obtiendrez les ventes du magasin pour le mois avec la formule :
=[Link](Données!D2:D81;Données!A2:A81;$B$4;
Données!B2:B81;$B$3)
✓ Vous obtiendrez les ventes de l’article dans le magasin avec la formule :
=[Link](Données!D2:D81;Données!A2:A81;$B$4;
Données!C2:C81;$B$5)
✓ Vous obtiendrez les ventes de l’article sur le mois avec la formule :
=[Link](Données!D2:D81;Données!C2:C81;$B$5;
Données!B2:B81;$B$3)
Pour aller plus loin, vous allez à présent utiliser la fonction [Link] pour
réaliser le tableau de synthèse des ventes mensuelles par produit.
85
En B13, la formule est : = [Link](Données!$D$2:$D$81; Données!$B$2:$B$81;
B$12; Données!$C$2:$C$81; $A13)
Il reste ensuite à étendre la formule à l’ensemble du tableau.
VII.4.3. Utiliser la nouvelle fonction [Link]
Selon le même principe que la fonction [Link], la fonction [Link] permet
de compter des cellules respectant plusieurs critères.
En reprenant les données de l’exemple précédent, vous allez à présent déterminer
le nombre d’achats d’Imprimantes de plus de 3000 5 dans le magasin de Bordeaux.
La formule à utiliser est : =[Link](Données!A2:A81; "Bordeaux"; Données!C2:C81;
"Imprimantes"; Données!D2:D81; ">=3000").

Chapitre VIII. Traiter des données textuelles


La vocation première d’Excel n’est pas de faire du traitement de texte au sens strict
du terme. C’est-à-dire mettre en forme des documents plus ou moins longs tels que
des courriers, des comptes rendus, des rapports… Pour autant, Excel permet de
traiter des données de type texte. Mais il s’agit plus de « manipulation de texte » que
de « traitement de texte » à proprement parler. En effet, Excel permet de rechercher
un texte dans un autre, d’isoler les caractères de gauche ou de droite d’un texte,
d’isoler des mots, de compter les caractères ou les mots d’un texte… Ces types de
traitements conviennent parfaitement pour organiser et structurer des données
brutes reçues d’une autre application par exemple.
VIII.1. Découvrir les fonctions indispensables
Nous allons tout d’abord passer en revue les fonctions essentielles. Chacune d’elles
est accompagnée d’un exemple simple.
CHERCHE
Renvoie la position du caractère dans une chaîne correspondant au caractère
recherché ou au premier caractère d’une chaîne de caractères recherchée. La
recherche dans la chaîne débute au niveau du caractère que vous indiquez ou au
début de la chaîne en l’absence d’indication. CHERCHE ne tient pas compte de la
casse.
Syntaxe : CHERCHE(texte_cherché; texte; no_départ)
texte_cherché : Texte que vous voulez trouver. Vous pouvez utiliser les
caractères génériques, le point d’interrogation (?) et
l’astérisque (*) dans l’argument texte_cherché. Un point
d’interrogation correspond à un caractère unique quelconque
et l’astérisque à une séquence quelconque de caractères. Si
86
vous voulez trouver réellement un point d’interrogation ou un
astérisque, saisissez un tilde (~) devant ce caractère.
texte : Texte comprenant la chaîne de caractères que vous voulez
trouver.
no_départ : Position du caractère dans l’argument texte à partir duquel la
recherche doit débuter. Cet argument est facultatif.
CNUM
Convertit en nombre une chaîne de caractères représentant un nombre.
Syntaxe : CNUM(texte)
texte : Texte placé entre guillemets ou référence à une cellule contenant le texte
que vous voulez convertir.
CTXT
Arrondit un nombre au nombre de décimales spécifié, lui applique le format décimal,
à l’aide d’une virgule et d’espaces, et renvoie le résultat sous forme de texte.
Syntaxe : CTXT(nombre;décimales;no_séparateur)
nombre :Nombre que vous voulez arrondir et convertir en texte.
décimales : Nombre de chiffres après la virgule.
no_séparateur : Valeur logique qui, lorsqu’elle est VRAI, permet d’éviter que des
espaces soient insérés dans le texte renvoyé par CTXT.
DROITE
Renvoie le(s) dernier(s) caractère(s) d’une chaîne de texte, en fonction du nombre
de caractères spécifiés.
Syntaxe : DROITE(texte; no_car)
texte : Chaîne de texte contenant les caractères à extraire.
no_car : Nombre de caractères à extraire.
EXACT
Compare deux chaînes de caractères et renvoie la valeur VRAI si elles sont identiques
et la valeur FAUX dans le cas contraire. EXACT respecte la casse
(minuscules/majuscules) mais ne tient pas compte des différences de mise en forme.
Syntaxe : EXACT(texte1;texte2)
texte1 : Première chaîne de texte.
texte2 : Seconde chaîne de texte.
87
GAUCHE
Renvoie le(s) premier(s) caractère(s) d’une chaîne en fonction du nombre de
caractères que vous spécifiez.
Syntaxe : GAUCHE(texte;no_car)
texte : Chaîne de texte contenant les caractères à extraire.
no_car : Nombre de caractères à extraire.
MAJUSCULE
Convertit un texte en majuscules.
Syntaxe : MAJUSCULE(texte)
texte : Texte que vous voulez convertir en majuscules. L’argument texte peut
être une référence ou une chaîne de caractères.
MINUSCULE
Convertit un texte en minuscules.
Syntaxe : MINUSCULE(texte)
texte : Texte que vous voulez convertir en minuscules. L’argument texte peut
être une référence ou une chaîne de caractères.
NBCAR
Renvoie le nombre de caractères contenus dans une chaîne. Les espaces sont
comptés comme des caractères.
Syntaxe : NBCAR(texte)
texte : Texte dont vous souhaitez connaître la longueur.
REMPLACER
Remplace une chaîne de caractères par une autre, en fonction du nombre de
caractères spécifiés.
Syntaxe : REMPLACER(ancien_texte; no_départ; no_car; nouveau_texte)
ancien_texte : Texte dont vous voulez remplacer un nombre donné de
caractères.
no_départ : Position du premier caractère de la chaîne ancien_texte où le
remplacement par nouveau_texte doit commencer.
no_car : Nombre de caractères d’ancien_texte que nouveau_texte doit
remplacer.
nouveau_texte : Texte qui doit remplacer les caractères d’ancien_texte.
REPT
Répète un texte un certain nombre de fois.
88
Syntaxe : REPT(texte; no_fois)
texte : Texte à répéter.
no_fois : Nombre positif indiquant le nombre de fois que le texte doit être
répété.
STXT
Renvoie un nombre donné de caractères extraits d’une chaîne à partir de la position
que vous avez spécifiée.
Syntaxe : STXT(texte; no_départ; no_car)
texte : Chaîne de texte contenant les caractères à extraire.
no_départ : Position dans texte du premier caractère à extraire. Le premier
caractère de texte a un
no_départ : égal à 1, et ainsi de suite.
no_car : Indique le nombre de caractères à extraire de texte.
SUBSTITUE
Remplace un texte par nouveau texte dans une chaîne de caractères.
Syntaxe : SUBSTITUE(texte; ancien_texte; nouveau_texte; no_position)
texte : Texte ou référence à une cellule contenant le texte dont vous
voulez remplacer certains caractères.
ancien_texte : Texte à remplacer.
nouveau_texte : Texte qui doit remplacer ancien_texte.
no_position : Spécifie l’occurrence de ancien_texte que vous souhaitez
remplacer par nouveau_ texte. Si vous spécifiez no_position, seule
l’occurrence correspondante d’ancien_texte est remplacée.
Sinon, toutes les occurrences d’ancien_texte sont remplacées.
SUPPRESPACE
Supprime tous les espaces d’un texte à l’exception des espaces simples entre les
mots.
Syntaxe : SUPPRESPACE(texte)
texte : Texte dont vous voulez supprimer les espaces.
TEXTE
Convertit une valeur en texte selon un format de nombre spécifique.
Syntaxe : TEXTE(valeur; format_texte)
89
valeur : Valeur numérique, formule dont le résultat est une valeur
numérique ou une référence à une cellule contenant une valeur
numérique.
format_texte : Format de nombre sous forme de texte défini dans la zone
Catégorie située sous l’onglet Nombre de la boîte de dialogue
Format de cellule.
TROUVE
Recherche une chaîne de caractères au sein d’une autre chaîne de caractères et
renvoie le numéro de départ de l’argument texte_cherché, à partir du premier
caractère du texte. La fonction TROUVE tient compte de la casse.
Syntaxe : TROUVE(texte_cherché; texte; no_départ)
texte_cherché : Texte que vous voulez trouver.
texte : Texte dans lequel vous cherchez.
no_départ : Caractère à partir duquel doit commencer la recherche. Le
premier caractère de l’argument texte porte le numéro 1. Si
l’argument no_départ est omis, la valeur par défaut est 1.
VIII.2. Effectuer des traitements simples
Nous allons à présent décrire des traitements simples mettant en jeu des fonctions
parmi les plus utilisées.
VIII.2.1. Juxtaposer des chaînes de caractères
Il s’agit sans doute de la manipulation la plus simple, puisqu’elle consiste à mettre
bout à bout plusieurs chaînes de caractères. Supposons que vous disposiez des
informations suivantes :
• en A1, le nom d’un individu (par exemple DUPOND) ;
• en B1, son prénom (par exemple Jean) ;
• en C1, sa profession (par exemple Photographe).
Pour juxtaposer ces trois chaînes de caractères, utilisez l’opérateur &. En D1, saisissez
la formule =B1&" "&A1&", "&C1. Vous obtenez le texte Jean DUPOND, Photographe.
VIII.2.2. Intégrer des valeurs numériques dans des chaînes de caractères
Si vous souhaitez mixer, dans une même chaîne de caractères, du texte et des
résultats de calcul, vous risquez des soucis de présentation. Ainsi, si en A1 se trouve
le prix hors taxe d’un produit et que vous souhaitiez écrire en B1 le prix toutes taxes
comprises accompagné d’un commentaire, voici la formule que vous pouvez écrire
en B1 : ="Le prix T.T.C. est de :" & A1*1,196
Si le prix hors taxe est de 100 francs , il n’y a pas de problème. En revanche, si le prix
est de 123,45 francs , il y a trop décimales et cela nuit à la lisibilité de votre message !
90
Pour remédier à ce petit souci, utilisez la fonction TEXTE, qui permet non seulement
de convertir un chiffre en texte, mais également de lui appliquer un format spécifié.
La formule précédente devient alors : ="Le prix T.T.C. est de :" &
TEXTE(A1*1,196;"0,00")
De même, vous pouvez spécifier des formats de type date. Ainsi, pour afficher la date
du jour en toutes lettres, voici la formule à utiliser : ="Aujourd’hui, nous somme le :
"&TEXTE (AUJOURDHUI();"jjjj jj mmmm aaaa")
VIII.2.3. Compter les caractères d’un texte
Pour compter le nombre de caractères d’un texte (espaces compris), utilisez la
fonction NBCAR. Ainsi =NBCAR(A1) renverra le nombre de caractères contenus dans
la cellule A1. Pour information, une cellule peut contenir jusqu’à 32 000 caractères.
Cette fonction donne un résultat correct même si la cellule contient une valeur
numérique. Dans ce cas, elle renverra le nombre de caractères total, y compris la
virgule, le signe moins… De plus, même si un format limitant l’affichage des
décimales est appliqué, la fonction renverra le nombre total de caractères.
VIII.2.4. Rechercher dans un texte
Il est fréquent de chercher à localiser un caractère particulier ou un mot dans une
chaîne de caractères plus importante. Pour cela, Excel dispose de deux fonctions,
CHERCHE et TROUVE, qui renvoient en fait un nombre représentant la position de
l’élément cherché dans le texte :
• CHERCHE ne fait pas de distinction entre les majuscules et les minuscules et
autorise l’utilisation des caractères génériques (* et ?).
• TROUVE fait la distinction entre les majuscules et les minuscules, mais ne
permet pas l’utilisation des caractères génériques (* et ?).
Si l’expression cherchée n’est pas présente dans le texte, ces fonctions renvoient le
message d’erreur #VALEUR!.
Quelques exemples de formules de recherche
Formule Résultat
=CHERCHE("E"; "Le logiciel Excel") 2
=TROUVE("E"; "Le logiciel Excel") 13
=CHERCHE("O"; "Le logiciel Excel") 5
=TROUVE("O"; "Le logiciel Excel") #VALEUR!
=CHERCHE(" *ciel"; "Le logiciel Excel") 3 (position du premier mot se terminant
par « ciel »)
=CHERCHE(" ?ciel"; "Le logiciel Excel") #VALEUR! (pas de mot de cinq lettres se
terminant par « ciel »)
=CHERCHE("?ciel"; "Le logiciel Excel") 7 (position de la première chaîne de cinq
caractères se terminant par « ciel »)
91
Dans les deux fonctions, un troisième argument facultatif permet de spécifier la
position à partir de laquelle doit commencer la recherche (1 par défaut).
VIII.2.5. Remplacer un texte par un autre
Excel dispose des deux fonctions REMPLACER et SUBSTITUE pour remplacer une
portion de texte par une autre :
• REMPLACER remplace un nombre spécifié de caractères d’un texte, à partir
d’une position donnée, par une chaîne de caractères.
• SUBSTITUE recherche une chaîne de caractères dans un texte (en distinguant
les majuscules et les minuscules), puis la remplace par une autre. Si la chaîne
de caractères n’est pas présente dans le texte, la fonction renvoie le texte
initial inchangé. Si le texte à remplacer est présent plusieurs fois, il est possible
d’indiquer, grâce à un dernier paramètre (facultatif), quelle occurrence doit
être remplacée.
Quelques exemples de formules de remplacement
Formule Résultat
=REMPLACER("Participer";9;2;"ants") Participants
=SUBSTITUE("Microsoft Excel 2007"; Microsoft Excel 2010
"2007";"2010")
=SUBSTITUE("Microsoft Excel 2007"; Microsoft Excel
"2007";"")
=SUBSTITUE("Microsoft Excel 2010"; Microsoft Excel 2010
"excel";"Access")
=SUBSTITUE("Budget 2009 / Réalisé Budget 2010 /Réalisé 2010
2009";"2009";"2010")
=SUBSTITUE("Budget 2009 / Réalisé Budget 2009 /Réalisé 2010
2009";"2009";"2010";2)
Pour la petite histoire, les deux formules suivantes sont équivalentes :
=SUBSTITUE(Texte;Chaîne1;Chaîne2)
=REMPLACER(Texte; TROUVE(Chaîne1;Texte);NBCAR(Chaîne1);Chaîne2)
VIII.3. Combiner les fonctions pour des traitements plus complexes
À présent, nous allons aborder des traitements plus complexes, nécessitant la
combinaison de plusieurs fonctions.
VIII.3.1. Effacer des caractères à droite ou à gauche
Pour effacer le premier caractère de droite de la cellule A1, saisissez :
=GAUCHE(A1;NBCAR(A1)-1)
Pour effacer les deux premiers caractères de droite de la cellule A1, saisissez :
=GAUCHE(A1; NBCAR(A1)-2)
92
Et ainsi de suite…
Pour information, si vous souhaitez effacer uniquement le deuxième caractère de
droite : =REMPLACER(A1; NBCAR(A1)-2;1;"")
Pour effacer le premier caractère de gauche de la cellule A1, saisissez :
=DROITE(A1;NBCAR(A1)-1)
Pour effacer les deux premiers caractères de gauche de la cellule A1, saisissez :
=DROITE(A1; NBCAR(A1)-2)
Et ainsi de suite…
VIII.3.2. Compléter une chaîne caractères pour atteindre un nombre fixé de caractères
Pour faire en sorte qu’une cellule à laquelle vous affectez une chaîne de caractères
de taille variable contienne un nombre fixé de caractères, vous pouvez utiliser la
formule suivante. Supposons qu’en A1 se trouve une chaîne de caractères de taille
variable et que vous souhaitiez la compléter, avec des tirets, pour atteindre 30
caractères. Voici une formule qui répondra à ce besoin : =A1&REPT("-";30-
NBCAR(A1))
VIII.3.3. Compter le nombre d’occurrences d’un caractère ou d’un mot dans un texte
Pour compter combien de fois apparaît un caractère ou un mot dans un texte, vous
disposez d’une méthode classique qui consiste à faire la différence entre le nombre
de caractères du texte initial et le nombre de caractère du texte obtenu en
supprimant toutes les occurrences du mot ou du caractère choisi. Si la recherche
porte sur un caractère unique, le nombre obtenu est le nombre de fois où le
caractère apparaît dans le texte. Si la recherche porte sur un mot, il faut diviser le
nombre obtenu par le nombre de caractères du mot choisi. Si le texte initial se trouve
en A1 et le caractère ou le mot dont il faut compter les occurrences se trouve en B1,
la formule suivante effectue le calcul : =(NBCAR(A1)-
NBCAR(SUBSTITUE(A1;A2;"")))/NBCAR(A2)
VIII.3.4. Extraire le premier mot d’un texte
Supposons que vous disposiez d’un texte dans la cellule A1. Comme dans tous les
textes, les mots sont séparés par des espaces. C’est ce que vous allez exploiter pour
identifier, puis isoler le premier mot. Il s’agit en fait de localiser le premier espace
dans le texte. Le premier mot est situé à gauche de ce premier espace. La formule
suivante met en œuvre ce mécanisme : =GAUCHE(A1;TROUVE(" ";A1)-1)
Si le texte contient des espaces parasites (au début du texte, par exemple), vous
pouvez inclure la fonction SUPPRESPACE dans la formule précédente, afin de «
nettoyer » le texte avant de travailler dessus :
=GAUCHE(SUPPRESPACE(A1);TROUVE(" ";SUPPRESPACE(A1))-1)
93
Ces formules renvoient une erreur si le texte ne contient pas un seul espace. Il est
possible de contourner de souci en utilisant la fonction SI : =SI(ESTERR(TROUVE("
";A1)); A1; GAUCHE(A1; TROUVE(" "; A1)-1))
VIII.3.5. Extraire le dernier mot d’un texte
De la même façon que précédemment, il est possible d’isoler le dernier mot d’un
texte. Dans ce cas, il s’agit d’identifier le dernier espace du texte et d’isoler tous les
caractères se trouvant à sa droite. Pour identifier le dernier espace, il faut le
différencier des autres espaces du texte, par exemple en le remplaçant par un autre
caractère. Mais, il convient tout d’abord de compter le nombre d’espaces dans le
texte. Or, nous avons vu précédemment comment compter le nombre d’occurrences
d’un caractère dans un texte. Si le texte se trouve en A1, voici comment procéder :
Nb_espaces = (NBCAR(A1) - NBCAR(SUBSTITUE(A1; " "; "")))/ NBCAR(" ")
Le dernier espace du texte porte donc le « numéro » Nb_espaces (si l’on considère
que le numéro 1 est le plus près du début, c’est-à-dire le plus à gauche). Il reste
maintenant à le remplacer par un caractère particulier, par exemple *. Pour cela, vous
allez utiliser le dernier paramètre (facultatif) de la fonction SUBSTITUE :
=SUBSTITUE(A1; " "; "*"; Nb_espaces)
Pour obtenir la position du dernier espace, recherchez le caractère « marqueur » :
Position_dernier_espace=TROUVE("*"; SUBSTITUE(A1; " " ; "*" ;Nb_espaces))
Enfin, le dernier mot est la partie du texte située à droite du dernier espace :
Dernier_mot = DROITE(A1; NBCAR(A1)-Position_dernier_espace)
Soit, en combinant les formules intermédiaires :
Dernier_mot = DROITE(A1; NBCAR(A1)-TROUVE("*"; SUBSTITUE(A1; " "
;"*";NBCAR(A1) -NBCAR(SUBSTITUE(A1; " ";"")))))
VIII.3.6. Séparer les mots d’un texte
Nous avons décrit des solutions pour isoler successivement le premier et le dernier
mot d’un texte. Supposons maintenant que vous disposiez du nom complet d’un
individu, par exemple « Mr Paul DUPOND », et que vous souhaitiez obtenir dans trois
cellules distinctes les trois éléments de ce nom, à savoir « Mr », « Paul » et « DUPOND
».
Nous ne reviendrons pas sur le moyen d’obtenir le premier et le dernier mot puisque
les méthodes ont déjà été décrites. En revanche, nous allons nous attarder sur les
moyens d’isoler le mot « Paul ». En fait, ce mot est compris entre le premier et le
deuxième espace du texte. Il convient donc d’identifier le premier et le deuxième
espace.
Premier_espace=TROUVE("*";SUBSTITUE(A1;" ";"*";1))
Deuxième_espace=TROUVE("*";SUBSTITUE(A1;" ";"*";2))
Ensuite, il reste à extraire les caractères compris entre ces deux positions :
94
Deuxième_mot=STXT(A1; Premier_espace + 1; Deuxième_espace -Premier_espace -
1)
Soit, en combinant les formules intermédiaires :
Deuxième_mot=STXT(A1; TROUVE("*"; SUBSTITUE(A1; " "; "*"; 1))+1; TROUVE("*";
SUBSTITUE(A1; " "; "*"; 2))-TROUVE("*"; SUBSTITUE(A1; " "; "*"; 1)) - 1)
Il est possible de généraliser cette formule puisque, si le texte est composé de plus
de trois mots, le troisième mot sera situé entre le deuxième et le troisième espace,
le quatrième mot sera situé entre le troisième et le quatrième espace…

Chapitre IX. Faire des calculs sur les dates et les heures
Dans bon nombre de situations, il s’avère nécessaire de travailler avec des dates :
calcul de délais, vérification d’échéances… Il est également fréquent d’avoir à
manipuler des heures, pour des calculs de durées, par exemple. Pour toutes ces
applications (et bien d’autres), Excel vous aidera grâce, d’une part, à une «
modélisation » des dates et des heures qui permet de réaliser simplement des calculs
et, d’autre part, à de nombreuses fonctions.
IX.1. Comprendre la représentation des dates dans Excel
Avant d’entrer dans le vif du sujet, il convient au préalable de bien expliciter les
principes qui fondent la représentation des dates dans Excel.
IX.1.1. Découvrir la notion de numéro de série
Excel enregistre les dates sous la forme de nombres séquentiels appelés « numéros
de série ». Par défaut, le 1er janvier 1900 correspond au numéro de série 1, et le 1er
janvier 2010 au numéro de série 40179 car 40 179 jours se sont écoulés depuis le 1er
janvier 1900. Excel enregistre les heures sous la forme de fractions décimales car
l’heure est considérée comme une partie de la journée. C’est pourquoi 0,5
correspond à l’heure de midi, et 0,75 à 18 heures. Les dates et les heures étant des
valeurs, elles peuvent être ajoutées, soustraites et incluses dans d’autres calculs.
Pour afficher une date sous la forme d’un numéro de série et une heure sous la forme
d’une fraction décimale, affectez le format Standard à la cellule contenant la date ou
l’heure.
IX.1.2. Distinguer les systèmes de dates
Excel prend en charge deux systèmes de dates : le calendrier depuis 1900 et le
calendrier depuis 1904. Le calendrier par défaut d’Excel pour Windows est le
calendrier depuis 1900. Le calendrier par défaut d’Excel pour Macintosh est le
calendrier depuis 1904. Vous pouvez changer le système de dates. Pour cela, cliquez
sur le menu Fichier, puis sur Options. Dans la boîte de dialogue Options Excel,
95
sélectionnez la catégorie Options avancées, puis activez ou désactivez la case à
cocher Utiliser le calendrier depuis 1904 dans la rubrique Lors du calcul de ce classeur.
Le système de date est automatiquement modifié lorsque vous ouvrez un document
à partir d’une autre plate-forme. Par exemple, si vous travaillez sous Excel pour
Windows et que vous ouvrez un document créé sous Excel pour Macintosh, la case
à cocher Utiliser le calendrier depuis 1904 est automatiquement activée.
Le tableau suivant affiche la première et la dernière date de chaque calendrier et le
numéro de série associé à chaque date.
Les systèmes de dates
Base annuelle Première date Dernière date
1900 1er janvier 1900 31 décembre 9999
(numéro de série 1) (numéro de série
2958465)
1904 2 janvier 1904 31 décembre 9999
(numéro de série 1) (numéro de série
2957003)

IX.1.3. Saisir des dates et des heures


Lorsque vous saisissez une date dans un format reconnu par Excel, ce dernier met
automatiquement la date saisie dans le format de date par défaut. Ainsi, si vous
saisissez 04/12/09, Excel affiche 04/12/2009. Il s’agit uniquement d’un format ; il n’a
pas d’impact sur la valeur. En d’autres termes, Excel reconnaît l’entrée 04/12/09
comme une date valide, la convertit en numéro de série et formate le résultat sous
la forme jj/mm/aaaa. Le contenu de la cellule est bien une valeur numérique (numéro
de série), associée à un format de date.
Pour saisir une date dans Excel, séparez les jours, mois et années par des / ou des –.
Si vous saisissez le mois en lettres, vous pouvez séparer le jour, le mois et l’année par
des espaces. Voici quelques exemples de saisies correctes :
✓ 04/12/09 est affiché 04/12/2009.
✓ 04−12−09 est affiché 04/12/2009.
✓ 04 décembre 2009 est affiché 04−déc−2009.
✓ 04/12 est affiché 04−déc.
Lors d’une saisie de date, si le jour n’est pas indiqué, la date correspond au premier
jour du mois (ainsi 12/2009 est affiché déc−2009 mais la cellule contient la valeur
01/12/2009). Pour la saisie des heures, seul le caractère : est autorisé pour séparer les
heures et les minutes. Voici quelques exemples de saisies correctes :
✓ 23:6 est affiché 23:06.
✓ 23: est affiché 23:00.
✓ 45:12 est affiché [Link].
96
IX.1.4. Paramétrer l’interprétation du siècle
Pour veiller à ce que les valeurs d’année soient interprétées comme vous le
souhaitez, saisissez les quatre chiffres (2010 plutôt que 10). Dans ce cas, Excel
n’interprète pas le siècle à votre place. Sinon, les règles suivantes sont appliquées. Si
vous utilisez Windows, l’option Options régionales et linguistiques du Panneau de
configuration de Windows permet d’accéder (en cliquant sur le bouton
Personnaliser) à la boîte de dialogue Personnaliser les options régionales, qui
contrôle la façon dont Excel interprète les années à deux chiffres.
IX.2. Découvrir les fonctions indispensables
Nous allons tout d’abord passer en revue les fonctions essentielles. Chacune d’elles
est accompagnée d’un exemple simple.
ANNEE
Renvoie l’année correspondant à une date. L’année est renvoyée sous la forme d’un
nombre entier dans la plage 1900-9999.
Syntaxe : ANNEE(numéro_de_série)
numéro_de_série : Numéro de série de la date dont vous voulez trouver
l’année.
AUJOURDHUI
Renvoie le numéro de série de la date courante.
Syntaxe : AUJOURDHUI( )
DATE
Renvoie le numéro de série séquentiel qui représente une date particulière.
Syntaxe : DATE(année,mois,jour)
année : Argument pouvant compter entre un et quatre chiffres. Excel
interprète l’argument année en fonction du système de dates que vous
utilisez.
mois : Nombre représentant le mois de l’année.
jour : Nombre représentant le jour du mois.
DATEDIF
Calcule la différence entre deux dates en années, mois et jours.
Syntaxe : DATEDIF(date_début; date_fin; unité)
date_début : Date de début.
date_fin : Date de fin.
97
unité : Indique en quelle unité doit être calculée la différence entre les
deux dates. L’argument unité peut prendre les valeurs présentes
dans le tableau suivant :
Valeurs possibles pour l’argument unité
Valeur de l’argument Signification
"y" Différence en années
"m" Différence en mois
"d" Différence en jours
"ym" Différence en mois, une fois les années soustraites
"yd" Différence en jours, une fois les années soustraites
"md" Différence en jours, une fois les années et les mois soustraits
[Link]
Renvoie le numéro de série du dernier jour du mois précédant ou suivant
date_départ du nombre de mois indiqué.
Syntaxe : [Link](date_départ; mois)
date_départ : Date de début.
mois : Nombre de mois avant ou après date_départ.
Une valeur de mois positive donne une date future, tandis qu’une valeur négative
donne une date passée.
HEURE
Renvoie l’heure correspondant à la valeur de l’heure fournie. L’heure est un nombre
entier compris entre 0 (12:00 AM) et 23 (11:00 PM).
Syntaxe : HEURE(numéro_de_série)
numéro_de_série : Code de temps correspondant à l’heure que vous voulez
trouver. Les codes de temps peuvent être entrés sous la forme
de chaînes de caractères entre guillemets (par exemple, "6:45
PM"), de caractères décimaux (par exemple, 0,78125, qui
représente 6:45 PM) ou de résultats d’autres formules ou
fonctions (TEMPSVAL("6:45 PM")).
JOUR
Renvoie le jour du mois correspondant à l’argument numéro_de_série. Ce jour est
représenté sous la forme d’un nombre entier compris entre 1 et 31.
Syntaxe : JOUR(numéro_de_série)
numéro_de_série : Code de date du jour que vous voulez trouver.
98
JOURSEM
Renvoie le jour de la semaine correspondant à une date. Par défaut, le jour est donné
sous forme d’un nombre entier compris entre 0 et 7.
Syntaxe : JOURSEM(numéro_de_série; type_retour)
numéro_de_série : Numéro séquentiel représentant la date du jour que vous
cherchez. type_retour Chiffre qui détermine le type
d’information que la fonction renvoie.
Liste des valeurs possibles de type_retour
Valeur de type_retour Chiffre renvoyé
1 ou omis Chiffre compris entre 1 (dimanche) et 7 (samedi)
2 Chiffre compris entre 1 (lundi) et 7 (dimanche)
3 Chiffre compris entre 0 (lundi) et 6 (dimanche)
MAINTENANT
Donne le numéro de série de la date et de l’heure courantes.
Syntaxe : MAINTENANT()
MOIS
Renvoie le mois d’une date représentée par l’argument numéro_de_série. Le mois
est donné sous la forme d’un nombre entier compris entre 1 (janvier) et 12
(décembre).
Syntaxe : MOIS(numéro_de_série)
numéro_de_série : Code de date du mois que vous voulez trouver.
[Link]
Renvoie le numéro de série qui représente la date correspondant à une date
spécifiée (l’argument date_départ), corrigée du nombre de mois indiqué.
Syntaxe : [Link](date_départ;mois)
date_départ : Date qui définit la date à partir de laquelle doit s’appliquer le
décalage.
mois : Nombre de mois avant ou après date_départ. Une valeur de mois
positive donne une date future, tandis qu’une valeur négative
donne une date passée.
[Link]
Renvoie le nombre de jours ouvrés entiers compris entre date_début et date_fin. Les
jours ouvrés excluent les fins de semaine et toutes les dates identifiées comme des
jours fériés.
Syntaxe : [Link](date_début; date_fin; jours_fériés)
99
date_début : Date de début.
date_fin : Date de fin.
jours_fériés : Une plage facultative d’une ou de plusieurs dates à exclure du
calendrier des jours de travail, comme les jours fériés ou d’autres
jours contractuellement chômés.
[Link]
Renvoie le numéro d’ordre de la semaine dans l’année.
Syntaxe : [Link](numéro_de_série; méthode)
numéro_de_série : Date de la semaine.
Méthode : Détermine quel jour est considéré comme le début de la
semaine. La valeur par défaut est 1.
IX.3. Faire des calculs sur les dates
Nous allons présenter quelques formules classiques relatives aux calculs avec les
dates. Il s’agit principalement de formules destinées à déterminer des dates
particulières telles que le premier jour ou le dernier jour d’un mois.
IX.3.1. Afficher la date du jour dans un texte
Pour inclure la date du jour, en toutes lettres, dans un texte, utilisez la fonction de
conversion TEXTE, avec un format adapté : ="Aujourd’hui, nous sommes le
"&TEXTE(AUJOURDHUI();"jjjj jj mmmm aaaa")
IX.3.2. Écrire le mois en lettres
Si la cellule A1 contient le numéro d’un mois (donc un nombre de 1 à 12) et que vous
souhaitiez obtenir le nom du mois, voici la formule à utiliser :
=TEXTE("1/"&A1;"mmmm")
Le résultat est une chaîne de caractères.
IX.3.2. Écrire le jour de la semaine en lettres
Supposons que la cellule A1 contienne à présent une date. Pour obtenir le jour de la
semaine correspondant à cette date, voici la formule à utiliser : =TEXTE(A1;"jjjj")
Pour obtenir le jour de la semaine correspondant à la date du jour, utilisez la formule
suivante : =TEXTE(AUJOURDHUI();"jjjj")
IX.3.3. Déterminer le numéro du trimestre
Pour déterminer dans quel trimestre de l’année se situe une date saisie en A1, voici la
formule à utiliser : =PLAFOND(MOIS(A1)/3;1)
MOIS(A1) fournit le numéro du mois de la date. Pour obtenir le numéro du trimestre,
divisez ce mois par 3 et arrondissez à l’entier supérieur (fonction PLAFOND).
100
IX.3.4. Déterminer le dernier jour du mois
Pour obtenir la date du dernier jour du mois courant, utilisez la formule suivante :
=[Link](AUJOURDHUI();0)
Ou celle-ci :
=DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI())+1;1)-1
La fonction DATE, grâce aux arguments fournis, renvoie la date du premier jour du
mois suivant. Ensuite, enlevez un jour pour obtenir la date du dernier jour du mois.
IX.3.5. Déterminer le premier jour du mois
Pour obtenir la date du premier jour du mois courant, voici la formule :
=[Link](AUJOURDHUI();-1)+1
La fonction [Link] fournit la date correspondant au dernier jour du mois
précédent (deuxième argument égal à –1). Ajoutez 1 pour obtenir le premier jour du
mois !
Autre solution : =DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());1)
IX.3.6. Calculer le nombre de jours du mois
Pour obtenir le nombre de jours d’un mois correspondant à une date saisie en A1,
voici la formule à employer : =JOUR(DATE(ANNEE(A1); MOIS(A1) + 1; 1)-1)
Le principe est simple : il s’agit, dans un premier temps, de déterminer le dernier jour
du mois, puis, à l’aide de la fonction JOUR, de renvoyer le numéro du jour
correspondant. Le nombre de jours d’un mois est bien entendu égal au numéro de
son dernier jour (par exemple, 31 pour décembre).
IX.3.7. Déterminer la date du dimanche précédent
La formule suivante fournit la date du dimanche précédant la date du jour :
=AUJOURDHUI() - (JOURSEM(AUJOURDHUI()) - 1) -SI(JOURSEM
(AUJOURDHUI())=1; 7; 0)
La fonction JOURSEM renvoie 1 si la date du jour est un dimanche, 2 si la date du jour
est un samedi. Donc, en fonction du jour correspond à la date courante, il s’agit de
calculer le décalage nécessaire pour obtenir le dimanche précédent.
Calcul des décalages
Jour de la semaine Numéro Décalage nécessaire
Dimanche 1 -7
Lundi 2 -1
Mardi 3 -2
Mercredi 4 -3
Jeudi 5 -4
Vendredi 6 -5
101
Samedi 7 -6
Sauf pour le dimanche, retranchez (JOURSEM(AUJOURDHUI)−1) pour obtenir le
dimanche précédent. Pour ce qui est du dimanche, retranchez 7
(SI(JOURSEM(AUJOURDHUI())=1;7;0)).
En procédant de la même manière, vous pouvez généraliser cette formule pour
obtenir n’importe quel jour précédant la date du jour :
✓ Lundi précédent : =AUJOURDHUI()-(JOURSEM(AUJOURDHUI())-2)-
SI(JOURSEM (AUJOURDHUI())<=2;7;0)
✓ Mardi précédent : =AUJOURDHUI()-(JOURSEM(AUJOURDHUI())-3)-
SI(JOURSEM (AUJOURDHUI())<=3;7;0)
✓ Mercredi précédent : =AUJOURDHUI()-(JOURSEM(AUJOURDHUI())-4)-
SI(JOURSEM (AUJOURDHUI())<=4;7;0)
✓ Jeudi précédent : =AUJOURDHUI()-(JOURSEM(AUJOURDHUI())-5)-
SI(JOURSEM (AUJOURDHUI())<=5;7;0)
✓ Vendredi précédent : =AUJOURDHUI()-(JOURSEM(AUJOURDHUI())-6)-
SI(JOURSEM (AUJOURDHUI())<=6;7;0)
✓ Samedi précédent : =AUJOURDHUI()-(JOURSEM(AUJOURDHUI())
Pour obtenir n’importe quel jour suivant la date du jour, voici les formules à utiliser :
✓ Dimanche suivant : =AUJOURDHUI() + (8-JOURSEM( AUJOURDHUI()))
✓ Lundi suivant : =AUJOURDHUI() + (9-JOURSEM(AUJOURDHUI()))-
SI(JOURSEM ( AUJOURDHUI())=1;7;0)
✓ Mardi suivant : =AUJOURDHUI() + (10-JOURSEM(AUJOURDHUI()))-
SI(JOURSEM ( AUJOURDHUI())<=2;7;0)
✓ Mercredi suivant : =AUJOURDHUI() + (11 - JOURSEM( AUJOURDHUI())) -
SI(JOURSEM (AUJOURDHUI())<=3; 7; 0)
✓ Jeudi suivant : =AUJOURDHUI() + (12-JOURSEM(AUJOURDHUI()))-
SI(JOURSEM (AUJOURDHUI())<=4; 7; 0)
✓ Vendredi suivant : =AUJOURDHUI() + (13-JOURSEM( AUJOURDHUI())) -
SI(JOURSEM (AUJOURDHUI())<=5; 7; 0)
✓ Samedi suivant : =AUJOURDHUI() + (14-JOURSEM( AUJOURDHUI())) -
SI(JOURSEM (AUJOURDHUI())<=6; 7; 0)
IX.3.8. Convertir depuis le format américain
Si vous avez à traiter un classeur réalisé dans une version anglosaxonne d’Excel, les
dates seront sans doute au format mm/jj/aaaa (par exemple 10/30/2010), c’est-à-dire
qu’elles ne seront pas reconnues par notre Excel français ! Pour remédier à ce petit
problème, voici une formule de conversion. Si la date est en A1, saisissez :
=DATE(DROITE(A1;4);GAUCHE(A1;2);STXT(A1;4;2))
102
IX.3.9. Repérer une date anniversaire
Si vous utilisez Excel pour gérer votre Carnet d’adresses, vous pouvez créer une
fonction « Anniversaire », qui affichera un message en face du nom de votre ami le
jour de son anniversaire. Pour cela, supposons que sa date de naissance se trouve en
D10 : =SI(ET(MOIS(AUJOURDHUI())= MOIS(D10); JOUR(AUJOURDHUI())=
JOUR(D10));"Bon anniversaire";"")
Il suffit de tester que le jour et le mois courants sont identiques à la date de
naissance. Vous pouvez améliorer cette formule afin d’être prévenu de l’événement
dix jours avant la date anniversaire, et d’afficher ce rappel jusqu’au jour en question
: =SI(ABS(AUJOURDHUI()-DATE(ANNEE (AUJOURDHUI()); MOIS(D10);
JOUR(D10)))<=10;"Période d’anniversaire";"")
Il faut vérifier que la valeur absolue de la différence entre la date du jour et la date
correspondant à l’anniversaire pour l’année en cours (soit
DATE(ANNEE(AUJOURDHUI());MOIS(D10);JOUR(D10))) est inférieure ou égale à 10.
IX.3.10. Tester si une année est bissextile
Pour tester si le mois de février compte 29 jours ou non, en supposant que l’année
soit saisie en A1, voici la formule à utiliser : =SI(MOIS(DATE(A1;2;29))=2;"Année
bissextile";"") Vous profitez ici de la « souplesse » d’Excel. En effet, si le 29 février de
l’année choisie existe, DATE(A1;2;29) renvoie bien 29/02/aaaa. En revanche, si cette
date n’existe pas, DATE(A1;2;29) renvoie 01/03/aaaa. Testez alors le mois de cette
date et vérifiez qu’il est bien égal à 2.
IX.4. Faire des calculs sur les heures
Nous allons à présent détailler deux traitements relatifs aux heures.
IX.4.1. Transformer des heures décimales en heures et minutes
Il est fréquent d’avoir à convertir des heures décimales en heures et minutes (par
exemple, 10,5 heures correspondent à 10:30). Vous allez exploiter la représentation
des dates et heures dans Excel. Dans Excel, 0,5 correspond à 12 heures (voir la notion
de numéro de série). Donc, la solution est simple : divisez les heures décimales par
24 et appliquez un format de type hh:mm.
IX.4.2. Transformer des minutes en heures et minutes
De la même manière, vous pouvez convertir des minutes en heures et minutes. Ainsi
100 minutes correspondent à 1h40. Le principe est le suivant : divisez les minutes par
1440 (24 × 60) et appliquez un format de type hh:mm.
IX.4.3. Calculer avec des taux horaires
Pour faire un devis, calculer un salaire… il est nécessaire de multiplier des heures par
un taux horaire. Si les heures sont saisies de façon décimale (par exemple, 8,75
heures), cela ne pose aucun problème. En revanche, si les heures sont saisies sous la
103
forme heures/minutes (par exemple, 08:45), il faut faire un traitement particulier :
multipliez la valeur en heures/minutes par 24.
IX.4.4. Calculer le temps écoulé
Il est très aisé de réaliser des calculs sur les durées. Ainsi, si vous saisissez 08:45 dans
une cellule et 01:30 dans une autre, la somme des deux renvoie 10:15, ce qui est
correct.
Réalisez maintenant le test suivant :
✓ Saisissez 22:45 en A1.
✓ Saisissez 13:34 en A2.
✓ Saisissez =A1+A2 en A3.
Le résultat peut paraître un peu déconcertant. Tout est dû au format. Par défaut,
Excel applique un format date-heure. En fait, le résultat correspond à 12:19 le
lendemain de la première dateheure saisie en A1. Pour Excel, A1 contient le jour J à
22:45 et vous lui demandez d’ajouter 13:34 : il vous retourne le jour J + 1 à 12:19.
Pour calculer le temps écoulé, il faut changer de format :
1. Sélectionnez A3, cliquez du bouton droit et choisissez Format de cellule.
2. Cliquez sur l’onglet Nombre et sélectionnez la catégorie Personnalisée.
3. Dans la zone Type, saisissez [hh]:mm.
4. Validez par OK.
Le format de type « temps écoulé » fait bien le cumul des heures sans tenir compte
du passage des 24 heures.

Chapitre X. Utiliser les formules matricielles


Les formules utilisées jusqu’à présent permettent de calculer le contenu d’une cellule
à l’aide d’une ou de plusieurs autres valeurs contenues dans d’autres cellules, ou à
l’aide de constantes. Bien souvent, ces calculs sont répétitifs. Vous avez donc besoin
de recopier des formules sur des lignes ou des colonnes. Cette solution fonctionne
correctement mais elle peut présenter des inconvénients lorsqu’il s’agit d’effectuer
des modifications. En effet, il ne faut pas oublier d’assurer la cohérence des formules
en recopiant les modifications, partout où cela est nécessaire. Il serait intéressant de
traiter ces calculs de façon plus synthétique et plus concise. C’est ici qu’interviennent
les formules matricielles.
X.1. Connaître les principes de conception
Dans un premier temps, nous allons décrire les principes de conception des formules
matricielles. Il s’agit d’une logique un peu différente des formules « classiques ». C’est
pourquoi nous nous attarderons quelque peu sur les mécanismes de base.
104
X.1.1. Saisir une formule matricielle à une dimension
Supposons que vous disposiez d’une feuille de calcul contenant des tarifs de produits
(plage C6:C13) et des taux de remise associés à chaque produit (plage D6:D13). Vous
allez calculer le prix unitaire net HT de chacun des produits.
1. Sélectionnez E6:E13.
2. Cliquez dans la barre de formule.
3. Saisissez =C6:C13*(1−D6:D13).
4. Validez par [Ctrl]+[Maj]+[Entrée].
Le fait de valider par la combinaison de touches [Ctrl]+[Maj]+[Entrée] indique à Excel
qu’il s’agit d’une formule matricielle. La formule que vous avez saisie apparaît entre
accolades dans la barre de formule. C’est un signe distinctif des formules matricielles.
Cette formule vous évite de créer une formule en E6, puis de la recopier jusqu’en F13.
Les arguments sont des plages matricielles (C6:C13 et D6:D13). En fait, Excel
interprète cette formule de la façon suivante : pour chaque cellule de la plage E6:E13,
la valeur de la cellule située sur la même ligne et dans la colonne C est multipliée par
1, puis diminuée de la valeur de la cellule située sur la même ligne et dans la colonne
D.
Calculons à présent les prix TTC :
1. Sélectionnez F6:F13.
2. Cliquez dans la barre de formule.
3. Saisissez =E6:E13*(1+$F$3).
4. Validez par [Ctrl]+[Maj]+[Entrée].
Cette formule matricielle utilise, entre autres, une cellule unique : la cellule F3. La
valeur de la cellule est donc employée pour le calcul des valeurs de chacune des
cellules de la plage sélectionnée (F6:F13).
Les matrices qui contiennent les résultats précédents sont dites à une dimension, car
elles ne contiennent qu’une seule colonne (si elles ne contenaient qu’une seule ligne,
elles seraient également qualifiées de « matrice à une dimension »).
X.1.2. Saisir une formule matricielle à deux dimensions
Supposons à présent que vous deviez calculer les capacités de production
journalières de plusieurs lignes de production. Sur votre feuille de calcul, les
capacités journalières des machines se trouvent dans la plage B7:B12 et les durées du
travail quotidien en C4:I4. Pour chaque jour et chaque machine, il faut multiplier la
capacité horaire par la durée du travail.
1. Sélectionnez C7:I12.
2. Cliquez dans la barre de formule.
105
3. Saisissez =B7:B12*C4:I4.
4. Validez par [Ctrl]+[Maj]+[Entrée].
À l’aide d’une seule formule, vous réalisez des calculs qui demanderaient autrement
quarante-deux formules « individuelles ».
Quels sont les calculs effectués dans les cellules de la plage C7:I12 ?
▪ En C7, le calcul effectué est B7*C4.
▪ En D10, le calcul effectué est B10*D4.
▪ …
X.1.3. Saisir une formule matricielle à valeur unique
Les deux types de formules traitées jusqu’à présent fournissent des résultats sous
forme de matrices (à une ou deux dimensions). Il est possible de créer des formules
matricielles qui produisent une valeur unique, à partir d’arguments matriciels. Vous
allez calculer les capacités totales de production journalières à l’aide de telles
formules :
1. En C13, saisissez =SOMME($B$7:$B$12*C4).
2. Validez par [Ctrl]+[Maj]+[Entrée].
3. Étendez le contenu, à l’aide de la poignée de recopie, jusqu’en I13.
L’extension et donc la copie de formules matricielles donnent des résultats
satisfaisants. Le choix des références absolues, relatives ou mixtes est aussi crucial
que dans le cas des formules « classiques ». Si vous validez la formule précédente
avec [Ä] à la place de la combinaison [Ctrl]+[Maj]+[Ä], vous obtenez le message
d’erreur #VALEUR!.
X.1.4. Caractéristiques des formules matricielles
Les formules matricielles présentent des particularités :
▪ Pour modifier une formule matricielle, sélectionnez la totalité de la plage
matricielle sur laquelle elle s’applique.
▪ Vous ne pouvez insérer, déplacer ou supprimer une ligne, une colonne ou
même une cellule d’une plage contenant une formule matricielle.
▪ Vous ne pouvez pas, non plus, déplacer une partie de matrice.
Dans tous ces cas, vous obtenez un message d’erreur. En revanche, vous pouvez
mettre en forme de façon indépendante chacune des cellules constitutives d’une
plage matricielle. Vous pouvez également copier, puis coller, une ou plusieurs
cellules d’une plage matricielle.
Si votre sélection est de taille supérieure à celle des arguments, certaines cellules de
la plage contiendront le message d’erreur #N/A.
106
X.1.5. Modifier une formule matricielle
Pour modifier une formule matricielle, il faut d’abord sélectionner l’intégralité de la
plage de cellules sur laquelle elle s’applique. Pour cela, il existe deux possibilités :
- Sélectionnez une cellule de la plage et appuyez sur [Ctrl]+[/].
- Sélectionnez une cellule de la plage et cliquez sur le bouton Rechercher et
sélectionner du groupe Edition de l’onglet Accueil. Choisissez ensuite
Sélectionner les cellules, puis sélectionnez Matrice en cours puis cliquez sur
OK.
Une fois la plage sélectionnée, cliquez dans la barre de formule puis effectuez les
modifications souhaitées. Une fois les modifications effectuées, validez par
[Ctrl]+[Maj]+[Entrée].
Pour effacer purement et simplement, utilisez la touche [Suppr] une fois la plage
sélectionnée.
X.1.6. Constantes matricielles
Il est également possible de saisir des constantes matricielles. Les principes de saisie
sont les suivants :
1. Sélectionnez la plage dans laquelle vous souhaitez saisir votre constante
matricielle.
2. Cliquez dans la barre de formule.
3. Saisissez ={.
4. Saisissez les valeurs de votre constante. Les lignes sont séparées par des points-
virgules, les valeurs des colonnes par des points.
5. Saisissez l’accolade fermante (}).
6. Validez par [Ctrl]+[Maj]+[Entrée]
X.2. Utiliser les formules matricielles
Les formules matricielles peuvent être utilisées dans toutes les situations, quel que
soit le domaine : calcul numérique, manipulation de texte, calcul sur les dates… Nous
allons présenter des utilisations possibles dans chacun de ces domaines.
X.2.1. Calculer la moyenne des trois plus grandes valeurs
Pour calculer la moyenne des trois plus grandes valeurs d’une plage de cellules (par
exemple A1:A10), utilisez la formule matricielle suivante :
{=MOYENNE([Link](A1:A10;{1;2;3}))}
Ne saisissez pas les accolades entourant la formule. Elles apparaissent
automatiquement après la validation par [Ctrl]+[Maj]+[Entrée]. Cette formule
fonctionne en fait « en deux temps ». Tout d’abord, elle procède à la création d’un
tableau de 1 colonne et de 3 lignes :
107
- 1ère ligne : [Link](A1:A10;1) ;
- 2ème ligne : [Link](A1:A10;2) ;
- 3ème ligne : [Link](A1:A10;3).
Ensuite, la fonction MOYENNE calcule la moyenne de ce tableau intermédiaire,
renvoyant ainsi le résultat désiré.
X.2.2. Compter des cellules contenant du texte
Pour compter le nombre de cellules contenant du texte dans une plage de cellules
(ici B1:B10), utilisez la formule suivante : {=SOMME(ESTTEXTE(B1:B10)*1)}
Un tableau intermédiaire de 10 lignes et 1 colonne est créé. Il contient 1 si la cellule
correspondante dans B1:B10 contient du texte, et 0 sinon. Ainsi, la fonction SOMME
totalise bien le nombre de cellules contenant du texte. La fonction ESTTEXTE renvoie
un résultat booléen, soit VRAI ou FAUX. Les propriétés suivantes sont alors utilisées
:
- VRAI * 1 = 1 ;
- FAUX * 1 = 0.
X.2.3. Compter les doublons dans une liste
Pour compter le nombre de données d’une plage (B1:B10) également présentes dans
une autre plage (A1:A10), voici la formule à utiliser : {=SOMME([Link](A1:A10;B1:B10))}
X.2.4. Faire des calculs conditionnels
Il est possible, grâce aux formules matricielles, de faire des calculs conditionnels.
Supposons que vous disposiez d’un tableau de données issues d’un système de
gestion commerciale, qui se compose de quatre colonnes : ville (plage A2:A81), mois
(plage B2:B81), produit (plage C2:C81) et ventes (plage D2:D81).
Pour connaître le montant des ventes à Lyon en février, recourez à la formule
matricielle suivante : {=SOMME((A2:A81= "Lyon") * (B2:B81= "Février") * D2:D81)}
Vous utilisez à nouveau les propriétés des valeurs booléennes (VRAI et FAUX)
lorsqu’elles sont multipliées par des valeurs numériques. En multipliant les valeurs,
vous obtenez une combinaison logique ET.
Pour obtenir une combinaison logique OU, il faut utiliser des additions. Ainsi, pour
connaître les ventes de Lyon ou de Bordeaux, voici la formule à utiliser :
{=SOMME(((A2:A81="Lyon") + (A2:A81="Bordeaux"))* D2:D81)}
Enfin, vous allez créer un tableau de synthèse des ventes mensuelles pour les
ordinateurs et les imprimantes.
1. En G6, saisissez Janvier et étendez le contenu, à l’aide de la poignée de recopie,
jusqu’en J6.
2. En F7 et F8, saisissez respectivement Ordinateurs et Imprimantes.
3. Sélectionnez G7.
108
4. Saisissez =SOMME(($B$2:$B$81=G$6)*($C$2:$C$81=$F7)*$D$2:$D$81).
5. Validez par [Ctrl]+[Maj]+[Entrée].
6. Étendez la formule, à l’aide de la poignée de recopie, à la plage G7:J8.
X.2.5. Créer une suite de nombres
La formule suivante permet de créer une suite de nombres entiers positifs dans une
plage de cellules. Pour créer la suite des nombres entiers de 1 à 10 dans la plage
A5:A14, sélectionnez-la au préalable et créez la formule matricielle suivante :
{=LIGNE(INDIRECT("1:10"))}
La fonction INDIRECT renvoie une référence à partir d’une valeur de texte. Ici, la
fonction renvoie les lignes de 1 à 10. Vous appliquez ensuite la fonction LIGNE pour
obtenir chacun des numéros.
X.2.6. Compter le nombre de lundi d’un mois
Pour connaître le nombre de lundis d’un mois donné, voici la formule à utiliser (le
numéro du mois est en A1 et l’année en A2) :
{=SOMME((JOURSEM(DATE(A2;A1;LIGNE(INDIRECT("1:"&JOUR(DATE
(A2;A1+1;0))))))=2)*1)}
Cette formule est un peu complexe. Nous allons donc la détailler. Il s’agit en fait de
tester si le jour de la semaine (fonction JOURSEM) de chacun des jours du mois est
égal à 2, c’est-à-dire au lundi.
Pour faire « défiler » les jours du mois (en utilisant la fonction DATE), vous utilisez en
fait le principe vu précédemment, qui permet d’obtenir une suite de nombres entiers
: LIGNE(INDIRECT("1:" & JOUR(DATE(A2; A1+1;0))))
Toute la difficulté réside ici dans la détermination du dernier jour du mois, soit :
JOUR(DATE(A2; A1+1;0))
Pour obtenir le dernier jour du mois, il faut utiliser une astuce : il s’agit d’exploiter le
« 0e » jour du mois suivant. La fonction JOUR donne ensuite son numéro. Il est
possible de compter les autres jours de la semaine en remplaçant 2 par 3 pour le
mardi, par 4 pour le mercredi, 5 pour le jeudi, 6 pour le vendredi, 7 pour le samedi et
1 pour le dimanche.
X.2.7. Transposer une matrice
Transposer une matrice consiste à obtenir une matrice dont les lignes sont
composées des éléments des colonnes de la matrice initiale. Il y a une symétrie par
rapport à la diagonale de la matrice initiale. Pour obtenir la transposée de la matrice
A1:D5, qui compte 5 lignes et 4 colonnes, sélectionnez une plage de 4 lignes et 5
colonnes (par exemple A9:E12) et saisissez : {=TRANSPOSE (A1 : D5)}
109
X.2.8. Inverser une matrice
Inverser une matrice est une opération mathématique qui peut s’avérer très
fastidieuse. Il s’agit, à partir d’une matrice donnée, d’obtenir la matrice qui,
multipliée par la matrice initiale donnera la matrice identité, c’est-à-dire la matrice
dont la diagonale est composée de 1 et dont les autres éléments sont nuls.
Pour inverser la matrice A1:D4, sélectionnez au préalable une plage de 4 lignes et 4
colonnes, par exemple A9:D12, puis saisissez la formule : {=INVERSEMAT(A1:D4)}
Attention : toutes les matrices ne sont pas inversibles ! Pour vérifier qu’une matrice
est inversible, il faut calculer son déterminant (fonction DETERMAT). Si celui-ci n’est
pas nul, la matrice est inversible.
Les fonctions DETERMAT et INVERSEMAT ne fonctionnent qu’avec des matrices
présentant le même nombre de lignes et de colonnes. Pour vérifier que la matrice
inverse correspond bien à sa définition, vous allez calculer le produit de la matrice et
de sa matrice inverse en A17:D20, à l’aide de la fonction PRODUITMAT :
{=PRODUITMAT(A1:D4;A9:D12)}
X.2.9. Résoudre un système d’équations
Une utilisation classique de l’inversion d’une matrice est la résolution de système
d’équations linéaires.
Un système d’équations linéaires est un ensemble de plusieurs équations linéaires.
Une équation linéaire est une expression du type : 3x + 2y + 5z = 32. Les chiffres sont
appelés « coefficients » et x, y et z « inconnues ». Voici maintenant un exemple de
système d’équations linéaires :
x+y+z=6
3x + 2y + 5z = 22
2x + y + 3z = 13
Résoudre ce système consiste à trouver les valeurs de x, y et z qui satisfont aux trois
équations. Il existe des méthodes, reposant sur des approches matricielles, qui
permettent un calcul rapide, d’autant plus rapide s’il est mis en œuvre avec Excel !
Un système d’équations linéaires peut en effet s’écrire sous forme d’égalité
matricielle : A * X = B, où A est la matrice des coefficients, X la matrice des inconnues
et B la matrice des seconds membres. Reprenons l’exemple précédent. Voici les
matrices mises en jeu :
A : matrice des coefficients
1 1 1
3 2 5
2 1 3
110
X : matrice des inconnues
X
Y
Z
B : matrice des seconds membres
6
22
13
La méthode de résolution envisagée consiste à calculer la matrice inverse de la
matrice des coefficients (notée A−1) à l’aide de la fonction INVERSEMAT.
Rappelons que l’inversion d’une matrice n’est possible que si son déterminant n’est
pas nul.
Une fois la matrice inverse calculée, résolvez le système en calculant A−1 × B, à l’aide
de la fonction PRODUITMAT. Le résultat donne les valeurs de x, y et z sous forme
matricielle. En effet, X = A−1 × B.

Chapitre XI. Découvrir d’autres utilisations des formules


Dans ce chapitre, vous allez mettre à profit vos connaissances sur les formules pour
améliorer la lisibilité et la cohérence des données saisies dans vos feuilles de calcul.
Vous allez en effet utiliser des formules pour définir des mises en forme
conditionnelles efficaces. Une mise en forme conditionnelle n’apparaît que si les
conditions que vous avez définies sont remplies. Il s’agit en quelque sorte d’une mise
en forme « intelligente ».
Ensuite, vous apprendrez à valider le contenu des cellules. Les validations
permettent d’« encadrer » la saisie dans les feuilles de calcul, afin notamment d’éviter
que les formules renvoient des erreurs à cause de paramètres erronés.
XI.1. Définir des mises en forme conditionnelles
Excel vous propose de nombreux outils pour mettre en forme vos feuilles de calcul :
polices de caractères, couleur, bordure des cellules, etc. Pourtant, les mises en forme
que vous pouvez définir avec ces outils sont "statiques" et s’appliquent
indépendamment du contenu des cellules. Dans certaines situations, il peut être
souhaitable de mettre en exergue telles ou telles cellules, en raison de valeurs
particulières qu’elles contiennent (valeurs faibles ou fortes par exemple). Les mises
en forme conditionnelles sont utilisées dans ces cas-là. Comme leur nom l’indique,
elles dépendent de conditions sur le contenu de la cellule ou sur le résultat de
formules.
111
Depuis la version précédente d’Excel (2007), cette fonctionnalité a pris une nouvelle
dimension. En effet, elle est plus conviviale et offre davantage de possibilités d’effets
graphiques pour mettre en évidence les données importantes ou encore les
tendances de vos tableaux.
XI.1.1. Utiliser les mises en forme conditionnelles prédéfinies
Dans un premier temps, nous allons décrire les mises en forme conditionnelles
prédéfinies.
Pour accéder à cette fonctionnalité :
1. Sélectionnez la plage à laquelle la mise en forme doit s’appliquer.
2. Dans l’onglet Accueil, cliquez sur le bouton Mise en forme conditionnelle du
groupe Style.
Règles de mise en surbrillance des cellules
Cette première catégorie de mises en forme conditionnelles permet de mettre en
évidence des cellules en comparant leur contenu à des valeurs particulières.
Règles des valeurs plus/moins élevées
Cette catégorie de mises en forme conditionnelles permet de mettre en évidence
des cellules en les situant par rapport à l’ensemble des valeurs de la plage. Ainsi, il
est possible de mettre en évidence les cinq plus fortes valeurs, les 10 % de valeurs les
plus faibles, ainsi que les valeurs supérieures ou inférieures à la moyenne.
Barres de données
Cette catégorie de mises en forme conditionnelles permet d’afficher dans chaque
cellule de la plage une barre de couleur proportionnelle à la valeur de la cellule.
Nuances de couleurs
Cette catégorie de mises en forme conditionnelles permet de visualiser la
distribution des valeurs à l’aide de dégradés de couleurs. Cela s’apparente à certaines
cartes météorologiques où les zones à fortes températures sont affichées en rouges,
celles à faibles températures en bleu et les zones intermédiaires en dégradé de
couleurs selon la valeur de la température.
Jeux d’icônes
Cette dernière catégorie de mises en forme conditionnelles permet d’afficher dans
chaque cellule de la plage une icône indiquant comment se situe la valeur de la cellule
par rapport aux valeurs de la plage.
XI.1.2. Créer des règles de mise en forme conditionnelles personnalisées
Si, malgré la diversité des choix proposés, vous ne trouvez pas de mise en forme
conditionnelle prédéfinie satisfaisante, vous avez la possibilité de créer vos propres
règles. Pour cela :
112
1. Sélectionnez la plage à laquelle la mise en forme doit s’appliquer.
2. Dans l’onglet Accueil, cliquez sur le bouton Mise en forme conditionnelle du
groupe Style.
3. Sélectionnez Nouvelle règle.
4. Dans la boîte de dialogue Nouvelle règle de mise en forme, vous avez la possibilité
de choisir parmi plusieurs thèmes :
- Mettre en forme toutes les cellules d’après leur valeur ;
- Appliquer une mise en forme uniquement aux cellules qui contiennent… ;
- Appliquer une mise en forme uniquement aux valeurs rangées parmi les
premières ou les dernières valeurs ;
- Appliquer une mise en forme uniquement aux valeurs au-dessus ou en dessous
de la moyenne ;
- Appliquer une mise en forme uniquement aux valeurs uniques ou aux
doublons ;
- Utiliser une formule pour déterminer pour quelles cellules le format sera
appliqué.
5. Cliquez sur un thème, définissez votre règle et validez par OK.
Nous allons à présent décrire en détail l’utilisation d’une formule pour définir une
règle de mise en forme conditionnelle.
Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué
Il s’agit ici de règles permettant d’appliquer une mise en forme aux cellules en
fonction du résultat d’une formule. Si le résultat de la formule est la valeur logique
VRAI, la mise en forme sera appliquée. En revanche, si le résultat de la formule est la
valeur logique FAUX, la mise en forme ne sera pas appliquée.
Pour définir une règle de mise en forme :
1. Saisissez la formule dans la zone. Il est possible de sélectionner une cellule au lieu
de saisir une formule. La cellule sélectionnée doit contenir une formule renvoyant
VRAI ou FAUX. Cliquez sur le bouton Format afin de définir le format à appliquer si la
règle est satisfaite.
3. Cliquez sur le bouton Aperçu si vous souhaitez visualiser le résultat sur la feuille de
calcul.
4. Cliquez sur OK pour valider.
XI.1.3. Créer des mises en forme conditionnelles
Nous allons à présent décrire quelques mises en forme conditionnelles relevant de
problématiques classiques.
113
Mettre en évidence les nombres pairs
Pour mettre en évidence les nombres pairs dans une plage de cellules, vous devez
faire appel à une mise en forme conditionnelle fondée sur une formule. Pour cela,
sélectionnez la plage à laquelle doit être appliquée la mise en forme (par exemple
B2:D10), puis définissez la condition suivante (en supposant que B2 est la cellule
active) : « La formule est =MOD(B2;2)=0 ».
La fonction MOD renvoie le reste de la division de B2 par 2. Si le contenu de B2 est
pair, le reste est donc 0. Notez l’utilisation d’une référence relative à la cellule B2. En
effet, il faut considérer que la formule s’applique à la cellule active (ici à B2).
L’utilisation de référence relative permet à la formule de « s’adapter » aux autres
cellules de la sélection.
Mettre en évidence les doublons
Pour mettre en évidence les doublons dans une plage de cellules, il faut avoir recours
à une formule. Sélectionnez la plage désirée (ici B2:D10), puis définissez la condition
: « La formule est =[Link]($B$2:$D$10;B2)>1 ».
Comme précédemment, notez l’importance des références absolues et relatives.
Pour la plage B2:D10, les références absolues permettent de « figer » la plage,
puisque c’est toujours sur elle que doit porter la recherche par [Link].
Griser une ligne sur deux
Afin d’améliorer la lisibilité des grands tableaux, il peut s’avérer utile de griser une
ligne sur deux. L’intérêt de la mise en forme conditionnelle par rapport à la mise en
forme « classique » réside dans la possibilité de trier les lignes sans remettre en cause
l’alternance de lignes grisées et non grisées.
Pour mettre en œuvre cette mise en forme, sélectionnez tout d’abord les cellules
auxquelles elle doit s’appliquer, puis saisissez la condition suivante : « La formule est
=MOD(LIGNE();2)=0 ». La fonction LIGNE renvoie le numéro de la ligne de la cellule.
La fonction MOD renvoie le reste de la division du numéro de la ligne par 2. Si le
numéro est pair, le format est appliqué.
XI.2. Définir des validations du contenu des cellules
Supposons que vous conceviez une feuille dans laquelle des utilisateurs saisiront des
informations. Malgré toute leur bonne volonté, des erreurs de frappe surviendront
inévitablement. Heureusement, il existe un outil, en l’occurrence la validation du
contenu des cellules, qui permet de définir ce qui est autorisé et ce qui ne l’est pas
dans une cellule.
XI.2.1. Connaître le principe de la validation du contenu
Pour mettre en place une validation du contenu des cellules :
1. Sélectionnez la cellule ou la plage de cellules concernées.
114
2. Dans l’onglet Données, cliquez sur le bouton Validation des données du groupe
Outils de données.
3. Dans l’onglet Options de la boîte de dialogue Validation des données, sélectionnez
le type de validation à appliquer, à l’aide de la liste déroulante Autoriser.
Les types de validations
Intitulé Commentaires
Tout Aucune restriction sur le contenu. C’est le paramétrage appliqué
par défaut.
Nombre Seuls les nombres entiers sont autorisés.
entier
Décimal Les nombres entiers et décimaux sont autorisés.
Liste Les valeurs autorisées sont définies par une liste exhaustive. Il est
possible de spécifier des valeurs séparées par des points virgules
dans la zone Source ou d’indiquer dans cette zone la référence à
une plage de cellules contenant les valeurs autorisées. La
deuxième méthode est évidemment beaucoup plus souple.
Date Seules les dates sont autorisées.
Heure Seules les heures sont autorisées.
Longueur de Seules les données dont le nombre de caractères satisfait au
texte critère choisi sont autorisées.
Personnalisé Permet de définir une validation à l’aide d’une formule de calcul.
Cette formule doit renvoyer une valeur VRAI ou FAUX. Si la valeur
est VRAI, le contenu est considéré comme valide.
4. Une fois le type de validation choisi, il faut définir les critères de validation
correspondants à l’aide de la liste déroulante Données.
5. La case à cocher Ignorer si vide permet d’indiquer que, si l’utilisateur ne saisit rien
dans une cellule, Excel ne considère pas qu’il s’agit d’une erreur.
6. Cliquez sur l’onglet Message de saisie. Vous pouvez alors saisir un message qui
apparaîtra lorsque la cellule sera sélectionnée.
7. Cliquez sur l’onglet Alerte d’erreur. Vous pouvez saisir un message qui apparaîtra
lorsque la procédure de validation ne reconnaîtra pas la saisie.
8. Dans la zone Style, vous pouvez choisir entre Arrêt, Avertissement et
Informations. Si vous choisissez Arrêt, l’utilisateur n’aura d’autre choix que de se
conformer à la validation. Si vous sélectionnez l’une des autres possibilités, il pourra
passer outre (plus ou moins rapidement).
9. Validez par OK.
Pour supprimer une validation, cliquez sur le bouton Effacer tout de la boîte de
dialogue Validation des données. Lorsque vous modifiez une validation de contenu
de cellules, la case à cocher Appliquer ces modifications aux cellules de paramètres
115
identiques permet d’indiquer que vous souhaitez que toutes les cellules de la feuille
de calcul qui utilisent les mêmes paramètres de validation que la cellule courante
hérite des modifications que vous êtes en train de faire. Ainsi, pour modifier la
validation d’un ensemble de cellules très éloignées les unes des autres (mais utilisant
strictement les mêmes paramètres), modifiez simplement la validation de l’une
d’entre elles et activez cette case à cocher avant de valider les modifications.
XI.2.2. Créer des validations
Les exemples suivants utilisent des validations de type Personnalisé, qui permettent
de traiter des cas spécifiques.
Forcer la saisie en majuscules
Pour forcer la saisie en majuscules dans une plage de cellules, sélectionnez cette
plage, par exemple A1:C10, puis saisissez dans la zone Formule :
=EXACT(A1;MAJUSCULE(A1))
Dans ce cas, la cellule active est A1. La fonction EXACT compare, en distinguant
majuscules et minuscules, le contenu de A1 et ce même contenu converti en
majuscules grâce à la fonction MAJUSCULE.
Il est possible d’améliorer la validation en vérifiant que la saisie est bien un texte : =
ET(ESTTEXTE(A1); EXACT(A1;MAJUSCULE(A1)))
Forcer la saisie de dates du mois courant
Pour forcer la saisie de dates du mois courant dans une plage de cellules,
sélectionnez la plage concernée, puis saisissez la formule :
=MOIS(A1)=MOIS(AUJOURDHUI())
La fonction MOIS permet d’isoler le mois de la date saisie et de le comparer au mois
de la date du jour, renvoyée par la fonction AUJOURDHUI.
Pour forcer la saisie de dates de l’année et du mois courants, utilisez la formule
suivante : =ET(ANNEE(A1) = ANNEE(AUJOURDHUI()); MOIS(A1) =
MOIS(AUJOURDHUI()))

Chapitre XII. Créer des fonctions personnalisées


Comme tous les outils de la suite Microsoft Office, Excel est doté d’un puissant
langage de développement : Visual Basic pour Applications (VBA). VBA permet de
concevoir de véritables applications « professionnelles » à partir d’Excel. Ce n’est
bien évidemment pas l’objectif de ce chapitre. Nous nous contenterons d’aborder
les concepts principaux de ce langage évolué, dit « orienté objet ». Évidemment, nous
ne pourrons pas illustrer l’ensemble des fonctionnalités de VBA. Il s’agira plutôt de
fournir une boîte à outils de premier niveau pour créer des fonctions personnalisées,
116
qui viendront compléter les fonctions existantes, afin de traiter au mieux vos
problématiques.
Dans un premier temps, nous allons décrire rapidement les notions de base liées à la
programmation, et plus particulièrement la programmation orientée objet. Nous
nous attarderons ensuite sur les objets propres à Excel : les classeurs, les feuilles de
calcul, les cellules. C’est en manipulant ces objets via VBA que vous réaliserez vos
fonctions personnalisées. Enfin, nous présenterons les principales fonctionnalités de
l’environnement de développement Visual Basic Editor. Après ce tour d’horizon du
langage et de l’environnement de développement, il sera grand temps de passer aux
travaux pratiques !
XII.1. Comprendre les notions de base
Nous allons passer rapidement en revue les notions de base liées à la programmation
en VBA.
XII.1.1. Découvrir les objets
Les objets constituent le cœur de la programmation en VBA. Il convient donc de bien
maîtriser leur manipulation.
XII.1.2. Définition
VBA est un langage orienté objet. Mais qu’est-ce qu’un objet ? Pour VBA, un classeur,
une feuille de calcul, une cellule, un bouton ou un graphique sont par exemple des
objets. Il existe une hiérarchie entre les objets. En effet, un objet « classeur » est
composé d’objets « feuilles de calcul », eux-mêmes composés d’objets « cellules ».
VBA peut ainsi identifier précisément chaque objet et lui appliquer des traitements.
On parle de collection d’objets pour identifier plusieurs objets du même type
(l’ensemble des classeurs ouverts, par exemple, ou l’ensemble des feuilles de calcul
d’un classeur).
XII.1.3. Propriétés
Un être humain est défini par son poids, sa taille, la couleur de ses cheveux, de ses
yeux, etc. VBA considérerait ces caractéristiques comme les propriétés de l’objet «
homme ». Il s’agit en fait des caractéristiques définissant l’apparence et la position
de l’objet.
Une feuille de calcul possède, par exemple, une propriété qui définit son nom. Une
cellule possède des propriétés permettant de définir son contenu, la couleur du fond,
la police, la hauteur, etc.
La syntaxe est : [Link]été.
Quelques exemples de propriétés
Exemple Signification
[Link] Nom de la feuille active du classeur actif
117
Worksheets(1).Name Nom de la première feuille du classeur actif
Range("C17").Value Valeur de la cellule C17
XII.1.4. Méthodes
Un être humain peut marcher, courir, manger, dormir… Pour VBA, ces facultés
seraient les méthodes de l’objet « homme ». Il s’agit de l’ensemble des « actions » qui
peuvent être appliquées à l’objet. Ainsi, une feuille de calcul dispose d’une méthode
qui calcule les formules qu’elle contient.
La syntaxe est : objet.méthode.
Quelques exemples de méthodes
Exemple Signification
[Link] Ferme tous les classeurs actifs.
Worksheets(1).Calculate Calcule les formules de la première feuille du
classeur actif.
Range("C17").ClearContents Efface le contenu de la cellule C17
XII.1.5. Découvrir les procédures
Une procédure est un ensemble d’instructions réunies en une seule unité.
Il existe deux types de procédures :
- les routines ;
- les fonctions.
XII.1.6. Les routines
Une routine est une procédure conçue dans le but de réaliser une tâche spécifique.
Lorsque vous enregistrez une macro, une routine est automatiquement créée par
l’Enregistreur de macros. Une routine respecte la syntaxe suivante :
Sub Nom_Routine (Arguments)
Instruction
Instruction

End Sub
Les arguments sont des paramètres éventuellement transmis à la routine pour
qu’elle puisse les traiter. Une routine débute par l’instruction Sub, suivie du nom de
la routine. La routine se termine par l’instruction End Sub, mais il est possible de
prévoir une sortie anticipée, dans certaines situations, grâce à l’instruction Exit Sub.
Il est possible d’appeler une routine à partir d’une autre routine grâce à l’instruction
Call, suivie du nom de la routine appelée. Une routine est dite « publique » lorsqu’elle
peut être appelée depuis d’autres modules de code. Une routine privée est, quant à
elle, uniquement accessible depuis son propre module. Pour créer une routine
publique, il faut utiliser Public Sub. Pour créer une routine privée, il faut utiliser
118
l’instruction Private Sub. Les routines publiques, contrairement aux privées,
apparaissent dans la boîte de dialogue Macro.
XII.1.7. Les fonctions
Les fonctions sont également constituées d’un ensemble d’instructions. Mais, à la
différence des routines, elles renvoient un résultat obtenu grâce à un calcul.
Une fonction respecte la syntaxe suivante :
Function Nom_Fonction (Arguments)
Instruction
Instruction

Nom_Fonction=Expression
End Function
Les arguments sont des paramètres éventuellement transmis à la fonction pour
qu’elle puisse les traiter. Une fonction débute par l’instruction Function, suivie du
nom de la fonction. La fonction se termine par l’instruction End Function mais il est
possible de prévoir une sortie anticipée, dans certaines situations, grâce à
l’instruction Exit Function.
Il est impératif que la dernière ligne de la fonction renvoie le résultat du calcul. Voici
par exemple une fonction simplifiée de conversion des francs en euros :
Function Conv_Euro (Montant)
Conv_Euro=Montant/6.55957
End Function
Il existe également des fonctions publiques (Public Function) et des fonctions
privées (Private Function).
XII.1.8. Découvrir les variables
Les variables sont utilisées dans les routines et les fonctions pour stocker des
données. Elles peuvent être de plusieurs types :
- objets ;
- numériques ;
- chaînes de caractères ;
- booléennes (True : vrai ou False : faux) ;
- dates.
1. Objets
Une telle variable peut contenir une cellule, une feuille de calcul, etc.
2. Numériques
Il existe plusieurs types de variables numériques. Elles dépendent de la précision et
de l’étendue de la plage de valeurs :
- Byte : 0 à 255.
119
- Integer : -32 768 à 32 767.
- Long : -2 147 483 648 à 2 147 483 647.
- Single : -3,402823E38 à -1,401298E-45 pour les valeurs négatives, et 1,401298E-
45 à 3,402823E38 pour les valeurs positives.
- Double : -1,79769313486231E308 à -4,94065645841247E-324 pour les valeurs
négatives, et 4,94065645841247E-324 à 1,79769313486232E308 pour les
valeurs positives.
- Currency : 922 337 203 685 477,5808 à 922 337 203 685 477,5807. Ce type de
données est utilisé dans les calculs monétaires ou dans les calculs à virgule fixe
pour lesquels une grande précision est requise.
- Decimal : pour les nombres qui ne comportent pas de décimales, la plage de
valeurs est +/-79 228 162 514 264 337 593 543 950 335. Pour les nombres à 28
décimales, la plage est +/- 7,9228162514264337593543950335.
Le séparateur décimal est systématiquement le point.
3. Chaînes de caractères
Il existe deux types de chaînes de caractères :
- les chaînes de caractères à longueur fixe, qui peuvent contenir jusqu’à 65 400
caractères ;
- les chaînes de caractères à longueur variable, qui peuvent contenir jusqu’à 2
milliards de caractères.
4. Booléennes
Ces variables peuvent prendre seulement deux valeurs :
- True : vrai.
- False : faux.
5. Dates
VBA accepte les dates jusqu’au 31 décembre 9999.
XII.1.9. Déclarer les variables
Il est préférable de déclarer les variables au début d’une procédure. La déclaration
consiste à donner le nom de la variable et à spécifier le type de données qu’elle peut
recevoir. Cela permet de visualiser rapidement les données utilisées par la procédure
et évite d’éventuelles erreurs. Si vous déclarez une variable comme numérique, vous
ne pourrez lui affecter du texte.
L’instruction utilisée est Dim. Sa syntaxe est la suivante :
Dim Nom_Variable As Type_de_Donnée
Dans la syntaxe, Type_de_Donnée peut prendre les valeurs suivantes :
• Object.
• Byte.
120
• Integer.
• Long.
• Single.
• Double.
• Currency.
• String : chaîne de caractères de longueur variable.
• String * Nb_Caractères : chaîne de caractères de longueur égale à
Nb_Caractères.
• Boolean.
• Date.
• Variant.
Le dernier type de variable peut contenir tout type de valeurs (numériques,
caractères…). Utilisez-le lorsque vous ne connaissez pas le type des données
susceptibles d’être affectées à une variable. Lorsque vous ne déclarez pas vos
variables, VBA les considère automatiquement comme relevant de ce type de
données. Variant est gourmand en mémoire car VBA doit prévoir de l’espace pour
que la variable puisse accepter des valeurs de tous types.
XII.1.10. Affectation de valeurs aux variables
Exemple d’affectation d’une valeur numérique à une variable :
Variable_Num=10
Exemple d’affectation d’une chaîne de caractères à une variable :
Variable_Chaine="Texte"
Exemple d’affectation d’une date à une variable :
Variable_Date=#16/10/71#
Exemple d’affectation d’une valeur booléenne à une variable :
Variable_Booleen=True
XII.1.11. Les tableaux
Dans certaines situations, il est nécessaire de stocker des tableaux de valeurs (de
noms par exemple). Le nom de la variable (en d’autres termes, le nom du tableau)
est unique, mais chaque valeur est repérée par un numéro.
Par exemple :
Dim Noms(10) As String
Nom(0)="Pierre"
Nom(1)="Paul"
Nom(2)="Jacques"

La numérotation débute par l’indice 0. Ainsi dans l’exemple précédent, il est possible
de stocker 11 noms dans la structure Noms. Un tableau peut comprendre plusieurs
dimensions :
121
Dim Chiffre_Affaires(5,4) As Long
Le tableau Chiffre_Affaires peut contenir 6 × 5 = 30 valeurs. Par exemple, la première
dimension peut correspondre aux commerciaux (6 commerciaux) et la deuxième aux
produits (5 produits). Chiffre_Affaires(1,3) correspond au chiffre d’affaires du
commercial 1 pour le produit 3.
XII.1.12. La portée et la durée de vie des variables
La portée d’une variable est l’ensemble des procédures dans lesquelles elle est
accessible. Lorsqu’une variable est déclarée à l’intérieur d’une procédure, elle est
uniquement accessible dans cette procédure. Une telle variable est dite « privée ».
Pour qu’une variable soit accessible dans toutes les procédures d’un module, il faut
la déclarer dans la section Déclarations du module. Pour qu’une variable soit
accessible dans tous les modules, il faut la déclarer dans la section Déclarations d’un
module à l’aide de l’instruction Public (au lieu de Dim).
Une variable privée conserve sa valeur durant l’exécution de la procédure dans
laquelle elle a été déclarée. Pour qu’elle conserve sa valeur après la fin de la
procédure, il faut la déclarer avec l’instruction Static (au lieu de Dim).
XII.1.13. Connaître les instructions fondamentales de VBA
Nous allons maintenant décrire quelques instructions de base de VBA. Évidemment,
cette liste n’est pas exhaustive. Elle constitue simplement une boîte à outils pour les
débutants en programmation.
XII.1.14 Les instructions de programmation
1. Call
Exécute une routine.
Syntaxe : Call routine
routine Nom de la routine à exécuter.
2. If… Then… Else… End If
Permet d’exécuter conditionnellement des instructions en fonction du résultat d’une
expression. Si l’expression est vraie, les instructions situées après le mot-clé Then
sont exécutées. Il est possible d’imbriquer plusieurs niveaux de tests.
Syntaxe 1 :
If expression Then Instruction
Syntaxe 2 :
If expression Then
Instruction
Instruction

End If
Syntaxe 3 :
122
If expression Then
Instruction
Instruction

Else
Instruction
Instruction

End If
Syntaxe 4 :
If expression1 Then
Instruction
Instruction

ElseIf expression1 Then
Instruction
Instruction

Else
Instruction
Instruction

End If
Exemple :
If Prix>1000 Then
Remise=0,1
ElseIf Prix>500 then
Remise=0.05
Else
Remise=0
End If
3. Select Case… End Select
Exécute un des blocs d’instructions indiqués, selon la valeur d’une expression.
Syntaxe 1 :
Select Case expression
Case valeur1
Instruction
Instruction

Case valeur2
Instruction
Instruction

123
Case Else
Instruction
Instruction

End Select
Syntaxe 2 :
Select Case expression
Case valeur1 To valeur 3
Instruction
Instruction

Case valeur4
Instruction
Instruction

Case Else
Instruction
Instruction

End Select
Exemple :
Select Case code_client
Case 1 To 3
Remise=0.1
Case 4
Remise=0.05
Case 5
Remise=0.02
Case Else
Remise=0
End Select
4. Do… Loop
Répète un bloc d’instructions aussi longtemps qu’une condition est vraie (True) ou
jusqu’à ce qu’une condition devienne vraie (True).
Syntaxe 1 :
Do While condition
Instruction
Instruction

Loop
Les instructions sont exécutées tant que la condition est vraie. Si la condition n’est
pas réalisée avant l’entrée dans la boucle, les instructions ne sont pas modifiées.
124
Syntaxe 2 :
Do Until condition
Instruction
Instruction

Loop
Les instructions sont exécutées jusqu’à ce que la condition devienne vraie. Si la
condition est réalisée avant l’entrée dans la boucle, les instructions ne sont pas
modifiées.
Syntaxe 3 :
Do
Instruction
Instruction

Loop While condition
Les instructions sont exécutées tant que la condition est vraie. Même si la condition
n’est pas réalisée avant l’entrée dans la boucle, les instructions sont exécutées au
moins une fois puisque le test est en fin de boucle.
Syntaxe 4 :
Do
Instruction
Instruction

Loop Until condition
Les instructions sont exécutées jusqu’à ce que la condition devienne vraie. Même si
la condition est réalisée avant l’entrée dans la boucle, les instructions sont exécutées
au moins une fois puisque le test est en fin de boucle.
Exemple :
Do While [Link]<>""
[Link](1,0).select
Loop
Tant que la cellule active n’est pas vide, cette séquence d’instructions décale la
cellule active d’une ligne vers le bas. Elle permet d’atteindre la première cellule vide
dans une colonne.
5. For… Next
Répète un groupe d’instructions le nombre de fois indiqué.
Syntaxe :
For compteur = début To fin Step pas
Instruction
Instruction
125

Next compteur
La variable compteur prend successivement les valeurs de début à fin, VBA lui
ajoutant pas à chaque passage. pas peut être positif ou négatif, entier ou décimal.
Exemple :
For i=1 to 100
Nom(i)=""
Next i
Cette boucle initialise le tableau Nom.
For Each… Next
Répète un groupe d’instructions pour chaque élément d’un tableau ou d’une
collection.
Syntaxe :
For Each élément In groupe
Instruction
Instruction

Next élément
L’entrée dans la boucle s’effectue si l’argument groupe contient au moins un
élément. Une fois dans la boucle, toutes les instructions de cette dernière sont
appliquées au premier élément de groupe. Si groupe comprend plusieurs éléments,
la boucle continue de s’exécuter pour chaque élément. Une fois tous les éléments
de groupe traités, l’instruction située après l’instruction Next est exécutée.
groupe peut être une plage de cellules. Les instructions sont alors appliquées à
chacune des cellules de la plage.
Exemple :
For Each cellule In Range("A1:B3")
[Link]="Test"
Next
Cette boucle remplit la plage A1:B3 avec la valeur Test.
6. GoTo
Effectue un branchement inconditionnel vers une ligne déterminée d’une procédure,
en l’occurrence la procédure dans laquelle GoTo est utilisée.
Syntaxe : GoTo étiquette
étiquette : Indique l’emplacement de la ligne.
Exemple :
If Prix>1000 then GoTo Remise

126
Remise:
Prix=Prix*0.95
7. On Error Goto
Valide une routine de gestion d’erreurs et définit son emplacement au sein d’une
procédure.
Syntaxe : On Error GoTo étiquette
étiquette : Indique l’emplacement de la routine de gestion des erreurs.
Exemple :
Sub Test
On Error GoTo Erreur

Exit Sub
Erreur :
…Instructions de traitement des erreurs
End Sub
Il est souhaitable de positionner l’instruction Exit Sub avant le début de la routine de
traitement des erreurs. Ainsi, il est possible de quitter la procédure sans exécuter les
instructions de traitement quand tout se passe bien.
XII.1.15. Les fonctions
1. Abs
Renvoie la valeur absolue d’un nombre. La valeur renvoyée est de même type que
celle transmise.
Syntaxe : Abs(nombre)
nombre : Expression numérique.
2. Date
Définit la date système courante.
Syntaxe : Date = date
date : Expression de type Date.
3. DateAdd
Renvoie une valeur de type Variant (Date) contenant une date à laquelle un intervalle
de temps spécifié a été ajouté.
Syntaxe : DateAdd(intervalle, nombre, date)
intervalle : Expression de type texte correspondant au type d’intervalle ("yyyy" est
l’année, "m" le mois, "d" le jour).
nombre : Expression numérique correspondant au nombre d’intervalles à
ajouter. Cette expression peut être positive ou négative.
127
date : Date à laquelle l’intervalle est ajouté.
4. DatePart
Renvoie une valeur de type Variant (Integer) contenant l’élément spécifié d’une date
donnée.
Syntaxe : DatePart(élément, date)
élément : Expression de type texte correspondant au type d’élément ("yyyy" est
l’année, "m" le mois, "ww" la semaine, "y" le jour de l’année, "w" le jour
de la semaine).
date : Date à évaluer.
5. DateSerial
Renvoie une valeur de type Variant (Date) correspondant à une année, un mois et un
jour déterminés.
Syntaxe : DateSerial(année, mois, jour)
année : Expression numérique.
mois : Expression numérique.
jour : Expression numérique.
DateValue
Renvoie une valeur de type Variant (Date).
Syntaxe : DateValue(date)
date : Expression de type chaîne ("03/07/73" par exemple).
6. Day
Renvoie une valeur de type Variant (Integer) indiquant un nombre entier compris
entre 1 et 31 qui représente le jour du mois.
Syntaxe : Day(date)
date : Expression de type Date.
7. Fix
Renvoie la partie entière d’un nombre. Différence entre les fonctions Int et Fix : si
l’argument nombre est négatif, Int renvoie le premier entier négatif inférieur ou égal
à nombre, alors que Fix renvoie le premier entier négatif supérieur ou égal à nombre.
Par exemple, Int convertit -8,4 en -9 et Fix convertit -8,4 en -8.
Syntaxe : Fix(nombre)
nombre : Expression numérique.
128
8. InStr
Renvoie une valeur de type Variant (Long) indiquant la position de la première
occurrence d’une chaîne à l’intérieur d’une autre chaîne.
Syntaxe : InStr([début, ]chaîne1, chaîne2)
début : Définit la position de départ de chaque recherche.
chaîne1 : Chaîne dans laquelle la recherche est effectuée.
chaîne2 : Chaîne recherchée.
9. Int
Renvoie la partie entière d’un nombre. Différence entre les fonctions Int et Fix : si
l’argument nombre est négatif, Int renvoie le premier entier négatif inférieur ou égal
à nombre, alors que Fix renvoie le premier entier négatif supérieur ou égal à nombre.
Par exemple, Int convertit -8,4 en -9 et Fix convertit -8,4 en -8.
Syntaxe : Int(nombre)
nombre : Expression numérique.
10. IsDate
Renvoie une valeur de type Boolean qui indique si une expression peut être convertie
en date. La fonction IsDate renvoie la valeur True si l’expression est une date ou peut
être reconnue en tant que date ; sinon, elle renvoie la valeur False.
Syntaxe : IsDate(expression)
expression : Expression à tester.
11. IsNumeric
Renvoie une valeur de type Boolean qui indique si une expression peut être
interprétée comme un nombre. La fonction IsNumeric renvoie la valeur True si
l’expression dans son ensemble est reconnue comme étant un nombre ; sinon, elle
renvoie la valeur False.
Syntaxe : IsNumeric(expression)
expression : Expression à tester.
12. IsObject
Renvoie une valeur de type Boolean qui indique si un identificateur représente une
variable objet.
Syntaxe : IsObject(identificateur)
identificateur : Nom de variable.
13. Left
129
Renvoie une valeur de type Variant (String) qui contient le nombre indiqué de
caractères d’une chaîne en partant de la gauche.
Syntaxe : Left(chaîne, longueur)
chaîne : Chaîne dont les caractères situés les plus à gauche sont renvoyés.
longueur : Nombre de caractères à renvoyer. Si vous indiquez la valeur 0, une
chaîne de longueur nulle ("") est renvoyée. Si vous indiquez une valeur
supérieure ou égale au nombre de caractères contenus dans l’argument
chaîne, la totalité de la chaîne est renvoyée.
14. Len
Renvoie une valeur de type Long contenant le nombre de caractères d’une chaîne.
Syntaxe : Len(chaîne)
chaîne : Variable ou chaîne de caractères.
15. LTrim
Renvoie une valeur de type Variant (String) qui contient une copie d’une chaîne une
fois supprimés les espaces de gauche.
Syntaxe : LTrim(chaîne)
chaîne : Variable ou chaîne de caractères.
16. Mid
Renvoie une valeur de type Variant (String) contenant un nombre indiqué de
caractères extraits d’une chaîne de caractères.
Syntaxe : Mid(chaîne, début[, longueur])
chaîne : Chaîne dont les caractères à renvoyer sont extraits.
début : Position du caractère dans l’argument chaîne qui marque le début de la partie
à extraire. longueur Donnée de type Variant (Long) correspondant au
nombre de caractères à renvoyer.
17. Month
Renvoie une valeur de type Variant (Integer) indiquant un nombre entier compris
entre 1 et 12 inclus, qui représente le mois de l’année.
Syntaxe : Month(date)
date : Expression de type Date.
18. Now
Renvoie une valeur de type Variant (Date) indiquant la date et l’heure courantes
fournies par la date et l’heure système de votre ordinateur.
Syntaxe : Now
130
19. Right
Renvoie une valeur de type Variant (String) contenant le nombre indiqué de
caractères d’une chaîne en partant de la droite.
Syntaxe : Right(chaîne, longueur)
chaîne : Chaîne dont les caractères situés les plus à droite sont renvoyés.
longueur : Nombre de caractères à renvoyer. Si vous indiquez la valeur 0, une
chaîne de longueur nulle ("") est renvoyée. Si vous indiquez une valeur
supérieure ou égale au nombre de caractères contenus dans l’argument
chaîne, la totalité de la chaîne est renvoyée.
20. RTrim
Renvoie une valeur de type Variant (String) contenant une copie d’une chaîne une
fois supprimés les espaces de droite.
Syntaxe : RTrim(chaîne)
chaîne : Variable ou chaîne de caractères.
21. Str
Renvoie une valeur de type Variant (String) représentant un nombre.
Syntaxe : Str(nombre)
nombre : Expression numérique.
22. TimeSerial
Renvoie une valeur de type Variant (Date) contenant une heure précise (heure,
minute et seconde).
Syntaxe : TimeSerial(heure, minute, seconde)
heure : Expression numérique.
minute : Expression numérique.
seconde : Expression numérique.
23. TimeValue
Renvoie une valeur de type Variant (Date) contenant une heure.
Syntaxe : TimeValue(heure)
heure : Expression de type chaîne ("[Link]" par exemple).
24. Trim
Renvoie une valeur de type Variant (String) contenant une copie d’une chaîne une
fois supprimés les espaces de gauche et de droite.
Syntaxe : Trim(chaîne)
131
chaîne : Variable ou chaîne de caractères.
25. Val
Renvoie le nombre contenu dans une chaîne de caractères sous la forme d’une valeur
numérique d’un type approprié.
Syntaxe : Val(chaîne)
chaîne : Expression de type chaîne.
26. Weekday
Renvoie une valeur de type Variant (Integer) contenant un nombre entier qui
représente le jour de la semaine (1 = dimanche, 2 = lundi… 7 = samedi).
Syntaxe : Weekday(date)
date : Expression représentant une date.
27. Year
Renvoie une valeur de type Variant (Integer) contenant un nombre entier qui
représente l’année.
Syntaxe : Year(date)
date : Expression représentant une date.
XII.2. Découvrir les objets et les collections d’Excel
Chaque application Microsoft possède ses propres objets et collections. Nous
décrirons ici les objets et collections principaux d’Excel.
XII.2.1. L’objet Application
Il s’agit d’Excel lui-même.
Propriétés
1. ActiveWorkbook
Renvoie le classeur actif.
Syntaxe : [Link]
2. ActiveSheet
Renvoie la feuille de calcul active.
Syntaxe : [Link]
3. ActiveCell
Renvoie à la cellule active.
Syntaxe : [Link]
4. Caption
Renvoie ou définit le texte qui apparaît dans le titre de la fenêtre Excel.
132
Syntaxe : [Link]=texte
texte : Chaîne de caractères.
5. DisplayAlerts
Renvoie ou définit l’état de l’affichage des messages d’alerte d’Excel.
Syntaxe : [Link]=valeur
valeur : Expression booléenne.
6. DisplayFormulaBar
Renvoie ou définit l’état de l’affichage de la barre de formule.
Syntaxe : [Link]=valeur
valeur : Expression booléenne.
7. DisplayScrollBars
Renvoie ou définit l’état de l’affichage des barres de défilement.
Syntaxe : [Link]=valeur
valeur : Expression booléenne.
8. DisplayStatusBar
Renvoie ou définit l’état de l’affichage de la barre d’état.
Syntaxe : [Link]=valeur
valeur : Expression booléenne.
9. StatusBar
Renvoie ou définit le texte à afficher sur la barre d’état.
Syntaxe : [Link]=texte
texte : Chaîne de caractères.
Méthodes
1. Calculate
Exécute le recalcul de tous les classeurs ouverts si Excel est en mode « recalcul
manuel ».
Syntaxe : [Link]
2. Quit
Quitte Excel.
Syntaxe : [Link]
XII.2.2. La collection Workbooks
Il s’agit de l’ensemble des classeurs ouverts.
133
Propriété
1. Count
Renvoie le nombre de classeurs ouverts.
Syntaxe : [Link]
Méthodes
1. Add
Crée un nouveau classeur.
Syntaxe : [Link]
2. Open
Ouvre un classeur existant.
Syntaxe : [Link] nom
nom : Nom du fichier.
3. Close
Ferme tous les classeurs ouverts.
Syntaxe : [Link]
XII.2.3. L’objet Workbook
Il s’agit d’un classeur Excel.
Un objet Workbook est référencé de plusieurs façons :
• Workbooks("Nom") désigne un classeur identifié par son nom.
• Workbooks(Numéro) désigne un classeur identifié par son numéro d’ordre.
• ActiveWorkbook désigne le classeur actif.
• ThisWorkbook désigne le classeur dans lequel le code VBA est exécuté.
Propriétés
1. ActiveSheet
Renvoie le nom de la feuille active.
Syntaxe : [Link]
ObjetWorkbook : Objet de type Workbook.
2. Saved
Renvoie True si aucune modification n’a été apportée au classeur depuis le dernier
enregistrement.
Syntaxe : [Link]
ObjetWorkbook : Objet de type Workbook.
134
Méthodes
1. Activate
Active un classeur.
Syntaxe : [Link]
2. Close
Ferme un classeur.
Syntaxe : [Link]
3. Save
Enregistre un classeur.
Syntaxe : [Link]
4. SaveAs
Enregistre un classeur sous un nouveau nom.
Syntaxe : [Link] nom
XII.2.4. La collection Worksheets
Il s’agit de l’ensemble des feuilles de calcul d’un classeur.
Propriété
1. Count
Renvoie le nombre de feuilles de calcul dans le classeur actif.
Syntaxe : [Link]
Méthode
1. Add
Ajoute une feuille de calcul.
Syntaxe : [Link] avant
avant : Numéro ou nom de la feuille devant laquelle la nouvelle feuille sera insérée.
XII.2.5. L’objet Worksheet
Il s’agit d’une feuille de calcul Excel.
Un objet Worksheet est référencé de plusieurs façons :
- Workheets("Nom") désigne une feuille identifiée par son nom.
- Workheets (Numéro) désigne une feuille identifiée par son numéro d’ordre.
- ActiveSheet désigne la feuille active.
Propriétés
1. Name
135
Renvoie ou définit le nom de la feuille.
Syntaxe : [Link]
ObjetWorkSheet : Objet de type WorkSheet.
2. Visible
Renvoie ou définit l’affichage d’une feuille de calcul. True signifie que la feuille est
affichée, False qu’elle est masquée.
Syntaxe : [Link] = valeur
Valeur : Valeur booléenne.
Méthodes
1. Calculate
Exécute le recalcul de la feuille de calcul si Excel est en mode « recalcul manuel ».
Syntaxe : [Link]
2. Copy
Copie une feuille de calcul.
Syntaxe : [Link] avant
avant : Numéro ou nom de la feuille devant laquelle la feuille copiée sera insérée.
3. Delete
Supprime une feuille de calcul.
Syntaxe : [Link]
XII.2.6. L’objet Range
Il s’agit d’une cellule ou d’une plage de cellules.
Un objet Range est référencé de plusieurs façons :
• Range("AdresseCellule"), par exemple Range("A1").
• Range("AdressePlage"), par exemple Range("A1:C3").
• Range("NomPlage"), par exemple Range("Production").
• ActiveCell désigne la cellule active.
• Sélection désigne la (ou les) cellule(s) sélectionnées.
Propriétés
1. Address
Renvoie l’adresse d’une plage.
Syntaxe : [Link]
ObjetRange : Objet de type Range.
2. CurrentRegion
136
Renvoie la zone dans laquelle est située la cellule.
Syntaxe : [Link]
3. Formula
Renvoie ou définit la formule présente dans une cellule.
Syntaxe : [Link] = formule
formule : Chaîne de caractères.
4. Name
Renvoie ou définit le nom d’une plage.
Syntaxe : [Link] = nom
nom : Chaîne de caractères.
5. Offset
Renvoie une plage décalée par rapport à la plage d’origine.
Syntaxe : [Link](ligne,colonne)
ligne : Nombre de lignes de décalage (positif ou négatif).
colonne : Nombre de colonnes de décalage (positif ou négatif).
6. Value
Renvoie ou définit la valeur d’une cellule.
Syntaxe : [Link] = contenu
contenu : Toute valeur autorisée dans une cellule.
Méthodes
1. Clear
Efface le contenu et supprime le format des cellules.
Syntaxe : [Link]
2. ClearComments
Efface les commentaires des cellules.
Syntaxe : [Link]
3. ClearContents
Efface seulement le contenu des cellules.
Syntaxe : [Link]
4. ClearFormats
Efface seulement le format des cellules.
137
Syntaxe : [Link]
5. Count
Compte le nombre d’éléments d’une plage.
Syntaxe : [Link]
XII.3. Découvrir l’éditeur Visual Basic
L’éditeur Visual Basic propose des fonctionnalités intéressantes permettant de
concevoir et de mettre au point du code afin de développer vos propres macros.
XII.3.1. Afficher l’onglet Développeur
Pour bénéficier pleinement des possibilités de Visual Basic pour Applications dans
Excel 2010, vous devrez afficher un onglet supplémentaire dans le ruban : il s’agit de
l’onglet Développeur :
1. Cliquez sur le menu Fichier puis sur Options. Sélectionnez la catégorie
Personnalisez le Ruban.
2. Cochez la case en regard de l’onglet Développeur dans la liste des onglets à
afficher.
3. Cliquez sur OK.
L’onglet Développeur est composé des groupes suivants :
- Code permet d’accéder à l’éditeur VBA, à l’enregistrement et au lancement des
macros.
- Compléments permet d’accéder à la gestion des modules complémentaires.
- Contrôles permet de créer et de modifier des contrôles actifs (boutons, listes
de choix, etc.).
- XML permet d’accéder aux fonctionnalités liées à XML.
138
XII.3.2. Découvrir l’environnement
Pour accéder à l’éditeur VBA, vous avez deux solutions :
1. Dans l’onglet Développeur, cliquez sur le bouton Visual Basic du groupe Code.
- Appuyez sur [Alt]+[F11].
Une fois l’éditeur ouvert, vous pouvez y accéder en cliquant sur son bouton dans la
barre des tâches.
L’environnement présente deux fenêtres principales :
- l’explorateur de projets ;
- la fenêtre des modules.
XII.3.3. L’explorateur de projets

Il présente, de manière hiérarchique, les éléments des projets en cours. À chaque


classeur est associé un projet contenant :
- les feuilles de calcul et les graphiques ;
- les modules ;
- les boîtes de dialogues personnalisées.
Pour accéder à un des éléments de l’arborescence, double-cliquez dessus. Pour
ouvrir l’explorateur de projet (si celui-ci n’est pas affiché), vous avez deux solutions
:
- Dans le menu Affichage, choisissez Explorateur de projets ;
- Appuyez sur [Ctrl]+[R].
XII.3.4. Les modules
Pour accéder au code d’un module, double-cliquez sur son nom dans l’explorateur
de projets. Le module actif est alors indiqué en grisé dans l’explorateur de projets.
Un projet peut réunir plusieurs modules, et regrouper par là même de façon
cohérente les diverses procédures. Pour créer un nouveau module :
1. Sélectionnez le projet dans lequel doit se trouver ce module.
2. Choisissez la commande Module du menu Insertion.
Pour donner un nom à un module :
1. Sélectionnez ce module.
139
2. Choisissez la commande Propriétés du menu Affichage (ou appuyez sur [F4]).
3. Modifiez la propriété Name.
Pour copier un module dans un autre projet :
1. Sélectionnez le module.
2. Faites-le glisser sur le projet de destination.
Pour supprimer un module :
1. Sélectionnez ce module.
2. Cliquez du bouton droit.
3. Dans le menu contextuel, choisissez la commande Supprimer. Une boîte de
dialogue s’affiche pour demander si le module doit être exporté (sous forme de
fichier texte) avant la suppression. La fenêtre des modules affiche toutes les
procédures du module.
Elle présente deux listes déroulantes au sommet :
- La première affiche les objets référencés dans le module (par exemple, les
boutons sur une feuille de calcul).
- La seconde donne accès à une zone de déclaration (pour les variables
publiques) ainsi qu’à chacune des procédures du module.
La fenêtre des modules affiche soit toutes les procédures séparées par un trait
horizontal, soit une procédure à la fois. Le basculement entre ces deux modes
d’affichage s’effectue à l’aide des deux boutons situés en bas à gauche de la fenêtre.
Le code
Le code est saisi dans un module. Cette règle ne souffre aucune exception. Pour
commencer une nouvelle procédure :
1. Dans la fenêtre des modules, saisissez l’instruction Sub ou Function suivie du nom
de la procédure.
2. Saisissez ensuite le code. Pour ce faire, vous disposez des fonctionnalités
classiques de Copier/Coller et de Rechercher/Remplacer.
Lors de la saisie, il est souhaitable de décaler les lignes de code (touche [TAB]) pour
respecter la structure des blocs. Cela améliore la lisibilité. Au fur et à mesure de la
saisie, l’éditeur analyse vos instructions.
Dès qu’il reconnaît le nom d’un objet, il propose une liste déroulante des propriétés
et méthodes disponibles pour cet objet. Sélectionnez alors ce qui vous convient et
appuyez sur [Entrée]. Il est possible de forcer l’affichage de cette liste déroulante :
1. Cliquez du bouton droit après l’objet souhaité.
2. Dans le menu contextuel, sélectionnez Répertorier les propriétés/méthodes.
140
Lors de la saisie d’une fonction, l’éditeur affiche une info-bulle précisant la syntaxe
de cette fonction. Il est possible de forcer l’affichage de cette info-bulle :
1. Cliquez du bouton droit après la fonction souhaitée.
2. Dans le menu contextuel, sélectionnez Info express.
Maîtriser le débogage
Le débogage consiste à détecter et corriger les inévitables erreurs de saisie (voire de
logique) du code Visual Basic. Pour cela, l’éditeur offre un arsenal d’outils efficaces.
La compilation
Avant d’exécuter une procédure, Visual Basic procède à sa compilation. C’est-à-dire
qu’il traduit le code Visual Basic, langage élaboré, en langage machine exécutable par
le système.
Au cours de cette « traduction », plusieurs points sont vérifiés :
- le respect de la syntaxe ;
- la définition des variables ;
- l’utilisation correcte des propriétés et méthodes des objets.
La compilation s’effectue toujours avant l’exécution, mais il est possible de forcer
son exécution à tout moment (pour détecter les problèmes). Pour cela, dans le menu
Débogage, choisissez Compiler VBA Project.
L’exécution
Il est possible de demander l’exécution d’une procédure spécifique :
1. Placez le curseur dans la fenêtre des modules, à l’intérieur de la procédure
souhaitée.
2. Dans le menu Exécution, choisissez Exécuter Sub/UserForm ou appuyez sur [F5].
Pour arrêter l’exécution d’une procédure, vous avez deux solutions :
- la fonction Arrêt du menu Exécution ;
- la combinaison [Ctrl]+[Attn].
Il est également possible d’utiliser les boutons correspondants.
Exécute une procédure.
Arrête l’exécution.

L’exécution pas à pas


En cas d’erreur lors de l’exécution, l’Éditeur affiche une boîte de dialogue indiquant
le type d’erreur et quatre possibilités d’actions :
- Continuer poursuit l’exécution sans tenir compte de l’erreur. Ce n’est pas
toujours possible.
141
- Fin arrête l’exécution.
- Débogage active l’Éditeur. La ligne où l’erreur s’est produite est surlignée en
jaune.
- Aide affiche une description détaillée de l’erreur.
Débogage est le bouton le plus intéressant. Si vous cliquez dessus, l’exécution de la
procédure est suspendue, et non arrêtée.
Une fois l’erreur corrigée, vous pouvez :
- reprendre l’exécution avec Exécution/Continuer (ou le bouton Exécuter
Sub/UserForm) ;
- arrêter la procédure avec Exécution/Réinitialiser (ou le bouton Réinitialiser).
L’outil de base du débogage est l’exécution pas à pas, qui permet de suivre
l’enchaînement des instructions. Pour cela, vous avez deux solutions :
- cliquer sur Débogage/Pas à pas ;
- utiliser la touche [F8].
La ligne active (surlignée en jaune) se déplace au fil de l’exécution. Elle représente la
prochaine ligne exécutée, et non celle qui vient de l’être. Vous n’avez pas à attendre
qu’une erreur survienne pour passer en exécution pas à pas. Vous pouvez vous
positionner à l’intérieur d’une procédure et cliquer sur Débogage/Pas à pas.
Il est possible que l’instruction d’une procédure fasse appel à une autre procédure.
Si vous êtes sûr du bon fonctionnement de cette dernière, il est inutile de passer en
revue ses instructions. Vous avez deux solutions :
- cliquer sur Débogage/Pas à pas principal ;
- utiliser la combinaison [Maj]+[F8].
La procédure appelée est alors considérée comme une « boîte noire ». Si l’exécution
pas à pas vous a aiguillé vers une procédure dont vous ne voulez pas détailler
l’exécution, il est possible de la quitter rapidement. Deux solutions s’offrent à vous :
- cliquer sur Débogage/Pas à pas sortant ;
- utiliser la combinaison [Ctrl]+[Maj]+[F8].
De cette façon, vous sortez de la procédure et rejoignez l’instruction ad hoc dans la
procédure appelante. Enfin, l’exécution jusqu’au curseur constitue une dernière
variante de l’exécution pas à pas. En mode pas à pas, positionnez le curseur à
l’endroit souhaité, puis choisissez l’une ou l’autre de ces solutions :
- Cliquez sur Débogage/Exécuter jusqu’au curseur.
- Ou utilisez la combinaison [Ctrl]+[F8].
Vous pouvez, par exemple, recourir à cette commande pour passer rapidement « par-
dessus » une boucle For… To… Next.
Le suivi des variables
142
Pendant l’exécution pas à pas, il est possible d’« ausculter » le contenu des variables.
Pour cela, plusieurs possibilités s’offrent à vous :
- l’affichage d’info-bulles ;
- l’ajout d’espions ;
- l’affichage de la fenêtre Variables locales.
Pour afficher rapidement le contenu d’une variable, positionnez le pointeur de la
souris sur cette variable et attendez une seconde : une info-bulle apparaît.
Les espions permettent de suivre l’évolution de variables stratégiques tout au long
du déroulement du code. Pour ajouter un espion à une variable :
1. Placez le pointeur de la souris sur cette variable.
2. Dans le menu Débogage, choisissez Espion express puis Ajouter.
3. La fenêtre Espions apparaît avec la variable et son contenu.
Pour supprimer un espion, cliquer dessus (dans la fenêtre Espions) du bouton droit
et choisissez la commande Supprimer un espion.
Pour afficher la fenêtre Espions, choisissez la commande Affichage/Fenêtre Espions.
Enfin, le dernier moyen de suivre de près le contenu des variables d’une procédure
est d’afficher la fenêtre Variables locales. Pour cela, choisissez la commande Fenêtre
Variables locales dans le menu Affichage. La fenêtre affiche alors le contenu des
variables de la procédure en cours. Les tableaux sont présentés sous forme
d’arborescences.
XII.4. Gérer les niveaux de sécurité
Quand vous recevez un classeur Excel dont vous ne connaissez pas l’émetteur, soyez
prudent lorsque ce classeur contient des macros. En effet, une macro est un
programme. Certains utilisateurs malveillants peuvent donc créer des macros qui
s’avèrent être des virus. Il est préférable de rester prudent avant d’ouvrir un classeur
qui contient des macros. Il est possible de réaliser des macros qui s’exécutent
automatiquement à l’ouverture d’un classeur. Il peut alors être trop tard pour réagir.
Excel est capable de vous prévenir lorsqu’un classeur contient une macro. Pour cela,
vous devez spécifier un niveau de sécurité.
1. Dans l’onglet Développeur, cliquez sur le bouton Sécurité des macros du groupe
Code.
2. Grâce à l’onglet Niveau de sécurité, vous pouvez choisir entre quatre niveaux de
sécurité :
▪ Désactiver toutes les macros sans notification : permet de spécifier un niveau
de sécurité maximal, puisque les macros sont tout simplement ignorées.
▪ Désactiver toutes les macros avec notification : Excel vous informe que le
classeur contient des macros, mais il ne les exécutera pas. Vous pouvez choisir
de les activer à l’aide des options du bandeau d’avertissement de sécurité.
143
▪ Désactiver toutes les macros à l’exception des macros signées numériquement
: permet l’exécution des macros qui ont été signés par des sources fiables
(définies dans la catégorie Editeurs approuvés). Si les macros sont signées par
une source inconnue, une boîte de dialogue s’affiche avec des informations sur
le certificat. Vous pouvez alors décider de l’ajouter ou non aux sources fiables.
Dans tous les autres cas, les macros sont désactivées.
▪ Activer toutes les macros : exécute toutes les macros, sans avertissement.
Pour signer les macros d’un classeur :
1. Ouvrez le classeur contenant les macros à signer.
2. Dans l’onglet Développeur, cliquez sur le bouton Visual Basic du groupe Code.
3. Sélectionnez le menu Outils puis Signature électronique.
4. Cliquez sur Choisir, sélectionnez le certificat.
5. Validez par OK.
XII.5. Élaborer des fonctions personnalisées
Il s’agit maintenant de passer à la pratique…
Calculer la TVA
Cette fonction personnalisée calcule le montant de la TVA à partir d’un montant TTC
et d’un taux de TVA.
Pour calculer la TVA à partir d’un montant TTC, il faut revenir à la définition de la TVA
:
TVA = Montant HT × Taux.
Montant TTC = Montant HT + TVA = Montant HT + Montant HT ×
Taux = Montant HT × (1 + Taux)
D’où :
Montant HT = Montant TTC / (1 + Taux)
Par conséquent :
TVA = (Montant TTC / (1 + Taux)) × Taux
Mise en œuvre
Tout d’abord, affichez l’Éditeur VBA en utilisant la combinaison de touches
[Alt]+[F11]. Une fois dans l’environnement, sélectionnez le projet dans l’Explorateur
de projets. Dans le menu Insertion, sélectionnez Module, puis dans la fenêtre de
code, saisissez le code suivant :
Function TVA(Montant, Taux)
TVA = Montant / (1 + Taux / 100) * Taux / 100
End Function
Il s’agit de la formule établie précédemment. La fonction est maintenant
opérationnelle. Vous allez pouvoir l’utiliser dans votre projet. Pour cela, quittez
144
l’Éditeur VBA en choisissant Fermer et retourner à Excel dans le menu Fichier. Une
fois de retour sur la feuille Feuil1 :
1. Sélectionnez la cellule A1, puis cliquez sur le bouton Insérer une fonction de l’onglet
Formules.
2. Dans la fenêtre qui s’ouvre, sélectionnez la catégorie Personnalisées.
3. Sélectionnez TVA puis cliquez sur OK.
4. Pour le paramètre Montant, saisissez 179.40.
5. Pour le paramètre Taux, saisissez 0.196.
6. Cliquez sur OK pour valider.
TVA est devenue une fonction au même titre que les fonctions prédéfinies d’Excel.
La seule différence est qu’elle n’est utilisable que dans le classeur dans lequel elle a
été créée.
Variante avec argument optionnel
Bien souvent, le taux de TVA à utiliser est 19,6 %. Il est fastidieux d’avoir à saisir
systématiquement cette valeur. Vous allez donc créer une variante de la fonction
TVA qui utilisera 19,6 % si l’argument Taux est omis. Pour cela, il faut le déclarer en
tant qu’argument optionnel et tester s’il est présent ou non :
Function TVA_2(Montant, Optional Taux)
If IsMissing(Taux) Then Taux = 19.6
TVA_2 = Montant / (1 + Taux / 100) * Taux / 100
End Function
Le mot-clé Optional permet de déclarer un argument comme facultatif. La fonction
booléenne IsMissing renvoie True si l’argument est manquant.
Ainsi, si vous saisissez =TVA_2(100) dans une cellule, le résultat est 16,38… ce qui
correspond bien au montant de TVA à 19,6 %. Si vous saisissez =TVA_2(100;5,5), la
fonction utilise le taux de TVA à 5,5 %.
Calculer un taux de remise
La fonction suivante calcule une remise en fonction du montant d’une commande :
Function REMISE(Montant)
Const Taux1 As Double = 0.05
Const Taux2 As Double = 0.075
Const Taux3 As Double = 0.1
Select Case Montant
Case Is >= 100000
REMISE = Taux3 * Montant
Case Is >= 50000
REMISE = Taux2 * Montant
Case Is < 10000
REMISE = Taux1 * Montant
145
End Select
End Function
Cette fonction utilise la structure Select… Case, qui permet de traiter des tranches
de valeurs en évitant d’employer des If… Then… Else.
Notez au passage l’emploi de constantes. Elles sont particulièrement utiles lorsque
vous devez faire référence plusieurs fois à des valeurs fixes (taux de taxe, taux
d’intérêt…) dans votre code. Elles facilitent la mise à jour du code en cas de
modification de leur valeur. En effet, si vous utilisez la valeur littérale de la constante
dans votre code, vous devrez modifier toutes les occurrences de ladite valeur. Avec
les constantes, vous ne modifiez que la valeur attribuée à la constante.
Afficher le nom de la feuille
La fonction suivante renvoie le nom de la feuille active dans une cellule. Saisissez
=NOMFEUILLE() dans la cellule souhaitée et le tour est joué !
Function NOMFEUILLE()
NOMFEUILLE = [Link]
End Function
Cette fonction utilise la propriété Name de l’objet ActiveSheet, qui représente la
feuille active.
Compter le nombre de voyelles d’un mot
La fonction suivante renvoie le nombre de voyelles contenues dans le mot transmis
comme argument.
Function NBVOYELLES(Mot As String)
NBVOYELLES = 0
For i = 1 To Len(Mot)
If InStr(1, "aeiouy", LCase(Mid(Mot, i, 1)))<>0
Then
NBVOYELLES = NBVOYELLES + 1
Next i
End Function
Il s’agit de passer en revue chacune des lettres du mot, à l’aide d’une boucle For…
Next. Les caractères sont systématiquement convertis en minuscule (Lcase) avant
d’être recherché dans la liste des voyelles (InStr). Si le caractère est une voyelle, InStr
renvoie sa position dans la liste des voyelles, sinon elle renvoie 0.
Afficher la référence de la dernière cellule de la feuille
Cette fonction affiche la référence de la cellule non vide la plus éloignée de A1, en
d’autres termes la référence de la cellule non vide qui se situe le plus « en bas à droite
» de la feuille.
Function DERNIERE()
DERNIERE = ""
Colonne = 16384
146
Do
If Cells(1048576, Colonne).Value <> "" Then
DERNIERE = Cells(1048576, Colonne).Address
ElseIf Cells(1048576, Colonne).End(xlUp).Value <>
"" Then
DERNIERE = Cells(1048576,
Colonne).End(xlUp).Address
End If
Colonne = Colonne - 1
Loop Until (DERNIERE <> "")
End Function
Il s’agit de « balayer » l’ensemble des colonnes de la feuille active, en commençant
par la dernière (16384). Dans chaque colonne, vous recherchez la dernière cellule non
vide à partir du bas. Si la cellule de la ligne 1048576 n’est pas vide, c’est forcément
elle ; vous prenez alors son adresse. En revanche si elle est vide, la séquence
Cells(1048576, Colonne).End(xlUp) permet de simuler la combinaison de touches
[Ctrl]+[ÿ], qui a pour effet d’activer la première cellule non vide située au-dessus. Si
aucune cellule n’est remplie, vous vous retrouvez sur la cellule située sur la ligne 1,
qui sera vide, d’où le second test. Une fois que DERNIERE contient une valeur, il faut
arrêter le balayage (Loop Until DERNIERE<>"").
Variante
Quelles que soient les modifications effectuées dans la feuille de calcul, la cellule
contenant =DERNIERE() ne sera pas recalculée et le résultat affiché sera obsolète.
Deux solutions sont possibles. La première consiste à utiliser la combinaison de
touches [Ctrl]+[Alt]+[F9] afin de recalculer toutes les fonctions personnalisées.
L’autre solution consiste à ajouter [Link] True juste avant la première
ligne de code. Cela aura pour effet de recalculer la fonction à chaque modification de
la feuille de calcul. La fonction devient alors :
Function DERNIERE()
[Link] True
DERNIERE = ""
Colonne = 16384
Do
If Cells(1048576, Colonne).Value <> "" Then
DERNIERE = Cells(1048576, Colonne).Address
ElseIf Cells(1048576, Colonne).End(xlUp).Value <>
"" Then
DERNIERE = Cells(1048576,
Colonne).End(xlUp).Address
End If
Colonne = Colonne - 1
Loop Until (DERNIERE <> "")
End Function
147
Rendre disponibles les fonctions personnalisées dans d’autres classeurs
L’inconvénient des fonctions personnalisées réside dans le fait qu’elles ne sont
disponibles que dans le classeur dans lesquelles vous les avez créées. Pour remédier
à cet inconvénient, vous pouvez en faire des macros complémentaires.
Une fois que vous avez finalisé vos fonctions dans un classeur, enregistrez-le à l’aide
de la commande Enregistrer sous du menu Fichier. Sélectionnez Macro
complémentaire Excel dans la zone Type de fichier, puis cliquez sur Enregistrer. Une
copie du classeur est alors enregistrée, avec l’extension .xlam.
Pour charger la macro complémentaire ainsi créée, cliquez sur le menu Fichier, puis
sur Options. Dans la boîte de dialogue Options Excel, sélectionnez la catégorie
Compléments Excel, puis cliquez sur Atteindre. Dans la boîte de dialogue Macros
complémentaires, sélectionnez les macros complémentaires à installer et valider par
OK.
Vos fonctions personnalisées seront désormais disponibles dans tous les classeurs.
Toutefois, cela ne fonctionne que sur le poste sur lequel a été chargée la macro
complémentaire. Si vous diffusez des classeurs contenant vos fonctions
personnalisées, il faut également fournir les macros complémentaires ad hoc.

Vous aimerez peut-être aussi