Distribué par le projet fr.OpenOffice.org

Version 0.6 du 11.12.2004

Réalisé avec : OOo 1.1.4	Plate-forme / Os : Toutes

Macro pour améliorer
l'outil de tri de Calc

Sommaire

1 Fonctionnalités de la macro	3

2 Rappel des limitation de l'outil de tri de Calc	3

3 Principe de fonctionnement de la macro	4

4 Installation de la macro	4

4.1 Méthode par Copier / Coller	4

4.2 Méthode par importation de bibliothèque (Plus rapide)	4

5 Exécuter la macro avec un icône de la barre d'outils	5

6 Enlever les anciens outils de tri	5

7 Inconvénients de la macro (améliorations envisageables)	5

8 Crédits	6

9 Licence	6

Fonctionnalités de la macro

Étant donné que l'outil de tri est très utilisé, les limitations (cf chapitre suivant) de celui-ci sont très gênantes pour beaucoup d'utilisateurs. La seule solution pour contourner ce problème a donc été de développer une macro.

Pour ce développement, la société Plastigray (www.plastigray.com) a donc fait appel à Laurent Godard qui a suivi le cahier des charges demandé par moi même.

Plastigray redonne à la communauté sous licence LGPL cette macro sans aucune garantie, mais en espérant qu'elle soit utile au plus grand nombre.

Avec cette macro il est possible de trier un tableau avec une ligne de titre, sur n'importe quelle colonne et sans mélanger les lignes entre deux tris.

Ce document est livré avec 4 macros :

TriCroissantAvecTitre -> Effectue un tri croissant sans trier la ligne de titre

TriDeCroissantAvecTitre -> Effectue un tri décroissant sans trier la ligne de titre

TriCroissantSansTitre -> Effectue un tri croissant en triant également la première ligne

TriDeCroissantSansTitre -> Effectue un tri décroissant en triant également la première ligne

Rappel des limitation de l'outil de tri de Calc

Actuellement, et même dans la version 2.0 de OOo, l'outil de tri de Calc est très limité :

La ligne de titre d'un tableau est toujours triée avec le contenu de celui-ci. La seule solution est d'ajouter une ligne vide pour séparer la ligne de titre, mais dans ce cas, c'est l'AutoFiltre qui ne fonctionne plus correctement (Menu « Données / filtre / AutoFiltre »).

Le tri ne peut se faire que sur la première colonne d'un tableau, ce qui limite sérieusement son utilisation.

Cet outil n'est donc quasiment pas utilisable et il faut donc passer par le menu « Données / Trier » pour arriver à trier un tableau avec une ligne de titre ou sur une autre colonne que la première.

De plus le tri dans Calc a également le gros défaut de mélanger les lignes triées. Mais pour comprendre, le mieux est de prendre un exemple :

B	1
B	2
B	3
B	4
A	5
A	6
A	7

En triant avec l'outil ou avec le menu « Données / Trier » sur la première colonne du tableau ci-dessus dans Calc, on obtient le tableau ci-dessous :

A	5
A	7
A	6
B	1
B	2
B	3
B	4

Et là, on constate que le 7 est passé devant le 6. Donc en triant sur une colonne, le tri précédent n'est pas conservé (deuxième clé de tri)

Cela est assez gênant et empêche de faire des tris sur plus de 3 clés. Avec Excel, il est possible avec l'outil de tri de trier sur un nombre quelconque de clés, car les lignes ne sont pas mélangées entre deux tris.

Principe de fonctionnement de la macro

Pour utiliser la macro, il faut placer la cellule active dans la colonne à trier sans effectuer aucune sélection.

La macro ne détecte pas la ligne de titre, mais il est possible de choisir la macro avec ou sans prise en compte de la ligne de titre.

La macro détecte la position du curseur pour connaître la colonne à trier.

Elle détecte ensuite les limites du tableau (équivalent du raccourci CTRL + *). Pour cela, il est impératif que le tableau ne comporte aucune ligne ou colonne vide.

La macro ajoute une nouvelle colonne temporaire à gauche du tableau contenant un numéro chronologique. Cette colonne va permettre de ne pas mélanger les lignes après le tri.

Ensuite, la macro appelle la fonction de tri (Menu « Données / Trier ») avec pour première clé de tri la colonne de la cellule active et en deuxième clé de tri, la nouvelle colonne.

Pour finir, la nouvelle colonne temporaire est supprimée.

Installation de la macro

Pour que la macro soit disponible dans tous les fichiers Calc, il faut l'installer. Pour l'installer il existe deux méthodes :

Méthode par Copier / Coller

Il suffit de copier le code de la macro de ce document dans la bibliothèque standard de OOo ou dans la bibliothèque de votre choix.

Outil / Macro / Macro

Faire un double clic sur « OutilTriCalc » de ce document

Sélectionner « Module1 » et cliquer sur le bouton « Editer »

Copier tout le code (CTRL+A et CTRL+C)

Outil / Macro / Macro

Faire un double clic sur « soffice / Standard » ou sur la bibliothèque de votre choix

Cliquer sur Nouveau

Coller le code des macros dans le nouveau module (CTRL+V)

Il est désormais possible de lancer la macro manuellement depuis la boite de dialogue « Outil / Macro / Macro »

Méthode par importation de bibliothèque (Plus rapide)

Cette méthode installe une nouvelle bibliothèque contenant les macros

Outil / Macro / Macro

Bouton Gérer

Onglet Bibliothèque

Bouton Ajouter

Aller chercher le fichier contenant la macro (ce document)

ATTENTION : Décocher la bibliothèque « Standard » pour ne pas supprimer vos propres macros

Cliquer sur OK

Il est désormais possible de lancer la macro manuellement depuis la boite de dialogue « Outil / Macro / Macro »

Exécuter la macro avec un icône de la barre d'outils

Clic droit sur la barre d'outil à utiliser et choisir le menu « Personnaliser... »

Double-Clic sur « OpenOffice.org Macro BASIC »

Double-clic sur « Standard » ou « OutilTriCalc » ou sur la bibliothèque contenant les macros.

Sélectionner la macro à affecter à l'outil

Cliquer sur le bouton « Ajouter » et sur les boutons « Vers le haut » ou « Vers le bas » pour positionner l'outil correctement.

Cliquer sur le bouton icône pour affecter un icône à cette macro.

Enlever les anciens outils de tri

Il n'est pas possible d'affecter une macro à un outil existant.

Il est donc préférable de ne pas faire cohabiter les outils standards avec les nouveaux outils :

Clic droit sur la barre d'outil verticale (Barre d'instruments)

Dans le menu « Boutons Visibles », décocher les deux outils de tri.

Inconvénients de la macro (améliorations envisageables)

Pour annuler un tri, il faut annuler les 3 dernières opérations et cela laisse apparaître la colonne ajoutée manuellement.

La détection de la ligne de titre n'est pas automatique, il faut donc définir dés le départ la macro à utiliser (Avec ou sans titre).

Comme toutes les macros et les développements spécifiques, il est nécessaire de l'installer manuellement. Pour contourner ce problème, je configure un poste modèle avec toutes les macros et les options qui me conviennent et je recopie les dossiers user et share sur les autres postes.

Il serait intéressant d'utiliser un installateur de macro qui ajoute les nouveaux outils et masque les outils par défaut. Cela devait être possible avec la version 2.0 de OOo.

Le résultat serait plus performant avec de gros tableaux si cette fonctionnalité était codée en C++ dans le coeur de Calc et non pas en basic. Mais avec des tableaux de taille raisonnable (2000 lignes) la vitesse du tri est satisfaisante.

Crédits

Auteur : Tony GALMICHE

Remerciement :

Laurent GODARD pour le développement de cette macro.

La société Plastigray qui a payé le développement et redonne celui-ci sous licence LGPL.

Intégré par : Sophie Gautier

Contacts : Projet Documentation OpenOffice.org - fr.OpenOffice.org

Traduction :

Historique des modifications :

Version	Date	Commentaire
0.6	11/12/04	Création

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 Macro_Outil_Tri_Calc.sxw. The Initial Writer of the Original Documentation is Tony GALMICHE Copyright © 2004. All Rights Reserved. (Initial Writer contact(s): tony.galmiche at plastigray.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.

fr.OpenOffice.org

Macro_Outil_Tri_Calc_0.5.sxw - Retour au Sommaire	6 / 6

2004-10-31T19:18:59