Page 1 sur 1

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

Publié : 29 oct. 2019 13:14
par troumad
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 ?

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

Publié : 29 oct. 2019 14:06
par Oukcha
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

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

Publié : 29 oct. 2019 16:06
par Dude

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

Publié : 29 oct. 2019 17:27
par troumad
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.

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

Publié : 29 oct. 2019 18:48
par Dude
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.

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

Publié : 29 oct. 2019 19:31
par troumad
C'est quoi ce qu'on appelle un module ?

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

Publié : 30 oct. 2019 07:32
par Dude
troumad a écrit :C'est quoi ce qu'on appelle un module ?
Image
capture.png

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

Publié : 30 oct. 2019 07:50
par troumad
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.

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

Publié : 30 oct. 2019 08:18
par Dude
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.

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

Publié : 31 oct. 2019 17:06
par troumad
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.

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

Publié : 31 oct. 2019 17:28
par Dude
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.

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

Publié : 31 oct. 2019 20:48
par troumad
Il y a une méthode pour connaître la taille du module ?

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

Publié : 31 oct. 2019 21:13
par troumad
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...

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

Publié : 31 oct. 2019 21:52
par OOotremer971
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+

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

Publié : 01 nov. 2019 00:21
par Jurassic Pork
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 https://forum.openoffice.org/fr/forum/v ... ux#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

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

Publié : 01 nov. 2019 08:02
par troumad
: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é ;)