11 juin 2010

Les références absolues et relatives dans vos classeurs Excel

I. Introduction

L'utilisation des références absolues et relatives dans un tableur Excel fait partie des connaissances de base qu'il faut maîtriser pour travailler avec Excel.
Je rencontre pourtant, sur les forums comme durant les formations que je donne, des personnes utilisant Excel depuis un certain temps, et qui ne sont pourtant pas encore à l'aise avec ces notions et l'utilisation des références absolues et relatives.

Ce petit cours n'a d'autre but que de schématiser l'utilisation de ces références. A sa lecture, vous comprendrez quand utiliser ou pas le signe $ dans vos références.


I-A. Pré-requis

Être familiarisé avec l'environnement d'Excel.


I-B. Niveau

Ce cours s'adresse a priori aux débutants.


I-C. Objectifs du cours

Les objectifs de ce cours sont:

  • Comprendre le concept de références absolues et relatives
  • Apprendre à utiliser les références absolues et relatives
  • Apprendre à créer moins de formules

II. Références relatives et absolues


II-A. Premier tableau: Formule avec des références relatives

Créons un petit tableau reprenant les salaires à payer pour quelques employés sur le premier trimestre.
Ce tableau est un tableau tout simple, avec la saisie du montant à payer.


II-A-1. Calculer la somme d'une plage de cellules

Nous allons ajouter une somme à ce tableau, de façon à totaliser les salaires par mois.
Commençons par ajouter la somme pour le mois de janvier

warningIl existe une façon plus simple d'insérer une somme sur l'ensemble d'un tableau à double entrée. Nous ne la verrons pas ici.
En tirant cette formule vers la cellule de droite, nous constatons que la formule a été modifiée par Excel, pour nous donner la somme des cellules C2:C6


II-A-2. Comprendre ce qui a été demandé à Excel

Excel a donc adapté notre formule, pour la rendre conforme à ce que nous attendions intuitivement, à savoir copier la formule de la colonne B vers la colonne C pour obtenir le total de février.

Si Excel a adapté cette formule, ce n'est pas par hasard. Il a accompli ce que nous lui avons demandé, ni plus, ni moins.
C'est donc que notre demande initiale, à savoir la formule

     =SOMME(B2:B6)
     
n'est pas, en français, calculer la somme des cellules B2:B6, et donc que ce que nous voyons dans la formule n'est pas ce qui est réellement demandé à Excel.

infoAvec Excel, il faut constamment garder à l'esprit que ce qui est n'est pas toujours ce que l'on voit!
C'est vrai pour des formules, mais aussi pour des formats de cellules qui affichent parfois autre chose que la valeur de la cellule utilisée par Excel.
Nous avons saisi une formule en B7, et cette formule fait référence aux cellules B2:B6.

Relativement à B7, où se trouvent les cellules saisies dans la formule?
B2 se trouve 5 lignes plus haut dans la même colonne, et B6 se trouve 1 ligne plus haut dans la même colonne.

Notre vraie demande à Excel est donc:
Calculer la somme de la plage de cellules qui commence 5 lignes plus haut dans la même colonne (B2) et qui se termine 1 ligne plus haut dans la même colonne (B6).

Lorsque nous recopions cette formule en C7, Excel traite notre demande:
Calculer la somme de la plage de cellules qui commence 5 lignes plus haut dans la même colonne (C2) et qui se termine 1 ligne plus haut dans la même colonne (C6).

Donc, Excel n'est pas magique et, peut-être sans le savoir, notre demande initiale "=SOMMME(B2:B6)" était bien formulée.
Nous pouvons recopier cette formule pour Mars et Excel l'adapte à notre demande.

Pour bien fixer les choses, nous allons suivre le même raisonnement pour la création de la formule qui totalisera le trimestre par employé.

En E2, nous saisissons la formule =SOMME(B2:D2), ce qui signifie:
Calculer la somme de la plage de cellules qui commence sur la même ligne, 3 colonnes à gauche (B2) et qui se termine sur la même ligne, 1 colonne à gauche (D2).

Nous pouvons donc recopier cette formule vers le bas pour les autres employés, ainsi, pourquoi pas, que pour les totaux par mois.


II-B. Deuxième tableau: Des références relatives et une référence mixte

infoPour la clarté de l'exposé, les différents tableaux sont placés sur la même feuille. Normalement, dans le cadre d'un travail propre avec Excel, chaque tableau sera placé sur une feuille (un onglet) séparée, notamment pour faciliter la maintenance et l'évolution de notre classeur.
Les tableaux ne sont bien entendu que rarement aussi simples à créer.
Imaginons que le salaire à payer soit dépendant de prestations réalisées et d'un taux horaire variable par employé.
Nous devrions alors nous baser sur les tableaux suivants pour créer notre formule


II-B-1. Création de la formule de base

Dans ce tableau, nous comprenons que le salaire est constitué du produit des heures effectuées par le taux horaire de l'employé.
Pour Pierre en janvier, nous aurons donc la formule illustrée ci-dessous.

Un copier-coller de cette formule jusqu'en D6 nous donne un résultat inattendu.

Si nous éditons la formule en D6, nous constatons qu'Excel plonge "dans le vide" pour aller chercher le taux horaire de Paul.


II-B-2. Comprendre notre demande et la reformuler à Excel

En B2, nous avons demandé à Excel d'aller chercher le taux horaire de Pierre dans la même colonne, 17 lignes plus bas.
Transposée en D6, cette demande fait donc pointer Excel dans la même colonne, 17 lignes plus bas, soit en D23.
Excel a donc interprété correctement notre formule!

Le numéro de ligne pour le taux horaire est correct, mais il fallait dire à Excel de rester dans la colonne B, puisque nous voulons bien entendu éviter de devoir recopier le taux horaire pour tous les mois pris en compte dans le tableau.
A défaut de pouvoir formuler cette demande, nous serions contraints de devoir créer une formule pour chaque mois du tableau...

Nous allons donc demander à Excel de "geler" la colonne B pour les taux horaires, et ce "gel" de la colonne va être demandé en faisant précéder la référence de la colonne par le signe $.
Si je reprends la formule en B2, j'aurai donc ceci

Recopiée en B2:D6, la formule est correcte, et l'édition de cette formule en D6 met en évidence le gel de la colonne B, grâce au signe $devant la lettre de la colonne.

ideaLorsque l'on saisit une référence dans une cellule, le raccourci F4 permet de boucler sur les références utilisables d'une cellule ou d'une plage.
Ainsi, si on saisit =C1 dans une cellule puis que l'on presse sur F4, on obtiendra $C$1, puis C$1, puis $C1, puis on reviendra sur C1 pour boucler.

II-C. Troisième tableau: Des références relatives et deux références mixtes

Complexifions un peu notre tableau par l'ajout d'une donnée. Le patron de la boîte étant généreux, il propose d'indexer mensuellement le salaire de 0.5%.
Nous devons bien entendu adapter notre tableau en y ajoutant cette donnée, et adapter notre formule pour qu'elle devienne:
Heures effectuées * Taux horaire * Index mensuel

A nouveau, remanions notre formule en B2 pour tenter de créer une seule formule exploitable sur tout le tableau des salaires.

Puisque nous avons compris le principe, nous comprenons que, cette fois, c'est la ligne qu'il faut geler dans la référence de l'index. De cette manière, lorsque nous recopierons la formule sur B2:D6, la ligne 26 sera bien gelée, comme le montre le tableau suivant.


II-D. Quatrième tableau: Des références relatives, deux références mixtes et une référence absolue

Nous arrivons tout doucement à la fin de ce petit exposé. Notre patron étant vraiment généreux, il a décidé de l'octroi d'une prime inconditionnelle de 100 ? par mois, pour chaque employé.

Nous pourrions être tentés d'utiliser la formule suivante

et donc de mettre, "en dur", le montant de la prime.

warningLa modification future des valeurs, chaines de caractères ou dates saisies dans les formules peut vite s'avérer être un véritable casse-tête, ainsi qu'une source d'oublis ou d'erreurs. Il est donc préférable de saisir les valeurs dans des cellules et de faire référence à ces cellules dans les formules d'Excel.
Puisqu'il ne faut pas utiliser de valeur dans une cellule, nous allons utiliser une cellule pour y stocker le montant de la prime. Le bas de notre feuille ressemblera donc à ceci

Nous pouvons alors modifier notre formule en B2 pour qu'elle utilise cette valeur stockée en B28
Comme la prime se trouve dans une cellule unique, il nous faudra geler la ligne ET la colonne lorsque nous ferons référence à cette cellule dans une formule.
Pour geler la ligne (tableau d'index), nous avons mis un $ devant le numéro de la ligne. Pour geler la colonne (tableau des taux horaires), nous avons mis un $ devant la lettre de la colonne.
Pour geler la ligne et la colonne, nous mettrons donc un $ devant la ligne et devant la colonne. La formule utilisée sera donc

Lorsqu'elle est recopiée en B2:D6, la formule est correctement interprétée par Excel, comme le montre l'édition de la formule en D6


II-E. Schéma

On peut donc retenir le schéma suivant:

Lorsque l'on va chercher des données dans un tableau de mêmes dimensions que le tableau de résultat, on utilise une référence relative comme B11(flèche bleue).

Lorsque l'on va chercher des données dans un tableau ne contenant qu'une colonne, on verrouille la colonne et on utilise une référence mixte en signalant le verrou sur la colonne par un $ avant la lettre de colonne comme $B19 (flèche verte).

Lorsque l'on va chercher des données dans un tableau ne contenant qu'une ligne, on verrouille la ligne et on utilise une référence mixte en signalant le verrou sur la ligne par un $ avant le numéro de ligne comme B$26 (flèche mauve).

Lorsque l'on va chercher une donnée dans une cellule, donc dans un tableau ne contenant qu'une ligne et qu'une colonne, on verrouille la ligne et la colonne en faisant précéder chaque référence de $, comme $B$28 (rond brun).

infoDans certains cas, il est possible (et préférable...) d'utiliser des plages nommées. L'utilisation de plages nommées peut dispenser de l'utilisation des références absolues et relatives. L'acquisition de ces notions ne faisant pas partie de ce cours, je mentionne cette possibilité uniquement pour mémoire.
Comme il n'est toutefois pas possible de toujours utiliser des plages nommées et de se passer des références absolues, mixtes ou relatives, il est utile de bien en comprendre le fonctionnement.

III. Conclusions

Nous venons de voir comment utiliser les quatre types de référencement ou d'adressage de cellules dans Excel.
Sans cette possibilité de verrouiller des lignes ou des colonnes, nous n'aurions pas eu d'autre choix que de créer une formule par cellule du tableau de résultat.
Si cela est éventuellement réalisable sur un petit tableau de 5 lignes et 3 colonnes, on comprend aisément que sur des tableaux reprenant des prestations par semaine (52 colonnes) et pour 2000 employés, il n'est pas envisageable de devoir créer 52 x 2000 formules!

L'utilisation des références absolues, mixtes et relatives permet ici de ne créer qu'une seule formule utilisable sur tout le tableau

J'espère que ce petit tutoriel vous aura permis de progresser. Je suis à votre disposition pour toute remarque ou complément d'information. Bonne continuation avec Excel. Bonne continuation sur www.developpez.com


III-A. Résumé des connaissances acquises

  • Compréhension du fonctionnement d'Excel en matière de références de cellules
  • Utilisation de références relatives
  • Utilisation de références mixtes
  • Utilisation de références absolues
  • Utilisation de cellules dans des formules en remplacement de valeurs "en dur" (prime unique)

Aucun commentaire:

Enregistrer un commentaire