J’ai fait ce qui est ci-dessous. Au premier passage j’obtiens les bons résultats, ils sont imprimés correctement et la boucle principale reprend. Le deuxième passage dans FNBons et FNGood ne pose pas de problème. A l’exécution de PROCdoQunu, j’obtiens l’erreur : "Arrays cannot be redimensioned". En mettant des "PRINT n" je constate que ce sont les lignes A et B qui me donnent cette erreur. Ces arrays doivent être considérés comme GLOBAL (non-redimentionables) ? Je modifie ces deux lignes suivant ce qui est indiqué page 93 et 94 du BBCBASIC.pdf: LOCAL Qn%() DIM Qn%(DIM(Qu%(),1),DIM(Qu%(),2)) A Qn%() = Qu%() LOCAL C%() DIM C%(6,3) B C%(4,0) = 0 : C%(4,1) = 1 Au premier tour de boucle j’obtiens l’erreur : "Items can only be made local in a function or procedure " C’est dans une procédure! alors quel est ce problème ? merci d’avance pour vos lumières ! Miguel REM Début programme REM DIM Qnu%(6,6) DIM Ndx%(6,3) DIM H%(14) Target% = 999 ecart% = 0 Bcl% = 0 DATA 1860,1870,1880,1890,1900,1910,1920 DATA 1930,1940,1950,1960,1970,1980,1990 READ H%(0),H%(1),H%(2),H%(3),H%(4),H%(5),H%(6),H%(7) READ H%(8),H%(9),H%(10),H%(11),H%(12),H%(13) PRINT "***** boucle principale*****"‘ REPEAT Bcl% = FNBons(H%(), Qnu%()) IF Bcl% <> 0 THEN Bcl% = FNGood IF Bcl% <> 0 THEN Target% = Bcl% : TIME = 0 PROCdoQunu( Qnu%(), Ndx%(), Target%, ecart% ) PROCdoPrint( Qnu%(), Ndx%(), Target%, ecart% ) PRINT "---------- ";TIME/100;" secondes ----------"' ENDIF ENDIF UNTIL Bcl% = 0 PRINT PRINT "***** A bientôt, Cocoa pod *****"' END : REM fin boucle principale REM calcul dates -------------------------------------------------- DEF PROCdoQunu ( Qu%(), Nd%(), cible%, RETURN delta% ) DIM Qn%(6,6) : Qn%() = Qu%() A DIM C%(6,3) : C%(4,0) = 0 : C%(4,1) = 1 B LOCAL nbln% : nbln% = 6 LOCAL diff% : diff% = 1000 LOCAL Z1% LOCAL Z2% …… ici suite du programme qui ne pose pas de problème. Cocoa Pod http://cocoa.pod.free.fr/ http://www.aconit.org/