CALC
Une liaison entre fichiers génère une matrice !
Que faire ?

Distribué par
Le projet OpenOffice.org

Table des Matières

1 La Matrice : Eclairage	3

2 Créer une Matrice	4

3 La Matrice et les Liens dynamiques	6

4 Modifier une Matrice sous OpenOffice.org	8

5 En résumé :	10

6 Peut-on simplifier ?	10

7 Licence	10

CHAPITRE 1

La Matrice : Eclairage Utilisez l'aide pour de plus amples détails avec comme valeur de recherche : Fonctions de matrice ou Saisie d'une formule matricielle En résumé Une matrice est une zone (une ou plusieurs cellules) qui calcule des données à l'aide d'une seule formule. C'est simpliste mais les exemples suivants vont clarifier les manques de cette définition.	Dessin 1 Recherche dans l'aide

Pour additionner plusieurs valeurs d'un tableau (Devis, Factures, etc.) nous avons l'habitude d'utiliser la saisie suivante : =E15+C15.
Puis on incrémente la formule par recopie sur la zone nécessaire. La ligne en dessous se voit affectée de la même formule mais incrémentée; E15 devient E16 et ainsi de suite.

Exemple:

Illustration 1 Formule classique

Dans ce cas, c'est trois formules qui se chargent de calculer le tableau. Elles se trouvent respectivement dans C15, C16 et C17.

Avec une fonction matricielle on fait la même chose, mais avec UNE formule.

Visuellement le résultat est le même, mais la procédure est différente. (Nous verrons en quoi cela nous concerne dans le cas de fichiers liés).

Créer une Matrice

Voici le même tableau avec une matrice.

Faites attention à la formule, elle commence par une accolade.

Ne cherchez pas écrire une fonction matricielle, les accolades bloquent votre saisie en mode texte ! Donc pas de calcul possible.

Dessin 2 Formule matricielle

Pour générer une matrice, faites comme d'habitude :

sélectionnez la cellule acceuillant la matrice, G10 dans cet exemple,

puis F2 ou double-clic,

tapez =

Sélectionnez la première zone (C10 à C12),

tapez +

Sélectionnez la deuxième zone (E10 à E12),

A partir de là deux cas possible :

- Validez (Ctrl+Maj+Entrée), une matrice est crée par Calc.

- ou Validez (Entrée) puis recopie non incrémentée de la formule.

Cette validation par touches combinées (Ctrl+Maj+Entrée) provoque l'apparition d'une fonction matricielle signalée par des accolades et la sélection automatique de la zone concernée.

Résumons un peu :

Pour calculer plusieurs lignes d'un tableau je peux écrire :

= C10+E10 à incrémenter sur chaque ligne devant effectuer le calcul.

= C10:C12+E10:E12 à transformer en = $C$10:$C$12+$E$10:$E$12 puis à recopier sur chaque ligne devant effectuer le calcul.

{= C10:C12+E10:E12} à l'aide de Ctrl+Maj+Entrée sans incrémentation.

L'affichage des formules donne le résultat suivant par ordre de difficultés :

Addition incrémentée – Classique !

Addition par zone – Moins courant et cela oblige à basculer la formule en mode Absolu (Maj+F4 sur les références).

Matrice – Un peu exotique, mais séduisant pour les liaisons dynamiques entre fichiers; on va voir son usage dans la suite.

Illustration 2 Trois façons de traiter un calcul pour un même résultat

La Matrice et les Liens dynamiques

Maintenant voyons ce qui se passe quand on réalise une liaison dynamique.

Je veux lier les tableaux de deux fichiers.

J'ai un premier fichier ....

Illustration 3 Source des données Illustration 4 Fichier qui affiche les données

et un deuxième vide (ou plein, peu importe !).

Je sélectionne la cellule A1 de mon fichier Data2.sxc, je la copie (ctrl+c) puis je vais sur mon fichier vide.

Illustration 5 Boite de dialogue par la touche "Inser" après un copier

Là je sélectionne une cellule et j'utilise la touche Insert de mon clavier (ou Edition – Collage spécial).

Je fais attention que l'option lier est bien cochée.

On obtiens une liaison dynamique entre fichiers mais sur une cellule ! Le reflexe est de vouloir agrandir la zone pour « voir » toute la zone de Data2.sxc, en tirant sur la poignée de recopie.

Illustration 6 Etirage de la zone (tout au moins, on le croit !)

A la fin de ma manipulation réalisée en toute bonne foi, je suis récompensé par ceci :

Illustration 7 Pas de panique ! cherchons à comprendre

NOTA : #NA signifie Non accessible/Non Applicable. Nous avons donc une erreur de lecture.

N'oublions pas que nous sommes sous OpenOffice.org ! Il a SA logique de fonctionnement.

Voyons comment, en restant dans NOTRE logique de travail, augmenter la zone liée et ainsi rapatrier le contenu du fichier source, ce qui était l'objectif de notre manipulation !

Modifier une Matrice sous OpenOffice.org

Tant que la Matrice est sélectionnée, appuyez sur la touche F2 pour l'éditer.

Illustration 8 Edition de la Matrice

Vous devez modifier la zone du lien DDE.

Dans notre exemple, la zone est comprise entre A1 et C6 (Data2.sxc – voir plus haut).

Ce qui nous donne ceci :

Illustration 9 Modification de zone lue par la Matrice

Puis validez par la combinaison Ctrl+Maj+Entrée.La matrice se met à jour, fait une lecture des données ce qui provoque la disparition des erreurs de lecture, en partie !

Illustration 10 On y est presque !

Les erreurs de lecture restantes sont tout simplement la conséquences d'une Matrice plus grande que la zone examinée.

Redimensionnez la et tout rentre dans l'ordre.

Illustration 11 On redimensionne

Les cellules d'une matrice se comportent comme les autres (calcul, formatage, etc.) sauf qu'elles sont protégées !

Une modification classique (F2 puis Entrée pour valider) entraine l'apparition d'un message :

Illustration 12 Il vous faut relire votre cours !

En résumé :

La création d'une matrice se fait par Ctrl+Maj+Entrée en guise de validation d'une formule.

Voir Création d'une Matrice.

L'édition se fait par F2 si la Matrice est sélectionnée entièrement.

La validation des modifications d'une Matrice se fait par Ctrl+Maj+Entrée.

Une matrice peut être redimensionnée en taille, mais cela n'influence pas la zone examinée.

Une Matrice peut être formatée comme de simple cellules.

On peut réaliser des calculs sur les résultats que donne une Matrice.

Peut-on simplifier ?

Oui, tout simplement en copiant tout le tableau du fichier A puis en faisant un copier/lier dans le fichier B.

La matrice se fait et se dimensionne automatiquement sans intervention de notre part.

Par contre, si le tableau est trop grand (ou trop nombreux !) on est tenté de réaliser la liaison par la première cellule du tableau.

Le problème vient du fait que la fonction DDE, mise en jeu dans ce cas, est intégrée dans une fonction matricielle (signalée par les accolades) et cette fonction DDE n'est pas incrémentable par la procédure classique (poignée de recopie). Même en cassant la Matrice par élimination des accolades.

J'espère que ces explications vous seront utiles.
Bon travail. Cordialement	Patrick Guimberteau

Forma-pro.com.fr

Licence

Appendix

Public Documentation License Notice

The contents of this Documentation are subject to the Public Documentation License Version 1.0 (the "License"); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at http://www.openoffice.org/licenses/PDL.html.

The Original Documentation is Calc, une liaison entre fichiers génère une matrice. The Initial Writer of the Original Documentation is Patrick GuimberteauCopyright (C) 2003. All Rights Reserved. (Initial Writer contact(s): pguimber@club-internet.fr).

Contributor(s): ______________________________________.

Portions created by ______ are Copyright (C)_________[Insert year(s)]. All Rights Reserved. (Contributor contact(s):________________[Insert hyperlink/alias]).

NOTE: The text of this Appendix may differ slightly from the text of the notices in the files of the Original Documentation. You should use the text of this Appendix rather than the text found in the Original Documentation for Your Modifications.

OpenOffice.org Documentation Project How-To

http://fr.OpenOffice.org	10

p g

2003-06-11T10:55:59

Sophie Gautier

p g