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 :

[Macro] Calcul automatique et attente calcul autre fonction


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut [Macro] Calcul automatique et attente calcul autre fonction
    "Quand y'en a plus, y'en a encore" (mes problèmes sous libreoffice)

    J'ai donc mes 2 fonction créé sous macro, enregistré dans un biblioteque.
    Dans la Bib Standard, j'ai créé des assesseurs :

    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
    Sub main
    	BasicLibraries.loadLibrary("Mesure")
    	InitLoad()
    End Sub
     
    Function SelectAlerte( codeStation as variant, zoneAlerte as variant, dateMesure , nomAlerte as string, optional unite) as variant
    	BasicLibraries.loadLibrary("Mesure")
    	SelectAlerte = _SelectAlerte( codeStation, zoneAlerte, dateMesure , nomAlerte, unite)
    End Function
     
     
    Function SelectMesure(nomStation as string, CelluleDate as variant) as variant
    	BasicLibraries.loadLibrary("Mesure")
    	SelectMesure = _SelectMesure(nomStation, CelluleDate)
    End Function
    C'est OK.
    maintenant je ferme et j'ouvre mon document.
    Mes fonctions ne sont plus en "#NOM?", par contre mes cellules adjacentes qui reprennent ces cellules sont en "Err : 522"
    Je suis obligé de la même manière, d'aller dans la formule et de changer un chiffre puis valider, pour copier sur l'ensemble des lignes/colonnes.

    Je présume que le problème vient du fait que fonction vont chercher l'info dans un autre document et vu que le calcul met du temps à venir, mes formules simlpe se mettent en erreur.

    Du coup j'essaye de faire un recalcul (F9), rien ne fonctionne.. ??

    Est il possible de programmer un recalcule des formules sur une zone ?

    merci

  2. #2
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut
    OK, je crois que je cherchais au mauvais endroit.

    Apparemment l'erreur Err : 522 correspond à une référence circulaire.

    Par contre mes formulaire ne sont pas liés à une référence circulaire :
    Nom : Capture.PNG
Affichages : 398
Taille : 14,1 Ko

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Cette commande permet d'actualiser les liens au chargement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim oAcualiser As Object
    oAcualiser = CreateUnoService("com.sun.star.sheet.GlobalSheetSettings")
    oAcualiser.LinkUpdateMode = 0
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  4. #4
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut
    Malheureusement ce script ne fait rien.
    J'ai bien l'impression qu'il fait la même chose que "Recalculer"

    Et justement cette option ne fait rien.

    Pour mieux expliquer mon problème, j'ai carrément fait une vidéo :



    Je rappelle que l'erreur survient à l'ouverture du fichier.

    merci

  5. #5
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Et-il possible d'avoir le fichier ?
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  6. #6
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut
    Info fichier envoyé par message privé.
    merci de ton aide

  7. #7
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Tout ce que j'essaie ne donne rien. Par contre, ce que je peux voir c'est que les traitements en cas d'actualisation sont longs, et voir très long en cas de changement de l'itération
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  8. #8
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut
    Merci beaucoup pour ton temps passé sur mon problème.
    Effectivement, c'est assez lent mais parfais très rapide, d'ailleurs je ne comprend pas cette différence.

    Je peux comprendre que les cellules liées "plante" (Err522) car le traitement est long (ce que j'en déduit de l'erreur), mais qu'il soit impossible de rafraichir la cellule a posteriori, je trouve cela bizarre. obligé d'y aller manuellement...

  9. #9
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut
    J'ai soumis ce problème comme bug a libreoffice :
    https://bugs.freedesktop.org/show_bug.cgi?id=86487

    il s’avère que le bug est connu :
    https://bugs.freedesktop.org/show_bug.cgi?id=85431

  10. #10
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut
    Voici une piste d'amélioration :
    Utiliser ces fonctions au début et en fin de fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function XXXX()
    ThisComponent.addActionLock
    ThisComponent.LockControllers
    ThisComponent.enableAutomaticCalculation(FALSE) 
     
    [traitement]
     
    ThisComponent.removeActionLock
    ThisComponent.UnlockControllers
    ThisComponent.enableAutomaticCalculation(TRUE) 
    End Function
    Cela améliore largement le comportement dfes cellules mais n'est pas parfait ( amélioration de 90%) mais ils reste tout de même des erreurs.
    De plus cela cause apriori une erreur de rafraichissement d'affichage. Pour ce dernier point je n'ai pas encore trouvé de solution.

Discussions similaires

  1. Fonction Calcul automatique de nombre de jours ouvrable entre deux dates
    Par KiMbOoO dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/04/2011, 09h23
  2. [MySQL] calcul automatique de jour en fonction des dates.
    Par Hotei dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 05/10/2010, 11h04
  3. [XL-2003] MAcro pour calcul automatique uniquement sur l'onglet actif
    Par Arndt dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/07/2010, 15h12
  4. Réponses: 13
    Dernier message: 07/02/2009, 11h44
  5. Réponses: 5
    Dernier message: 23/03/2007, 16h27

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