Le plus souvent, la mise en œuvre d'une formule nécessite l'utilisation d'une ou plusieurs fonctions. Les fonctions calculent des résultats à partir des valeurs de leurs arguments (entre parenthèses, séparés par des ;) et tout ou partie de ceux-ci peuvent eux-mêmes être des fonctions. Dans ce cas, on parle de fonctions imbriquées. C'est sur cet aspect que nous allons maintenant travailler.
Avant de commencer des exercices, un petit apport méthodologique.
Si on est amené à écrire des formules avec des imbrications de fonction, c'est parce-que nous avons besoin que le tableur réalise plusieurs calculs pour mener au résultat. Ainsi il existe toujours une possibilité pour éviter d'avoir à imbriquer des fonctions : écrire chaque étape de calcul dans une cellule séparée. Cette solution peut s'avérer particulièrement intéressante quand une des étapes du calcul est elle-même compliquée à mettre en œuvre par exemple parce-qu'on utilise une fonction nouvelle. Cette possibilité d'éclatement des calculs dans des cellules reste rarement conservée dans les versions finales (même si on pourrait cacher les colonnes contenant les calculs intermédiaires). Cela étant, nous vous invitons à aborder l'écriture de traitement complexe par ce biais et vous montrons dans la suite de cette page comment, une fois les calculs intermédiaires réalisés, construire la formule finale dans une cellule unique.
Pour illustrer la méthode, nous travaillerons avec le suivant. Ce document traite le problème suivant : on connaît le nom d'une personne ainsi que son prénom et sa civilité abrégée (M ou Mme). Ces informations sont contenues dans les cellules A3
, B3
et C3
. Nous désirons écrire en D3
un texte de la forme constitué tout d'abord du mot Monsieur ou Madame en fonction de la civilité renseignée, suivi du prénom écrit de manière normalisée avec une majuscule pour l'initiale et et les autres lettres en minuscule et, pour terminer, le nom en majuscule (Ce texte pourrait être utilisé pour un publipostage par exemple). Chacun des calculs (calcul du mot Monsieur ou Madame ; normalisation du prénom ; passage du nom en majuscule) a été réalisé dans une cellule :
E3
, formule =SI(C3="M";"Monsieur";"Madame")
pour le traitement de la civilité.F3
, formule =NOMPROPRE(B3)
pour le traitement du prénom.G3
, formule MAJUSCULE(A3)
pour le traitement du nom."
).
La cellule D3
contient le calcul permettant de mettre bout à bout (le mot technique est concaténer) les différents éléments du texte résultat : =CONCATENER(E3;" ";F3;" ";G3)
. Vous pourrez noter l'utilisation de texte ne contenant qu'une espace : " "
. Les cellules E3
et F3
montre deux autres manières de procéder à la concaténation.
D4
utilise la fonction CONCAT
à la place de la fonction CONCATENER
. Cette fonction CONCAT
n'existe pas avec OpenOffice. Avec LibreOffice et Microsoft Excel, elle permet d'utiliser des références de plages de cellule comme arguments alors que la fonction CONCATENER
n'accepte que des références de cellules. À noter que Microsoft annonce le nom maintien de la fonction CONCATENER
qui pourrait disparaître à terme.D5
utilise l'opérateur de concaténation &
à la place d'une fonction. Cet opérateur s'utilise comme les opérateurs arithmétiques (+, -, …).L'objectif des manipulations est d'obtenir en D3
une formule réalisant la même chose qu'actuellement mais n'utilisant pas les calculs des cellules voisines. On veut donc avoir en D3
la formule =CONCATENER(SI(C3="M";"Monsieur";"Madame");" ";NOMPROPRE(B3);" ";MAJUSCULE(A3))
Pour réaliser ceci en évitant un fastidieux travail de recopie, il est nécessaire de savoir copier-coller un morceau d'une formule dans une autre formule.
CTRL-C
sous Windows ou Linux, CMD-C
sous Mac OS).ESC
qui permet de sortir d'une formule sans sauvegarde des modifications
(il est également possible d'utilser la touche Entrée
mais si des modifications ont été faites, elles seront sauvegardées).CTRL-V
ou CMD-V
)).Dans le cas présent, il faut réaliser 3 copier-coller (un pour chaque cellule E3
, F3
et G3
). Nous décrivons ci-après la succession d'opération pour la recopie de l'information de la cellule E3
.
E3
.SI(C3="M";"Monsieur ";"Madame")
(pas le signe =
!).D3
.E3
.Après avoir réaliser l'opération précédente, vous avez obtenu la formule complexe attendue en D3
. Les cellules E3
, F3
et G3
ne sont plus nécessaires et peuvent être supprimées (sauf pour si on conserve les calculs en D4
et D5
- en guise d'exercice, vous pouvez aussi faire évoluer le calcul de ces deux dernières cellules de manière à avoir un calcul indépendant de calculs intermédiaires).
Remarque. Dans le cours de cette page, nous avons évoqué la notion de publipostage. Cette notion a été vue au niveau Standard et ne sera pas revue (revoyez le TD de niveau Standard si elle vous intéresse).