[Résolu][Calc]Erreur de syntaxe : programme trop volumineux

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 !

[Résolu][Calc]Erreur de syntaxe : programme trop volumineux

Messagepar troumad » 29 Oct 2019 14:14

Bonjour

Je viens d'avoir ce message lors d'une programmation d'une macro en basic :
Erreur de syntaxe BASIC
Le programme est trop volumineux


J'ai résolu le problème est découpant la grosse fonction où ça plantait en petite fonction.
Qui a déjà eu ce problème ?
Dernière édition par micmac le 01 Nov 2019 09:26, édité 3 fois.
Raison: [Résolu] remplace [résolu] + ajout de la coche verte
LibreOffice sous Mageia Linux Cauldron des dépôts de Mageia Cauldron (derrière version, voire version de test)
LibreOffice sous Mageia Linux Stable pour tests
Au travail : LibreOffice sous Windows (version qui peut varier d'un ordinateur à l'autre)
Avatar de l’utilisateur
troumad
Membre lOOyal
Membre lOOyal
 
Message(s) : 41
Inscrit le : 15 Août 2019 13:52
Localisation : Genas (F-69)

Re: [calc]Erreur de syntaxe BASIC Le programme est trop volu

Messagepar Oukcha » 29 Oct 2019 15:06

Bonjour,

Merci de (re?)lire le bandeau rouge en haut de page, et d'appliquer les règles de cette section avant de poster, notamment :
Je balise correctement ma question... a écrit:Le balisage (à taper au clavier) doit bien sûr être correctement orthographié (première lettre en majuscule puis le reste en minuscules).


Le balisage de votre précédente question est également à corriger :
[calc] Gérer les zones de texte

Cela vous évitera le verrouillage de votre sujet.

Cordialement
                                        
:arrow: A lire avant tout ! Image
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
 
Message(s) : 3103
Inscrit le : 06 Oct 2008 09:03

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar Dude » 29 Oct 2019 17:06

Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21131
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar troumad » 29 Oct 2019 18:27

Le problème au départ est le même, mais la solution pour régler le problème (sauf si je ne comprends pas le vocabulaire utilisé) n'est pas la même. Et depuis 2010, j'aurais espéré une augmentation conséquente de la mémoire fournie.
En fait, j'ai du alourdir le code et rajouter du temps d'exécution avec ma méthode indiquée dans le premier post.
LibreOffice sous Mageia Linux Cauldron des dépôts de Mageia Cauldron (derrière version, voire version de test)
LibreOffice sous Mageia Linux Stable pour tests
Au travail : LibreOffice sous Windows (version qui peut varier d'un ordinateur à l'autre)
Avatar de l’utilisateur
troumad
Membre lOOyal
Membre lOOyal
 
Message(s) : 41
Inscrit le : 15 Août 2019 13:52
Localisation : Genas (F-69)

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar Dude » 29 Oct 2019 19:48

troumad a écrit:Et depuis 2010, j'aurais espéré une augmentation conséquente de la mémoire fournie.

Ma foi, si personne n'en fait la demande auprès des développeurs, l'espoir fait vivre.
Bref, ouvre un rapport et reviens en donner ici le numéro (cf. ma signature).

Mais bon, si tu te retrouves avec des modules de plus de 64 ko, il y a un problème de conception.
AOO 4.1.7 sous Windows 7 Pro x64

Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21131
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar troumad » 29 Oct 2019 20:31

C'est quoi ce qu'on appelle un module ?
LibreOffice sous Mageia Linux Cauldron des dépôts de Mageia Cauldron (derrière version, voire version de test)
LibreOffice sous Mageia Linux Stable pour tests
Au travail : LibreOffice sous Windows (version qui peut varier d'un ordinateur à l'autre)
Avatar de l’utilisateur
troumad
Membre lOOyal
Membre lOOyal
 
Message(s) : 41
Inscrit le : 15 Août 2019 13:52
Localisation : Genas (F-69)

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar Dude » 30 Oct 2019 08:32

troumad a écrit:C'est quoi ce qu'on appelle un module ?

Image
capture.png
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21131
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar troumad » 30 Oct 2019 08:50

Bonjour

C'est bien là mon problème. Comme j'ai alourdi le code du module, si ça ne passait pas avant ça ne devrait pas passer maintenant. Et l'effet a été inverse.
J'ai comme eu l'impression que le problème venait du nombre de lignes de la fonction. Je l'ai coupée en morceau (et donc alourdi le code) et après, j'ai pu continuer de rajouter des lignes de codes. Et ça marche encore.

Je suis face à une incohérence.
LibreOffice sous Mageia Linux Cauldron des dépôts de Mageia Cauldron (derrière version, voire version de test)
LibreOffice sous Mageia Linux Stable pour tests
Au travail : LibreOffice sous Windows (version qui peut varier d'un ordinateur à l'autre)
Avatar de l’utilisateur
troumad
Membre lOOyal
Membre lOOyal
 
Message(s) : 41
Inscrit le : 15 Août 2019 13:52
Localisation : Genas (F-69)

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar Dude » 30 Oct 2019 09:18

troumad a écrit:Je l'ai coupée en morceau

Ta phrase ne veut rien dire.
Si tu as un module de 80 ko que tu scindes en deux modules de 40 ko, tu contournes logiquement l'erreur.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21131
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar troumad » 31 Oct 2019 18:06

J'ai coupé une fonction en trois fonctions, toujours dans le même module (module1). Depuis, j'ai rajouté des lignes et ça marche toujours.
Dès que j'ai le temps, je fais des tests et je passe deux fichiers avec les mêmes lignes de codes dans le même module, mais répartis différemment entre les fonctions.
LibreOffice sous Mageia Linux Cauldron des dépôts de Mageia Cauldron (derrière version, voire version de test)
LibreOffice sous Mageia Linux Stable pour tests
Au travail : LibreOffice sous Windows (version qui peut varier d'un ordinateur à l'autre)
Avatar de l’utilisateur
troumad
Membre lOOyal
Membre lOOyal
 
Message(s) : 41
Inscrit le : 15 Août 2019 13:52
Localisation : Genas (F-69)

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar Dude » 31 Oct 2019 18:28

C'est ça,le mieux est de revenir avec un exemple concret.
Parce que jusque là, on parle dans le vide sans même connaître la taille de ton module.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21131
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar troumad » 31 Oct 2019 21:48

Il y a une méthode pour connaître la taille du module ?
LibreOffice sous Mageia Linux Cauldron des dépôts de Mageia Cauldron (derrière version, voire version de test)
LibreOffice sous Mageia Linux Stable pour tests
Au travail : LibreOffice sous Windows (version qui peut varier d'un ordinateur à l'autre)
Avatar de l’utilisateur
troumad
Membre lOOyal
Membre lOOyal
 
Message(s) : 41
Inscrit le : 15 Août 2019 13:52
Localisation : Genas (F-69)

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar troumad » 31 Oct 2019 22:13

L'exemple a été plus simple à faire que ce que je le croyais.
Si tu veux un environnement pour tester le programme, je peux te passer les autres fichiers. Mais, il suffit juste de vouloir compiler.

La seule différence entre les deux fichiers, c'est que j'ai passé du code de la fonction fairefichier1 à fairefichier2. Il n'y aurait pas ce problème, le code serait bien plus simple et je n'aurais pas besoin de parcourir deux fois le fichier d'origine pour le modifier ligne après ligne.

Ceci dit, en privé, j'ai comme l'impression que quelqu'un qui touche au code est surpris par cette limitation de 64ko qu'il trouve anachronique. je vais voir c qu'il peut faire avec...
Pièces jointes
Rolisteam.ods
marche
(14.17 Kio) Téléchargé 5 fois
Rolisteam1.ods
Marche pas
(14.14 Kio) Téléchargé 7 fois
LibreOffice sous Mageia Linux Cauldron des dépôts de Mageia Cauldron (derrière version, voire version de test)
LibreOffice sous Mageia Linux Stable pour tests
Au travail : LibreOffice sous Windows (version qui peut varier d'un ordinateur à l'autre)
Avatar de l’utilisateur
troumad
Membre lOOyal
Membre lOOyal
 
Message(s) : 41
Inscrit le : 15 Août 2019 13:52
Localisation : Genas (F-69)

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar OOotremer971 » 31 Oct 2019 22:52

Bonjour,

Au premier coup d’œil, le problème vient d'un trop grand nombre de IF imbriqués dans la même Sub. Et comme j'ignore les limitations sur le sujet, je ne te serais donc pas d'une grande utilité sur ce point :?

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) : 2145
Inscrit le : 16 Avr 2010 14:31

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar Jurassic Pork » 01 Nov 2019 01:21

hello,
Comme le dit OOotremer971 ce n'est pas la taille du module qui pose problème mais le nombre de elseif imbriqués. D'après ce que j'ai pu constaté, avec le curseur qui pointe la ligne en erreur, c'est au bout de 100 elseif qu'il y a l'erreur.
Dans le programme qui fonctionne il n'y a pas plus de 100 elseif imbriqués.

c'est le fil de discussion viewtopic.php?f=8&t=22439&hilit=volumineux#p121535
qui a aiguillé la cause du problème sur la taille du module mais en fait c'est aussi plus de 100 elseif imbriqués qui produisait l'erreur de syntaxe. J'ai d'ailleurs fait l'essai sous LibreOffice 6.1 d'un module de plus de 180ko et plus de 3500 lignes et pas d'erreur de syntaxe.

Ami calmant, J.P
LibreOffice 6.1.x sous windows 10 et LibreOffice 6.0.x sous linux - OpenOffice 4.1.5 sous windows 10
Avatar de l’utilisateur
Jurassic Pork
Membre cOOnfirmé
Membre cOOnfirmé
 
Message(s) : 227
Inscrit le : 09 Août 2017 23:15

Re: [Calc]Erreur de syntaxe : programme trop volumineux

Messagepar troumad » 01 Nov 2019 09:02

:bravo: Merci pour vos réponses. :super:

Je vais donc essayer en imbriquant des "if else" et je reviens dire ce qu'il en est.

Donc en faisant des sous catégories, j'y suis arrivé ! Comme ça, ça ira plus vite bien que ça semblait déjà instantané ;)
Pièces jointes
Rolisteam1.ods
Programme corrigé !
(14.24 Kio) Téléchargé 5 fois
LibreOffice sous Mageia Linux Cauldron des dépôts de Mageia Cauldron (derrière version, voire version de test)
LibreOffice sous Mageia Linux Stable pour tests
Au travail : LibreOffice sous Windows (version qui peut varier d'un ordinateur à l'autre)
Avatar de l’utilisateur
troumad
Membre lOOyal
Membre lOOyal
 
Message(s) : 41
Inscrit le : 15 Août 2019 13:52
Localisation : Genas (F-69)


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Loopingss, MSN [Bot] et 3 invité(s)