IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Rapidité de calculs


Sujet :

OpenOffice & LibreOffice

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    oups, je n'avais pas fait attention à cette info : IsCellBackgroundTransparent = True.

    Je vais de ce pas modifier mon code et voir comment je vais pouvoir me châtier

    Je viens de montrer le projet aux personnes concernées. Elles trouvent tout cela pratique et fonctionnel. Du coup, elles en veulent plus. J'attends leurs retours pour avancer. Tant que leurs idées ne sont pas claires, ça sert à rien de bosser si c'est pour tout changer...
    A priori, on partirait sur le planning réalisé mais aussi sur un plus condensé sur une feuille A3. Du coup, 1 mois va faire aux environs de 3 cm. Pour visualiser l'utilisation des parcelles, je pensais créer des rectangles dont la longueur serait proportionnelle à la durée d'utilisation. Ensuite, je positionnerai les rectangles sur la feuille en fonction de la date d'entrée et de la parcelle utilisée. J'imagine que cela plus simple que d'avoir des cellules toutes petites...
    C'est une autre piste et j'ai envie d'en apprendre plus sur la programmation avec LO. Est-ce une bonne idée ?

    Encore merci

    Xav

  2. #22
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    Hello,
    Quelques idées pour la lisibilité du planning :
    1 - Masquer les colonnes de certains mois pour n'afficher que ce qui est nécessaire ( par exemple on ne veut voir le planning que de mars à juin).
    2 - Faire les colonnes pour un semestre et répéter la mise en page avec les parcelles pour le semestre suivant en dessous.
    Plus difficile à gérer mais le planning est plus étalé en hauteur et moins en longueur.

    En ce qui concerne le calcul de la colonne en fonction de la date , j'utilisais le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Colonne = offsetdepart +  DateDiff("d","1/1/2015",DateSaisie)*2
    Il y a le problème des années bissextiles à traiter . Pour Savoir si une année est bissextile on peut utiliser le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Function isBissextile(theYear as string) as Boolean
    If  DateDiff("d","1/1/" & theYear,"31/12/" & theYear) > 364 then  
    isBissextile = True 
    Else  
    isBissextile = False
    End If
    End Function
     
    Sub Test_isbissextile
    if isBissextile("2015") Then 
    MsgBox "2015 bissextile" 
    Else  
    MsgBox "2015 pas bissextile"
    End If
    if isBissextile("2016") Then 
    MsgBox "2016 bissextile" 
    Else  
    MsgBox "2016 pas bissextile"
    End If
    End Sub
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Pas bête ton système pour déterminer si une année est bissextile. J'avais pensé à la version bourrin de regarder le reste de la division par 400 pour les siècles ou 4 pour les autres.
    Pour ma part, je n'ai traité que le reste de la division par 4 car 2000 ne pose pas de problème si on veut remonter le temps. Après, d'ici 2100, j'imagine qu'il y aura d'autres solutions!!!

    Pour la lisibilité du planning, la présentation horizontale en continue est quasiment la seule contrainte. En effet, le planning doit être imprimable puis par un copier-coller ancestral, il forme une seule année. De plus, il y aura 18 parcelles ou plus. Pour rendre les choses plus lisibles, je pensais augmenter un peu la hauteur de ligne. On arrive vite en bas de la page.
    Impossible de masquer des mois car on va ajouter les opérations mécaniques réalisées sur les parcelles. Elles peuvent avoir lieu dès le mois de janvier et les parcelles peuvent être utilisées jusqu'au mois de décembre pour le pâturage (je suis dans le Finistère sud, il ne fait pas froid...)

    J'avance sur une version condensée du planning grâce à des rectangles. Je vous mets l'avancer de mes travaux dans la journée.
    Une question en passant : comment on efface l'ensemble des objets dessin d'une feuille ?

    Bonne journée

    Xav

  4. #24
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    Pour supprimer les dessins d'une feuille tu peux utiliser le code suivant par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Clean
       oSheet = ThisComponent.Sheets(0)
       oDP = oSheet.DrawPage
       for i = oDP.Count - 1 to 0 step -1
          oObj = oDP.getByIndex(i)
          'add logic here to omit the logo from being removed
          If Not oObj.supportsService("com.sun.star.drawing.ControlShape") Then
             oDP.remove(oObj)
          End If
       next i
    End Sub
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    Rebonjour,

    Voici le point du jour :
    - j'ai modifié le nom des feuilles pour que ça soit plus simple à gérer pour moi. J'active une feuille avec son nom plutôt que son indice.
    - j'ai ajouté une feuille PlanningA3 sur laquelle je place l'utilisation de parcelles sous forme de rectangle. J'ai essayé de tenir compte de la largeur des colonnes et la hauteur des lignes afin que cela s'adapte. J'ai beaucoup de variables d'initialisation qui sont encore numériques. Je les remplacerai plus tard par des valeurs liées à la position des colonnes et des lignes. Pour la largeur du rectangle, je me base sur la largeur de la colonne du mois de janvier puis c'est de la proportionnalité ramenée à 30 jours par mois...
    - j'ai modifié ma recherche des codes correspondant à une raison en m'inspirant de ce qu'a fait Jurassic Pork : je passe en paramètres le numéro de la colonne qui sert de base pour la recherche. Une seule fonction pour 2 conversions. Gain de place. Merci Jurassic Pork.
    - je n'ai pas encore bien digéré les fonctions proposées toujours par Jurassic Pork. Je continue avec mes formules mais promis, je m'en occupe prochainement. Pour le moment, je comprends à peu près ce que j'écris, c'est donc plus facile pour moi pour faire les modifications. Mais je me rends bien compte que ce n'est pas très académique. J'optimiserai tout ça un peu plus tard... Encore merci.
    - je n'arrive toujours pas à assigner une de mes macros à un évènement. Mes macros ne sont pas présentes dans la bibliothèque... Je pensais bien faire, j'ai ajouté librairy1 pour voir mais c'est pareil. En plus, je n'arrive pas à la supprimer... La loose
    - je n'ai pas encore trouvé le moyen de supprimer les objets dessins d'une feuille. Je poursuis mes recherches. Edit : nos messages se sont croisés. Merci, je regarde tout ça.

    Tout cela avance. Je suis toujours preneur de conseils. Je lis très attentivement ce que vous proposez. Je mets tout ça dans un coin pour pouvoir les insérer après appropriation (et surtout compréhension). Je préfère bien comprendre que de copier-coller bêtement et à chaque fois mettre un message car je ne comprends pas ce que je fais.

    A vos claviers pour vos remarques.

    Xav
    Fichiers attachés Fichiers attachés

  6. #26
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    Merci pour le code de suppression des dessins.

    Juste une (ou plusieurs) question, dis moi si je me trompe :
    - oDP.Count permet de connaître le nombre d'objets sur la feuille. Le fait de le mettre en premier, de faire une boucle décroissante et de recalculer le nombre d'objets à chaque passage, ce n'est pas plus long que mettre le nombre d'objets en variable et de faire la boucle croissante...
    - Not oObj.supportsService("com.sun.star.drawing.ControlShape") : il existe d'autres types d'objets ? Pourquoi le Not devant. La valeur est False si c'est un ControlShape ?

    Avez-vous un site de référence qui liste les fonctions possibles en basic ? Du genre, comment connaître tout ce que l'on peut faire sur une cellule...

    Merci de tes éclairages.

    Xav

Discussions similaires

  1. l'unité de traitement (la rapidité de calcul)
    Par dominiqu dans le forum Assembleur
    Réponses: 11
    Dernier message: 20/02/2011, 13h08
  2. [calculs matriciels] rapidité d'inversion
    Par soso85 dans le forum C++
    Réponses: 2
    Dernier message: 26/07/2007, 15h26
  3. Réponses: 4
    Dernier message: 24/06/2007, 23h10
  4. emulateur J2ME et rapidité de calcul
    Par Phobos dans le forum Java ME
    Réponses: 2
    Dernier message: 30/08/2006, 10h26
  5. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 04h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo