Vous êtes sur la page 1sur 7

r LibreOffice Calc

L'Association Culture Loisirs Entente Sport


6 rue des Coteaux
86240 SMARVES

INITITIATION À L'INFORMATIQUE
Tableur LibreOffice : Calc (2)
Premiers calculs
Utiliser un tableur pour établir un planning n'a pas grand intérêt : le moindre traitement de textes
digne de ce nom permet de dessiner un tableau et de le remplir. Un tableur est d'abord fait pour
réaliser des calculs d'après des données qui seront, la plupart du temps, entrées au clavier.

 Remarque :
Si nous ne savons pas résoudre manuellement un problème, Calc (tout comme Excel) ne sera
d'aucun secours !
En revanche, il réalisera les calculs bien plus rapidement que la plupart d'entre nous.

1. Notre première feuille de calculs


1.1. Entrée des données :
C'est souvent la tâche la moins intéressante d'une application ; elle est pourtant
indispensable pour tester, puis utiliser, les calculs et traitements que nous allons faire
réaliser par la machine ; quand nous établissons une feuille de calculs, la principale
difficulté est de prévoir les cas qui ne pourront pas aboutir.
Exemple classique : si dans un calcul, il arrive qu'un diviseur puisse prendre la valeur 0,
cela entraînera une fatalement erreur, puisque nous ne savons pas diviser par 0.
Selon la complexité des calculs à faire exécuter, il faudra tester le calcul avec un
maximum de données possibles ; une feuille contenant 1 048 576 lignes, nous sommes
déjà assurés de ne pas manquer de place sur la feuille (il n'en sera peut-être pas de
même avec la place en mémoire de l'ordinateur).
Nous allons établir une feuille capable d'effectuer les quatre opérations arithmétiques
sur deux données auxquelles nous donnerons diverses
valeurs.
Nous allons commencer par entrer des nombres entiers, puis
des nombres décimaux ; en haut de deux colonnes écrivons
deux en-têtes : Nombre 1, Nombre 2 et c'est sous chaque en-tête
que nous entrerons les données.
1.2. Entrée des formules :
À droite des en-têtes Nombre 1 et Nombre 2, créons les en-têtes Addition, Soustraction,
Multiplication et Division.
Le contenu de la cellule D3 doit
être égale au contenu de B3
augmenté du contenu de C3 ;
nous allons donc écrire tout
naturellement dans la cellule D3 :
=B3+C3
B3 et C3 étant les références des cellules à additionner.

Page 1 sur 7 Initiation Tableur 02.odt


Initiation à l'informatique : Tableur LibreOffice Calc

Validons en pressant la touche Entrée et, ô miracle, le


résultat s'affiche dans la cellule.
 Remarque :
Lorsque nous entrons une formule après le signe égal, il ne faut pas faire de faute
de frappe, sinon le calcul ne s'effectuera pas ; dans notre exemple nous n'avons
que deux adresses, mais il arrivera que la formule soit beaucoup plus complexe.
Éviter les erreurs dans les formules :
Pour éviter d'écrire des références erronées dans les formules, nous allons utiliser la
souris pour, après avoir écrit le signe égal, cliquer sur la cellule souhaitée plutôt que
d'écrire ses références au clavier ; ainsi, la formule de la
cellule D4 (sous D3) sera réalisée par :
Action Résultat
 appui sur la touche égal : =
 clic_sur_cellule_B4 : =B4
 appui sur la touche plus : =B4+
 clic_sur_cellule_C4 : =B4+C4
Je ne vous fais pas dire que : "Ça va quand même être pénible de réécrire cette formule en ne
changeant à chaque fois que le numéro de ligne ! " aussi
nous n'allons pas le faire.
Nous allons utiliser le petit carré noir, qui a permis
des incrémentations automatiques, en cliquant sur ce
carré noir et en maintenant
le bouton pressé, en
glissant la souris vers le
bas : l'incrémentation des
lignes va s'effectuer
automatiquement.
 Remarques :
L'affichage des formules dans les
cellules est obtenu par
Outils  Options… qui ouvre la boîte
de dialogue Options – LibreOffice dans
laquelle nous sélectionnons
l'application Calc puis Affichage où
nous cochons la case Formules.
Bien entendu, il faudra décocher
cette case pour obtenir le résultat des
calculs dans les cellules.
Si nous prévoyons plus de calculs, nous
pouvons répéter les formules sur les lignes où il
n'y a pas encore de données ; ainsi, dès que
nous entrerons de nouvelles données, les
résultats s'afficheront à la place des 0.
 Exercice :
Compléter les colonnes Soustraction, Multiplication
et Division.

Page 2 sur 7 Initiation Tableur 02.odt


Initiation à l'informatique : Tableur LibreOffice Calc

1.3. Prévoir les dysfonctionnements :


Lorsque le diviseur d'une opération est nul, le calcul ne peut se faire et est remplacé par
un message d'erreur : #DIV/0 ! Nous allons voir comment éviter l'apparition d'un tel
message d'erreur.
1.3.1. Fonction logique SI :
Une des trois structures de contrôle fondamentales de l'informatique est l'alternative :
Si test vrai Alors action avec valeur si vrai Sinon action avec valeur si faux
Le test est aussi appelé prédicat. Pour notre problème, le prédicat sera :
le contenu de C3 est-il différent de 0 ?
si c'est le cas, la division de B3 par C3 est possible,
si ce n'est pas le cas, la division de B3 par C3 n'est pas possible.
Il aurait aussi pu être :
le contenu de C3 est-il égal à 0 ?
si c'est le cas, la division de B3 par C3 n'est pas possible,
si ce n'est pas le cas, la division de B3 par C3 est possible.
Que nous pouvons résumer par :
Si C3 est différent de 0 Alors G3=B3/C3 Sinon G3="-"
ou par l'algorigramme (ou organigramme) :
OUI NON
C3 ¹ 0 ?

Afficher un
G3=B3/C3 tiret

Syntaxe de la structure de contrôle : Dans Calc, comme dans EXCEL, toutes les
fonctions sont suivies de parenthèses recevant des arguments séparés par des points-
virgules, le tout sans un espace :
Nom_de_la_fonction(argument_1;argument_2;argument_3;… )
Lorsqu'une fonction n'a pas besoin de paramètre son nom est suivi de parenthèses
vides ; exemple : Aléa() qui est une fonction qui fournit un nombre aléatoire dans
l'intervalle [0..1[.
Ce qui donne avec la fonction logique SI dans la cellule G3 : =SI(C3<>0);B3/C3;"-")
= : toute écriture d'une formule dans une cellule commence par le signe égal ;
SI : nom de la fonction ;
( : parenthèse ouvrant l'écriture des paramètres de la fonction SI ;
C3<>0 : 1er paramètre, prédicat, "le contenu de C3 est-il différent de 0 ?" ;
; : séparateur d'arguments ;
B3/C3 : 2ème paramètre, si le prédicat est VRAI, le résultat de l'opération s'affiche ;
; : séparateur d'arguments ;
"-" : 3ème paramètre, si le prédicat est FAUX, le caractère tiret est affiché ;
) : parenthèse fermant l'écriture de la fonction SI.
 Remarque :
=SI(C3=0;"-";B3/C3) permet d'obtenir le même résultat.

Page 3 sur 7 Initiation Tableur 02.odt


Initiation à l'informatique : Tableur LibreOffice Calc

1.3.2. Opérateurs de comparaison :


Les prédicats permettent d'obtenir une réponse, VRAI ou FAUX, à une expression de
comparaison(s) de termes.
= : teste l'égalité entre les termes de gauche et de droite
< : teste si le terme de gauche est inférieur au terme de droite
> : teste si le terme de gauche est supérieur au terme de droite
<= : teste si le terme de gauche est inférieur ou égal au terme de droite
>= : teste si le terme de gauche est supérieur ou égal au terme de droite
<> : teste si le terme de gauche est différent du terme de droite
1.3.3. Autres fonctions logiques :
Comparer deux termes n'est pas toujours suffisant pour répondre à toutes les
situations prédictives. Exemple : Si C3 est inférieur à 3 ou C3 supérieur à 9, Alors …
pour écrire ce type prédicat, Calc propose, outre la fonction SI, cinq autres fonctions
logiques :
ET(argument_1;argument_2;…) : renvoie VRAI si tous les arguments sont vrais
FAUX() : renvoie la valeur logique FAUX
NON(argument) : inverse la valeur logique de l'argument
OU(argument_1;argument_2;…) : renvoie VRAI si un argument est vrai
VRAI() : renvoie la valeur logique VRAI

 Exercices :
Écrire un prédicat qui renvoie la valeur logique VRAI lorsque le contenu d'une
cellule est compris entre deux valeurs.
Écrire un prédicat qui renvoie la valeur logique VRAI lorsque le contenu d'une
cellule est à l'extérieur d'un intervalle de deux valeurs données.
 Conseil pour l'écriture d'une formule :
Lorsque plusieurs fonctions sont imbriquées, il est recommandé d'écrire les
fonctions sans leurs arguments afin de ne pas oublier de parenthèse.
Soit à écrire : =SI(ET(C3>5;C3<10);"le contenu de C3 est dans l'intervalle
]5..10[";"le contenu de C3 n'est pas dans l'intervalle ]5..10[")
1ère étape, écrire la fonction sans ses arguments SI : =si(;;)
2ème étape, écrire la fonction ET, sans ses 2 arguments : =si(et(;);;) remarque : la
fonction ET constitue le premier argument de la fonction SI
3ème étape, écrire les arguments des fonctions les plus imbriquées :
=si(et(c3>5;c3<10);;)
4ème étape et suivantes, écrire les arguments des autres fonctions en remontant
dans l'imbrication : =si(et(c3>5;c3<10);"le contenu de C3 est dans
l'intervalle entre ]5..10[";"le contenu de C3 est à l'extérieur de l'intervalle
]5..10[").
2. Codes d'erreur dans LibreOffice Calc
Code d'erreur Message Explication
### aucun(e) La cellule n'est pas assez large pour afficher le contenu.
501 Caractère incorrect Un caractère dans une formule n'est pas correct.
502 Argument incorrect L'argument de la fonction n'est pas correct. Par exemple, un nombre négatif
pour la fonction RACINE(), pour cela, utilisez COMPLEXE.RACINE().
503 Opération à virgule flottante Calcul dépassant la limite de plage de valeurs définie.
#NUM! incorrecte

Page 4 sur 7 Initiation Tableur 02.odt


Initiation à l'informatique : Tableur LibreOffice Calc

Code d'erreur Message Explication


504 Erreur dans la liste des Paramètre de fonction incorrect, par exemple texte au lieu de nombre, ou
paramètres référence de domaine au lieu de référence de cellule.
508 Erreur : paire manquante Parenthèse manquante, par exemple absence d'une parenthèse ouverte mais
présence d'une parenthèse fermée
509 Opérateur manquant Opérateur manquant, par exemple dans "=2(3+4) * ", absence de l'opérateur
entre "2" et "(".
510 Variable manquante Variable manquante, par exemple en présence de deux opérateurs : "=1+*2".
511 Variable manquante Fonction nécessitant davantage de variables que celles saisies, par exemple
ET() et OU().
512 Formule trop longue Compilateur : le nombre total d'unités lexicales internes (c'est à dire les
opérateurs, variables, parenthèses) dans la formule est supérieur à 512.
513 Chaîne de caractères trop Compilateur : un identificateur d'une taille supérieure à 64 Ko dans la formule.
longue Interpréteur : un résultat d'une opération sur une chaîne d'une taille
supérieure à 64 Ko.
514 Dépassement des capacités Opération de tri lancée sur un volume de données numériques trop important
internes (limite 100 000) ou dépassement de pile de calcul.
516 Erreur de syntaxe interne La pile de calcul attend une matrice, mais cette dernière n'est pas disponible.
517 Erreur de syntaxe interne Code inconnu, par exemple un document comportant une fonction récente est
chargé dans une version plus ancienne ne reconnaissant pas cette fonction.
518 Erreur de syntaxe interne Variable non disponible
519 Aucun résultat (dans la cellule, La formule produit une valeur ne correspondant pas à la définition, ou une
#VALEUR à la place de Err:519 figure cellule référencée dans la formule contient du texte et non un nombre.
#VALEUR!)
520 Erreur de syntaxe interne Le compilateur crée un code de compilateur inconnu.
521 Erreur de syntaxe interne Pas de résultat.
522 Référence circulaire La formule réfère directement ou indirectement à elle-même et l'option
Itération n'est pas définie sous Outils - Options - LibreOffice Calc - Calculer.
523 La procédure de calcul ne La fonction a manqué une valeur cible ou des références circulaires n'ont pas
converge pas atteint la valeur minimale de changement dans le nombre maximal d'étapes
défini.
524 Référence incorrecte (#REF! Compilateur : résolution du nom descriptif d'une colonne ou d'une ligne
#REF figure dans la cellule, et non impossible. Interpréteur : dans une formule, absence d'une colonne, ligne ou
Err:524) feuille contenant une cellule référencée.
525 Nom incorrect (#NOM? figure Évaluation d'un identificateur impossible, par exemple : référence incorrecte,
#NOM? dans la cellule, et non Err:525) nom de domaine incorrect, étiquette de colonne ou de ligne manquante, macro
manquante, diviseur décimal incorrect, add-in introuvable.
526 Erreur de syntaxe interne Obsolète, plus utilisé, mais peut provenir d'anciens documents si le résultat est
une formule émanant d'un domaine.
527 Dépassement des capacités Interpréteur : imbrication de références, lorsqu'une cellule fait référence à une
internes autre par exemple.
532 Division par zéro opérateur de division / si le dénominateur est 0
#DIV/0! D'autres fonctions renvoient cette erreur, par exemple :
VAR.P avec moins d'1 argument
ECARTYPEP avec moins d'1 argument
VAR avec moins de 2 arguments
ECARTYPE avec moins de 2 arguments
CENTREE.REDUITE avec ECARTYPE=0
LOI.NORMALE avec ECARTYPE=0

Page 5 sur 7 Initiation Tableur 02.odt


Initiation à l'informatique : Tableur LibreOffice Calc

3. Types d'adressage
3.1. Adressage relatif :
Par défaut, la référence d'une cellule dans une formule est écrite en adressage relatif. Ce
type d'adressage est plus facile à comprendre lorsque nous utilisons la syntaxe de
formule Excel L1C1 (dans Calc R1C1).
 Exemple :
Soit l'exemple ci-contre dans lequel la cellule C3
calcule le produit du contenu de A3 par le contenu
de B3.
Outils  Options… ouvre la boîte de dialogue Options dans laquelle nous
développons la rubrique LibreOffice Calc pour
sélectionner l'option Formule ; déroulons
l'option Syntaxe de la Formule pour choisir Excel
L1C1 à la place de Calc A1 et validons par OK.
La formule de la cellule C3
est transformée en :
=RC[-2]*RC[-1]
dans laquelle RC[-2] fait référence au contenu de la cellule située sur la même ligne
(R équivalent à R[0]) mais décalée de 2 colonnes en arrière : C[-2] ;
et RC[-1] fait référence au contenu de la cellule située sur la même ligne et décalée
de 1 colonnes en arrière C[-1];
Sélectionnons la cellule C3 que nous copions
pour la reproduire dans la cellule R4C4 ; la
formule est bien reproduite mais si nous
décochons la case Formule de l'option
LibreOffice Calc Affichage, le résultat dans la
cellule R4C4 est 0 et non 75 comme dans la
cellule copiée R3C3 !
Pour bien comprendre ce qui se passe :
Outils  Audit  Repérer les antécédents
Maj+F7 permet de voir que le résultat de
R3C3 est issu de R3C1 (RC[-2]) et R3C2 (RC[-1]) alors que le résultat de R4C4 est issu
de R4C2 (RC[-2]) et R4C3 (RC[-1]).
Maintenant, revenons à la Syntaxe de la
formule Calc A1 et faisons de nouveau
afficher les formules d'où nous concluons
que la Syntaxe de la formule Calc A1 fait référence à un adressage relatif (que la Syntaxe
de la formule Excel L1C1 met bien en évidence en indiquant la place relative des
antécédents qui sont à -2 et -1 colonnes par rapport à la cellule affichant le
résultat).
Avant de continuer nous allons replacer les options par défaut de LibreOffice Calc : case
Formule décochée, Syntaxe de la formule Calc A1 et supprimer le repérage des antécédents
(Outils  Options… Audit  Supprimer tous les repères).

Page 6 sur 7 Initiation Tableur 02.odt


Initiation à l'informatique : Tableur LibreOffice Calc

3.2. Adressage absolu :


La Syntaxe de la formule Excel L1C1 permet de bien comprendre que, par exemple, la
référence R[-2]C[3] vise la cellule qui se trouve à deux lignes au-dessus et 3 colonnes à
droite relativement à la cellule où est écrite cette référence. Dans cette syntaxe, nous
pouvons avoir l'intuition que R3C7 va désigner la cellule qui se trouve à l'intersection de la
3ème ligne et de la 7ème colonne, et que cette référence est l'adresse absolue de la cellule.
 Exemple :
Dans la Syntaxe de la formule Excel L1C1 écrivons
l'exemple ci-contre et validons : le résultat 75
s'affiche.
Sélectionnons la cellule R3C3 que nous copions
dans le presse-papier.
Sélectionnons la cellule R4C4 et collons le
contenu du presse-papier : nous
constatons que notre intuition était bonne,
la formule copiée =R3C1*R3C2 fait bien
référence à des adresses absolues de
cellules.
Maintenant, il suffit de replacer Syntaxe de
la formule en Calc A1, pour voir comment
effectuer un adressage absolu avec cette
syntaxe, en utilisant le symbole $.
3.3. En résumé :
L'adressage absolu est nécessaire lorsque nous voulons pouvoir copier/déplacer une
formule ; il sera également indispensable lorsque nous désirerons que des calculs
semblables utilisent une valeur placée dans une cellule unique.
3.3.1. Syntaxe de la formule Calc A1 :
Bien se rappeler que l'adressage commence par la colonne
Adressage relatif (par défaut) : =A3*B3
Adressage absolu : =$A$3*$B$3
Si nécessaire, l'adressage peut être panaché : =A$3*$B3 ; =$A3*B$3 ; =$A$3*B3…
3.3.2. Syntaxe de la formule Excel L1C1 :
Bien se rappeler que l'adressage commence par la ligne
Adressage relatif (par défaut) : =RC[-2]*RC[-1]
Adressage absolu : =R3C1*R3C2
Adressage panaché : =RC1*R3C[-1] ; =R3*C[-2]*RC3 ; =R3C3*RC[-1]…
Cette syntaxe peut être préférée, elle est sans doute plus claire.
 Exercice :
Établir la formule unique à copier pour obtenir la table de multiplication ci-après :

Page 7 sur 7 Initiation Tableur 02.odt

Vous aimerez peut-être aussi