[Calc]lenteur majeure entre LibO5 et LibO6

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 !

[Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 27 Mai 2019 10:42


La modération a écrit:Vous postez en section Macros et API. Le terme Macro est inutile dans le titre. Nous l'avons supprimé.

Bonjour.

Mon précédent sujet a été verrouillé et je ne peux le rouvrir.
Je dois donc en poster un nouveau.

J'ai fait une nouvelle tentative hier, en installant la version 6.2.4. sous Win 10. (en remplacement de la 5.4.7.2).
C'est celle que j'ai sous Linux, et elle ne pose aucun souci.

La macro de tri est interminable (plusieurs minutes) sous LibO6, alors qu'elle est bouclée en 2 secondes sous LibO5.

Je sais que l'on va me demander le fichier... J'ai bien compris.
Cependant, je dois l'anonymiser ; c'est un travail qui, à ce jour, me semble énorme.
Il y a beaucoup de données, connectées entre elles... Bref....
Je ne peux pas supprimer les données, parce que le problème de lenteur disparaît (quand je conserve 10 lignes sur les 300 et plus de mon tableau, le tri est fait à une vitesse normale).

J'émets donc l'hypothèse d'abord, avant de penser qu'il y a un souci dans le tableau et de passer du temps à le vider pour l'envoyer, qu'il y a peut-être eu des changements au niveau du code des macros, je ne sais pas. C'est pour cela que je soumets prioritairement un exemple de macro de tri à votre analyse.
Je précise que ce tableau et ces macros ont toujours fonctionné sous LibO5, en suivant l'évolution des versions.

Merci de vos retours.

Code : Tout sélectionner   AgrandirRéduire
Sub tri_alphabetique() 'trie tous les noms de la liste en distinguant actifs et inactifs ----- validé v5 -----
   
   rem déclaration variables
   dim classeur as object, fenetre as object, feuilles as object, feuille as object, cellule_compteur as object, cellule_test as object, zone_tri as object
   dim dossiers as integer
   dim configTri(1) as new com.sun.star.table.TableSortField
   dim descTri as variant
   dim nom_test as string
   classeur = ThisComponent
   fenetre = classeur.CurrentController.Frame.ContainerWindow
   feuilles = classeur.Sheets
   feuille = feuilles.getByName("REFERENT")
   cellule_compteur = feuille.getCellByPosition(0,1) rem lit le nombre de dossiers dans la base
   dossiers = cellule_compteur.value
   
   rem tout bloquer
   classeur.lockControllers
   classeur.addActionLock
   classeur.enableAutomaticCalculation(false)
   fenetre.Enable = false
   
   if dossiers > 1 then rem il y a au moins deux noms saisis
      cellule_test = feuille.getCellByPosition(2, (6 + dossiers - 1)) rem lit le nom de la dernière ligne
      nom_test = cellule_test.string
         
      if nom_test<>"" then rem si dernière ligne pas vide : tri
            
         zone_tri = feuille.getCellRangeByPosition(0, 6, 230, (6 + dossiers - 1))
         
         with configTri(0) rem actif
            .Field = 7
            .IsAscending = false
         end with
         with configTri(1) rem nom et prénom
            .Field = 119
            .IsAscending = true
         end with
         
         descTri = zone_tri.createSortDescriptor
         setPropVal(descTri, "SortFields", configTri())
         setPropVal(descTri, "IsSortColumns", false)
         setPropVal(descTri, "CopyOutputData", false)
         setPropVal(descTri, "IsUserListEnabled", false)
         setPropVal(descTri, "BindFormatsToContent", true)
         setPropVal(descTri, "ContainsHeader", false)
         
         zone_tri.Sort(descTri())
         
         MsgBox("Demande réalisée.", 64, "")
            
      else
            
         MsgBox("Complétez d'abord la dernière ligne.", 16, "")
            
      endif

   end if
   
   if dossiers = 1 then rem il y a un seul nom saisi
      
      MsgBox("Une seule entrée. Pas de tri.", 16, "")
      
   end if
   
   if dossiers = 0 then rem il n'y a pas de nom saisi
      
      MsgBox("Pas d'entrée. Pas de tri.", 16, "")
      
   end if
   
   rem tout débloquer
   fenetre.Enable = true
   classeur.enableAutomaticCalculation(true)
   classeur.removeActionLock
   classeur.unlockControllers
   classeur.calculate
   
End Sub
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Hubert Lambert » 27 Mai 2019 18:12

Bonjour,

Quand tu écris
Carol a écrit:J'ai fait une nouvelle tentative hier, en installant la version 6.2.4. sous Win 10. (en remplacement de la 5.4.7.2).
C'est celle que j'ai sous Linux, et elle ne pose aucun souci.
veux-tu bien dire que tu as la version 6.2.4 sur Linux et que tout fonctionne sans lenteur ?

Je viens en effet d'essayer sous Linux Mint avec cette version, sur une plage de données de 300x300 cellules, et le tri s'effectue un moins d'une seconde.

Cordialement.
AOOo 4.1.2 sur Win7
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)
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
 
Message(s) : 1108
Inscrit le : 06 Avr 2016 08:26

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 27 Mai 2019 20:35

Sous Linux, j'ai au moins la 6.2.1 (je ne peux pas le vérifier pour le moment).
Mais, il y a 2 ou 3 mois de cela, j'ai testé avec le même fichier, la même version de LO sous Linux et Win.
Aucun souci sous Linux.
Absolument inutilisable sous Win.
J'ai dégradé la version Win à LO 5.4.7.2, et tout fonctionne normalement.

Hier, j'ai essayé la dernière version stable de LO (6.2.4) sous Win... Inutilisable...
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar micmac » 27 Mai 2019 21:27

Bonjour,
Carol a écrit:j'ai essayé la dernière version stable de LO (6.2.4)

La version 6.2.4 (ex version Évolution) est dédiée aux passionné de technologie, aux adeptes précoces ou utilisateurs expérimentés.
Essayez avec la version 6.1.6 (ex version Stable) qui est dédiée au déploiement en entreprise ou dans un environnement professionnel et revenez nous donner le résultat.

Ici nous recommandons la version 6.1.6.
Dans votre signature vous devez préciser la ou les versions exactes d'OpenOffice ou de LibreOffice et du ou des systèmes utilisés.
Exemple : AOO 4.1.6 (version imposée selon le cas) sous Win7 SP1, Win 8.1, Win 10, macOS 10.14.5, Ubuntu 18.10...
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 5968
Inscrit le : 28 Août 2010 09:45

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 28 Mai 2019 08:03

Bonjour.

Je viens d'installer la 6.1.6, en purgeant toutes traces de la version précédente.
Tri chronométré en 50s. Inutilisable pour mon quotidien professionnel.
Je réinstalle la version fonctionnelle (5.4.7.2), dans l'attente d'idées, de pistes... Je ne sais pas.

Cordialement
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Hubert Lambert » 28 Mai 2019 17:31

Bonjour,

Visiblement, c'est un problème propre à Windows. Je n'aurai pas accès à un ordi Windows avant la semaine prochaine.
Si tu fournis un fichier exemple, tu auras sans conteste plus de retours. Pour mes essais, j'ai généré les valeurs ici. Des copier-coller ont fait le reste...
Cordialement.
AOOo 4.1.2 sur Win7
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)
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
 
Message(s) : 1108
Inscrit le : 06 Avr 2016 08:26

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 28 Mai 2019 18:32

Je vais essayer.
Je ne sais pas trop comment je vais m'y prendre mais je vais essayer...
Merci.
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar OOotremer971 » 28 Mai 2019 19:08

Bonjour,
Carol a écrit:Je ne sais pas trop comment je vais m'y prendre

Tu peux te servir de l'outil Rechercher & remplacer... du menu Édition

Par exemple :
remplacer les lettres A par une chaîne xyz
les E par cwx
etc... etc... pour les autres voyelles et éventuellement, remplacer quelques consonnes par des voyelles. En moins de deux minutes ton fichier deviendra illisible et indéchiffrable. :idea:

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2008
Inscrit le : 16 Avr 2010 14:31

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 29 Mai 2019 09:09

Bonjour.

Voici le fichier h**p://www.k-upload.fr/afficher-fichier-2019-05-29-1d431ad69refanon.ods.html

Merci de vos retours.
Dernière édition par micmac le 29 Mai 2019 10:23, édité 1 fois.
Raison: lien externe neutralisé
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar micmac » 29 Mai 2019 10:22

Bonjour,

Vous avez joint à votre message l'adresse d'un site tiers hébergeant votre fichier.
Or, souvent ces sites n'assurent aucune pérennité sur les données qu'ils hébergent.

Nous préférerions que soit utilisé notre service de pièce-jointe dont le lien est mentionné en bas lorsque vous écrivez votre message : ftopic10246-comment-joindre-un-fichier-sur-ce-forum.html

Lorsque, comme c'est le cas pour vous, le fichier dépasse les 500 Ko acceptés vous pouvez le joindre en passant uniquement par le site http://www.cjoint.com/

Veuillez corriger votre message en utilisant le bouton "EDITER" (situé à droite) et en mettant en ligne votre fichier correctement.
Dans votre signature vous devez préciser la ou les versions exactes d'OpenOffice ou de LibreOffice et du ou des systèmes utilisés.
Exemple : AOO 4.1.6 (version imposée selon le cas) sous Win7 SP1, Win 8.1, Win 10, macOS 10.14.5, Ubuntu 18.10...
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 5968
Inscrit le : 28 Août 2010 09:45

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 29 Mai 2019 10:36

Il n'y a plus le bouton Editer sur ce message précis (sur les autres, oui).
Voici le nouveau lien : https://www.cjoint.com/c/IEDjH2NYCXL

Merci.
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 03 Juin 2019 10:18

Bonjour.

Est-ce que quelqu'un a le début du commencement d'une piste ?
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Dude » 03 Juin 2019 10:21

Déjà si tu prenais la peine de fournir un mode d'emploi pas-à-pas détaillé pour arriver au problème.
Parce que tu nous balances ton document sans la moindre explication et tu t'étonnes de ne pas avoir de réponse. :roll:
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 20789
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 03 Juin 2019 11:26

C'est vrai.
Les boutons associés aux macros me posant problème sont sur l'onglet REFERENT, en haut, à gauche.
En noir sur fond vert.
Ils servent à trier les données de l'onglet REFERENT, selon des critères spécifiques.
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 03 Juin 2019 18:21

A titre d'information, j'ai supprimé Libre Office 5, supprimer les traces dans les paramètres utilisateurs.
J'ai installé Open Office 4.1.6.
Le résultat est identique.
Peut-être un peu plus rapide que Libre Office 6.
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar gerard24 » 03 Juin 2019 20:07

Bonsoir,

Carol a écrit:Bonjour.

Est-ce que quelqu'un a le début du commencement d'une piste ?

A voir du coté du formatage conditionnel.
Un format appliqué à une plage de cellules (ex : A1:J1000) sera géré plus simplement et rapidement que 10000 formats appliqués à 10000 cellules individuelles.
Et même si tu désactives le Calcul automatique, les MFC sont quand même "recalculées".

A+
OOodidacte
LibreOffice 6.2.4 sous Windows 10.
pour télécharger LibreOffice
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
 
Message(s) : 3122
Inscrit le : 06 Juil 2008 18:08
Localisation : dans le Périgord

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 03 Juin 2019 20:21

Euh....

Formatage conditionnel... oui...
Mais j'ai du mal à comprendre.
Si je sélectionne une plage de 300 cellules et que j'applique un format conditionnel,
OU
si j'applique un format conditionnel à une cellule que je recopie dans les 300 suivantes,

je ne vois pas la différence : il y a toujours 300 cellules formatées.
Où est l'astuce ?
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar gerard24 » 03 Juin 2019 21:19

Carol a écrit:Euh....

Formatage conditionnel... oui...
Mais j'ai du mal à comprendre.
Si je sélectionne une plage de 300 cellules et que j'applique un format conditionnel,
OU
si j'applique un format conditionnel à une cellule que je recopie dans les 300 suivantes,

je ne vois pas la différence : il y a toujours 300 cellules formatées.
Où est l'astuce ?

Imagines que tu as une plage de cellules A1:A100 où tu as appliqué une MFC cellule par cellule (copier/coller ou autre).
Le fichier .XML contient autant de lignes que de formules, comme si elles étaient toutes différentes.
Le tri modifie l'adresse de chacune d'entre elles et le fichier est réécrit pour chacune d'entre elles.

Maintenant, tu as appliqué cette MFC sur la plage entière en une seule fois.
Le fichier contient une ligne disant "la plage A1:A300 a telle condition de MFC pour ses cellules".
Tu tries la plage, la condition est inchangée. "la plage A1:A300 a telle condition de MFC pour ses cellules".

Quand tu ouvres la boite que dialogue Format > Format conditionnel > Gérer et que tu as des milliers de ligne cela peut ralentir passablement un classeur.

 Ajout : Avec ta dernière version de LibO (6.1 minimum), sélectionnes tout ton tableau.
Ctrl+C, Ctrl+Maj+V, décoches tout et coches seulement "Format".

Cela devrait réunifier les plages de MFC identique et donc en diminuer le nombre. 
OOodidacte
LibreOffice 6.2.4 sous Windows 10.
pour télécharger LibreOffice
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
 
Message(s) : 3122
Inscrit le : 06 Juil 2008 18:08
Localisation : dans le Périgord

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 04 Juin 2019 08:02

Bonjour.

Pour les cellules concernées (formatage conditionnel) :
- j'ai supprimé tout formatage (Ctrl + M)
- j'ai sélectionné la plage de cellules
- j'ai réappliqué un formatage conditionnel à la plage

Pas de différence significative sous OpenOffice.

Je vais tester sous LibreOffice.

@ Gerard24 : comment puis-je savoir que ce que tu as conseillé a été appliqué et si les cellules sont bien traitées en groupe et non pas individuellement ?
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 04 Juin 2019 08:55

Catastrophiquement lent sous LibO 6 !!!

:cry:

LibO 5 : +- 3s
OpenO 4 : +- 12s
LibO 6 : passe les 30s


Edit : j'ai encore travaillé sur les plages de format conditionnel.
Je pense que cette fois-ci, j'ai purgé les applications individuelles.
https://zupimages.net/up/19/23/ir0n.jpg

La modération a écrit:Pas d'image hébergée en dehors du forum.


Sous OpenO 4 : pas d'amélioration significative.
Je n'ai pas testé sous LibO 6.

Edit 11 juin : quelqu'un a-t-il une piste de réflexion ?
Merci
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Dude » 17 Juin 2019 15:28

Carol a écrit:C'est vrai.
Les boutons associés aux macros me posant problème sont sur l'onglet REFERENT, en haut, à gauche.
En noir sur fond vert.
Ils servent à trier les données de l'onglet REFERENT, selon des critères spécifiques.

Désolé mais ce n'est pas suffisant.
Il faudrait vraiement que tu fasses un minimum d'effort pour :
Dude a écrit:fournir un mode d'emploi pas-à-pas détaillé pour arriver au problème

Fais-nous des copies écran des différentes étapes.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 20789
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 19 Juin 2019 17:12

En cliquant sur un des boutons du cadre rouge (onglet REFERENT), toutes les données qui sont en dessous sont triées.
- le bouton AZ trie la colonne C en ordre croissant
- le bouton suivant trie la colonne F en ordre croissant
- le suivant la colonne F en ordre décroissant
...
Pièces jointes
img.jpg
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 30 Juin 2019 21:46

Bonjour.

Je suppose, vue l'absence de réponses, que les pontes de l'Office sèchent sur la question...
:(
Pour le boulot, j'ai modifié mon tableau, j'ai ajouté certaines fonctionnalités.
Il tourne comme une horloge sous LibO 5.4 Win et LibO 6.2 Linux.
Mais pas LibO 6.1 Win
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16

Re: [Calc]lenteur majeure entre LibO5 et LibO6

Messagepar Carol » 15 Juil 2019 20:59

Bonsoir.

Toujours aucune piste je suppose ?

Merci
LibreOffice Version 6.2.1.1 sous Linux Mint
Version 5.4.7.2 sous Win 10
Avatar de l’utilisateur
Carol
Membre lOOyal
Membre lOOyal
 
Message(s) : 45
Inscrit le : 10 Sep 2007 08:16


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Google [Bot] et 9 invité(s)