Extraire des données dans Calc (Avec la fonction RECHERCHEV) Version 0.2 du 05.05.2006 Réalisé avec : OOo 2.0.2 Plate-forme / Os : Toutes Distribué par le projet fr.OpenOffice.org fr.OpenOffice.org Sommaire 1 - Introduction....................................................................................................3 2 - Un exemple simple........................................................................................3 2.A - Le tableau.......................................................................................................3 2.B - Fixer la fenêtre................................................................................................4 3 - Création d'un reçu.........................................................................................4 3.A - Définir la zone d'impression............................................................................4 4 - La fonction RECHERCHEV...........................................................................5 4.A - Formules de la partie gauche du reçu............................................................5 4.B - Formules de la partie droite............................................................................6 5 - Utilisation pratique.........................................................................................6 6 - La formule complète......................................................................................6 6.A - Le mode "rapide" ...........................................................................................7 6.B - Le mode "rigoureux" .......................................................................................7 7 - Agrandir le tableau........................................................................................7 8 - Crédits ..........................................................................................................8 9 - Licence..........................................................................................................8 Extraire_des_donnees.odt - Retour au Sommaire 2/8 fr.OpenOffice.org 1 - Introduction Vous êtes utilisateur de Calc ? Alors vous avez certainement eu l'occasion d'utiliser une feuille de calcul pour en faire un tableau de données : Soit tout simplement pour créer une liste d'adresses Soit d'une façon un peu plus évoluée, pour saisir l'inscription de nouveaux membres à votre club, pour gérer différentes activités, le paiement de cotisations, etc. Vous avez ainsi créé, peut-être sans vous en rendre compte, une base de données simple. Mais savez-vous qu'il est facile, en partant d'un tel tableau, d'éditer une fiche individuelle qui peut être une facture, un reçu de cotisation, une attestation d'inscription, relative à un seul enregistrement de votre tableau ? (une seule ligne dans le tableau) Voici un petit exemple qui vous permettra de mieux comprendre. 2 - Un exemple simple 2.A - Le tableau Sur ce tableau vous inscrivez, à mesure qu'ils se présentent, les candidats qui souhaitent participer à vos soirées de perfectionnement informatique. Vous remarquerez que ce tableau comporte, tout à gauche, une colonne qui contient une suite croissante de nombres. Cette colonne est très importante, car elle permettra d'identifier de façon univoque chaque ligne d'enregistrement. Pour créer une suite de nombres dans une colonne (ou une ligne) vous saisissez manuellement les deux premières cellules, vous les sélectionnez ensemble et vous recopiez le tout jusqu'à la dernière cellule désirée, soit avec la souris en utilisant la poignée de recopie, soit en utilisant la fonction : copier/coller. Vous remarquerez également dans les lignes de titres les cellules A1 et B1 dont nous verrons l'utilité un peu plus loin. Illustration 1: Le tableau des inscriptions Extraire_des_donnees.odt - Retour au Sommaire 3/8 fr.OpenOffice.org Vous pouvez créer ce tableau sur la feuille1 d'un nouveau document, feuille que vous pourrez renommer : "Inscriptions" par exemple, en faisant un clic droit sur son onglet. Si, en revanche, vous voulez adapter un tableau que vous possédez déjà, il vous faudra très certainement ajouter une colonne à gauche, pour insérer une suite de nombres croissante, qui ne commence pas forcément à 1. 2.B - Fixer la fenêtre Vous souhaitez remettre à chaque adhérent, au moment de son inscription, un reçu imprimé qui reprenne les informations que vous venez d'entrer. Vous allez donc saisir dans la cellule A1 le numéro d'ordre de l'adhérent que vous voulez éditer. Pour que cette cellule reste toujours visible à l'écran, même dans le cas d'une longue liste, vous devez fixer les lignes de titre. Sélectionnez la cellule A3 et appelez le menu : -Fenêtre-Fixer- 3 - Création d'un reçu Vous pouvez utiliser la feuille2 pour bâtir votre reçu, cette feuille étant renommée : "Reçu" (clic droit sur son onglet) Illustration 2: Le reçu terminé Bien sûr vous avez tout loisir d'agencer la présentation du reçu à votre guise, ce qui importe c'est de faire apparaître les données aux bons endroits. 3.A - Définir la zone d'impression Après avoir sélectionné la partie utile du reçu, vous appelez le menu : -Format-Zones d'impression-Définiret vous vérifiez sur l'aperçu que la mise en page est correcte. Le modèle proposé ici peut facilement être imprimé sur un format de papier A5 paysage. Extraire_des_donnees.odt - Retour au Sommaire 4/8 fr.OpenOffice.org 4 - La fonction RECHERCHEV Si on considère notre tableau de données, la partie utile commence à la ligne 3, et se termine à la ligne 12, pour l'instant. Nous verrons par la suite qu'il est très facile de l'agrandir vers le bas , si le besoin s'en fait sentir. Nous allons donc sélectionner cette partie contenant les données, depuis A3 jusqu'à H12, et nommer cette plage : liste en utilisant les menus : -Insérer-Noms-DéfinirCette plage constitue ce que l'on appelle une "matrice" La fonction RECHERCHEV s'écrit comme ceci : =RECHERCHEV(critère;matrice;indice) dans sa forme la plus simple. Nous verrons plus loin que les parenthèses peuvent contenir un quatrième argument, qui est facultatif. Le critère de recherche c'est le numéro d'identification qui se trouve dans la première colonne. La matrice que nous venons de définir, c'est la plage nommée : liste L'indice, c'est le numéro de la colonne qui contient la donnée recherchée, sachant que la première colonne à gauche du tableau porte le numéro 1 (rien à voir avec les en-têtes de colonnes de la feuille de calcul) 4.A - Formules de la partie gauche du reçu Nous allons donc mettre dans la cellule B3 du reçu la formule suivante : =Inscriptions.A1 Ce qui aura pour effet d'y faire apparaître le numéro du dossier souhaité. Par exemple le numéro 53 fera apparaître les données de M. Duval Illustration 3: Les formules du reçu C'est à partir du critère contenu dans la cellule B3 que nous allons élaborer les formules de Extraire_des_donnees.odt - Retour au Sommaire 5/8 fr.OpenOffice.org recherche des noms, prénoms, etc. Observons les formules de la partie de gauche : L'argument "critère" est toujours le même, c'est le n° de dossier contenu en B3. L'argument "matrice" est toujours "liste" puisque toutes ces données sont dans le même tableau. Seul l'argument "indice" est variable, le n° indique dans quelle colonne on lit la donnée. Remarquez bien que les arguments sont toujours séparés par un point-virgule, et qu'il n'y a aucun espace dans les formules. 4.B - Formules de la partie droite Dans le tableau des inscriptions, vous pouvez remarquer qu'il y a différents sessions, cela implique des dates différentes pour les séances. numéros de Offrons nous le luxe d'afficher les dates des séances dans la partie droite du reçu. Pour ce faire il nous faut réaliser un calendrier qui sera positionné quelque part à côté du reçu : Illustration 4: Le calendrier Nous nommerons la plage de G11à M17 : calen en utilisant les menus : -Insérer-Noms-DéfinirLes formules d'affichage des dates utiliseront comme critère le numéro de session qui apparaît en B7 du reçu, et comme matrice la plage nommée : calen 5 - Utilisation pratique Revenons à notre tableau du début, dans la cellule B1 nous allons mettre une formule : ="Imprimer "&Reçu.B4&" ?" en laissant un espace à droite de "imprimer" et un à gauche du point d'interrogation. Ainsi chaque fois que vous saisirez un nouveau numéro de dossier dans la cellule A1, vous serez averti du nom correspondant, ceci afin d'éviter des erreurs de saisie. Quand vous avez saisi un nouvel enregistrement dans le tableau "Inscriptions" il vous suffit de cliquer sur la cellule A1, de saisir le n° de cet enregistrement et de valider, puis de cliquer sur l'icône "Impression rapide" et votre reçu sort aussitôt. 6 - La formule complète =RECHERCHEV(critère;matrice;indice;tri) Tri est un critère facultatif qui va conditionner le mode de recherche. Il y a en fait deux modes de fonctionnement de la recherche : Extraire_des_donnees.odt - Retour au Sommaire 6/8 fr.OpenOffice.org 6.A - Le mode "rapide" Ce mode nécessite une liste triée et sans trous, ce mode est actif quand le quatrième argument de la formule est absent ou égal à VRAI ou 1. Si on demande un numéro plus petit que le début de la liste, on obtient en retour le message d'erreur : #NA que l'on pourrait traduire par : "Non Accessible" Si on demande un numéro plus grand que le dernier de la liste, on obtient en retour le dernier enregistrement de la liste, sans aucun message d'erreur. Si on demande un numéro théoriquement compris dans la liste, mais qui correspond à un trou (ligne absente) on obtient le contenu de la ligne précédente sans message d'erreur. Donc il, faut être prudent avec ce mode, ne l'utiliser que quand on est sûr du contenu de la liste, et ne demander que des numéros qui existent réellement. L'avantage du mode rapide est que le temps de recherche est plus court, surtout si on a une liste très longue. 6.B - Le mode "rigoureux" Ce mode est activé quand le quatrième argument de la formule est égal à FAUX ou 0 (zéro) Dans ce cas la recherche est plus lente, mais le résultat est garanti exact si la ligne existe effectivement, sinon le message d'erreur s'affiche : #NA. Il existe aussi une fonction RECHERCHEH qui lit dans un tableau de gauche à droite et non pas de haut en bas, et qui fonctionne de la même manière. 7 - Agrandir le tableau Les affaires marchent bien, et votre tableau "Inscriptions" s'avère trop court ! Pas de panique, vous appelez le menu : -Insérer-Noms-Définir- et vous cliquez sur le nom qui vous intéresse (ici : liste). En bas de la boîte de dialogue vous avez une fenêtre "Assigné à" qui affiche les limites de la plage, il vous suffit de modifier le numéro de la dernière ligne et de valider par : OK. Il vous faudra aussi prolonger la liste des numéros de la première colonne. Extraire_des_donnees.odt - Retour au Sommaire 7/8 fr.OpenOffice.org 8 - Crédits Auteur : Jean Perrin Remerciements : à Tony Galmiche, Gilles Bignebat, et toute l'équipe Intégré par : Tony Galmiche Contacts : Projet Documentation OpenOffice.org - fr.OpenOffice.org Traduction : Historique des modifications : Version Date 0.2 05/05/06 Commentaire Première version 9 - 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 Extraire des données dans Calc. The Initial Writer of the Original Documentation is Jean Perrin Copyright © 2006. All Rights Reserved. (Initial Writer contact(s): agnesperrin@hotmail.com). Contributor(s): ______________________________________. Portions created by ______ are Copyright ©_________[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. Extraire_des_donnees.odt - Retour au Sommaire 8/8 ">

Enlace público actualizado
El enlace público a tu chat ha sido actualizado.