[Résolu][OXT] Colorier une ligne sur deux sous Calc

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
ThierryM
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 437
Inscription : 26 nov. 2006 11:29
Localisation : Les Corbières

[Résolu][OXT] Colorier une ligne sur deux sous Calc

Message par ThierryM »

Bonjour à tous,
Je vous propose une extension (ma première, j'ai décidé de franchir le pas) qui permet dans une feuille de classeur Calc de colorier une ligne sur deux d'une zone sélectionnée afin d'améliorer la lisibilité d'un listing.
Tous vos retours sont bienvenus.
Cordialement,

Thierry

PS : J'ai utilisé l'extension BasicAddonBuilder 0.3.5 de Paolo Mantovani pour créer cette extension à partir d'une macro dans une bibliothèque. C'est un outil formidable plutôt simple à utiliser (même si c'est vrai qu'à chaque fois qu'on change de version, il faut refaire tout le processus).

Edit du 8/10/2017 : pour la version 0.2.5, utilisation de l'extension "Extension Compiler" de Bernard Marcelly.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par ThierryM le 08 oct. 2017 00:10, modifié 3 fois.
LibreOffice Version: 7.6.2 / Linux Mint Mate Edition 21.2 / Pourquoi privilégier les formats de fichiers ouverts ?
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Calc] Extension pour colorier une ligne sur deux

Message par Alain de La Chaume »

Bonjour à tous, bonjour ThierryM
Tous vos retours sont bienvenus.
Alors je dirais juste : simple et efficace.
Et, juste pour vous montrer que j'ai regardé votre code :
La ligne :

Code : Tout sélectionner

Dim ConfigTri(2) As New com.sun.star.table.TableSortField, DescrTri As Variant
ne nuit pas, mais paraît inutile.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
Avatar de l’utilisateur
Grenouille
ManitOOu
ManitOOu
Messages : 3223
Inscription : 13 janv. 2006 16:21
Localisation : Chasseneuil-du-Poitou / Futuroscope

Re: [Calc] Extension pour colorier une ligne sur deux

Message par Grenouille »

Bonjour,
ThierryM a écrit :Je vous propose une extension (ma première, j'ai décidé de franchir le pas) qui permet dans une feuille de classeur Calc de colorier une ligne sur deux d'une zone sélectionnée afin d'améliorer la lisibilité d'un listing..
Pour info : une extension du même type existe déjà : http://user.services.openoffice.org/fr/ ... 18&t=11623

A+
OpenOffice 4.1.5 et LibreOffice 5.3.4 (par obligation) sous Windows 7
ThierryM
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 437
Inscription : 26 nov. 2006 11:29
Localisation : Les Corbières

Re: [Calc] Extension pour colorier une ligne sur deux

Message par ThierryM »

Merci beaucoup Grenouille :super: ,
Effectivement l'extension que tu indiques est d'un tout autre niveau et je ne la connaissais malheureusement pas (sinon je n'aurai pas cherché à réinventer la roue :lol: ).
J'aurai au moins construit ma première extension et compris un peu mieux leur fonctionnement et leur intégration dans OOo.

Pour Alain : effectivement, la ligne est bien inutile et est un reste oublié de nettoyage.

Cordialement,

Thierry

Edit à 15h52 :
J'ai modifié la version de l'extension (maintenant v 0.2.3) en nettoyant le code.
LibreOffice Version: 7.6.2 / Linux Mint Mate Edition 21.2 / Pourquoi privilégier les formats de fichiers ouverts ?
ThierryM
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 437
Inscription : 26 nov. 2006 11:29
Localisation : Les Corbières

Re: [Calc] Extension pour colorier une ligne sur deux

Message par ThierryM »

Salut à tous,
Juste pour informer d'une mise à jour de cette extension en 0.2.5 (dans le premier message de ce fil) qui peut à présent colorier une ligne sur deux seulement sur la partie sélectionnée (et pas sur toute toute la longueur). Il est toujours possible de colorier les lignes entières si on sélectionne les n° de lignes.
Pour info, cette extension a été réalisée avec le fichier "Extension Compiler" proposé par Bernard Marcelly et fonctionnera à coup sûr sous LibO (Sous Apache Open Office, il n'y aura a priori pas le menu).
Concernant l'autre extension évoquée ci-dessus, celle-ci est minimaliste (c'est le moins qu'on puisse dire :wink: : pas de configuration possible) mais plus rapide à mettre en œuvre : on réalise la tâche directement en un seul clic sur son icône dans la barre d'outils (pas de boîte de dialogue).
Cordialement,

Thierry

PS : Demande aux modérateurs. Peut-être que ce fil de discussion aurait davantage sa place dans la section "Extensions" ?
LibreOffice Version: 7.6.2 / Linux Mint Mate Edition 21.2 / Pourquoi privilégier les formats de fichiers ouverts ?
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 07:26

Re: [Calc] Extension pour colorier une ligne sur deux

Message par Hubert Lambert »

Bonjour Thierry,
ThierryM a écrit :cette extension [...] fonctionnera à coup sûr sous LibO (Sous Apache Open Office, il n'y aura a priori pas le menu).
En principe, il est possible de mixer les deux définitions (AOO et LibO) dans un même fichier xcu : les noeuds qui ne correspondent pas au schéma de l'un seront simplement ignorés.
Dans ton cas, tu peux essayer en remplaçant la section "OfficeToolBar" par celle-ci :

Code : Tout sélectionner

      [...]

      <node oor:name="OfficeToolBar">
         <node oor:name="Calc_LignesBicolores.TB1" oor:op="replace">

            <!-- Schéma LibreOffice-->
            <node oor:name="N001" oor:op="replace">
               <prop oor:name="Context" oor:type="xs:string">
                  <value>com.sun.star.sheet.SpreadsheetDocument</value>
               </prop>
               <prop oor:name="Title" oor:type="xs:string">
                  <value xml:lang="fr-FR">Colorie 1 ligne sur 2 de la sélection</value>
               </prop>
               <prop oor:name="URL" oor:type="xs:string">
                  <value>vnd.sun.star.script:Calc_LignesBicolores.Calc_MiseEnForme.ColorAlternLignes?language=Basic&location=application</value>
               </prop>
               <prop oor:name="Target" oor:type="xs:string">
                  <value>_self</value>
               </prop>
            </node>

            <!-- Schéma OpenOffice-->
            <prop oor:name="Title" oor:type="xs:string" oor:localized="true">
               <value/>
            </prop>
            <node oor:name="ToolBarItems">
                <node oor:name="N001" oor:op="replace">
                   <prop oor:name="Context" oor:type="xs:string">
                      <value>com.sun.star.sheet.SpreadsheetDocument</value>
                   </prop>
                   <prop oor:name="Title" oor:type="xs:string">
                      <value xml:lang="fr-FR">Colorie 1 ligne sur 2 de la sélection</value>
                   </prop>
                   <prop oor:name="URL" oor:type="xs:string">
                      <value>vnd.sun.star.script:Calc_LignesBicolores.Calc_MiseEnForme.ColorAlternLignes?language=Basic&location=application</value>
                   </prop>
                   <prop oor:name="Target" oor:type="xs:string">
                      <value>_self</value>
                   </prop>
                </node>
            </node>

         </node>
      </node>

      [...] 
Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
ThierryM
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 437
Inscription : 26 nov. 2006 11:29
Localisation : Les Corbières

Re: [OXT] Colorier une ligne sur deux sous Calc

Message par ThierryM »

Salut Hubert,
Merci pour ton aide.
J'ai essayé de faire les modifs dans le fichier AddonUI.xcu mais je pense qu'il y a une erreur de balise <value/> ( car en réinstallant dans LibreOffice, je n'avais plus l'icône dans la barre d'outils, seulement le texte) :

Code : Tout sélectionner

 <!-- Schéma OpenOffice-->
            <prop oor:name="Title" oor:type="xs:string" oor:localized="true">
               <value/>
            </prop>
Cordialement,

Thierry
LibreOffice Version: 7.6.2 / Linux Mint Mate Edition 21.2 / Pourquoi privilégier les formats de fichiers ouverts ?
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25181
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [OXT] Colorier une ligne sur deux sous Calc

Message par Dude »

Salut,

Quelques explications pour la syntaxe : http://beaussier.com/sections/viewtopic.php?f=8&t=1558
NB : uniquement testé avec OpenOffice
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 07:26

Re: [OXT] Colorier une ligne sur deux sous Calc

Message par Hubert Lambert »

Après quelques essais complémentaires, ça marche bien chez moi.
Je joins à tout hasard le fichier utilisé.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
ThierryM
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 437
Inscription : 26 nov. 2006 11:29
Localisation : Les Corbières

Re: [OXT] Colorier une ligne sur deux sous Calc

Message par ThierryM »

Merci à vous 2 pour votre aide,
Effectivement ça marche mais je ne sais pas si c'est dû à la montée de version de LibO en 5.4.2.2 sous Ubuntu mais après l'installation (et redémarrage), je n'ai pas l'icône : uniquement le texte "Colorier 1 ligne sur 2". Pour voir l'icône, il faut que je masque la barre d'outils "Outils Thierry" et que je la fasse réapparaître pour voir l'icône s'afficher.
En tout cas, mis à part ça, ça marche bien (en tout cas sous LibO).
Cordialement,

Thierry
LibreOffice Version: 7.6.2 / Linux Mint Mate Edition 21.2 / Pourquoi privilégier les formats de fichiers ouverts ?