Bonjour,

 

J’allais confirmer ce bug que je reproduis :

https://bugs.freedesktop.org/show_bug.cgi?id=54912

 

Mais j’ai un doute sur la portée de l’instruction « Option base » :

Elle agit sur la limite inférieure de l’index, qui débutera à 0 ou 1 selon
l’option.

Mais il me semble que dans la définition de la dimension d’un variable, le
nombre entre parenthèse est la valeur supérieure de l’index, donc dans
l’exemple :

   Dim sVar(2) As String

La dimension ne devrait-elle pas être de 2 éléments avec Option base 1 et de
3 avec l’option base 0 (option par défaut) ?

Quand on observe le déroulement de la macro pas à pas on voit qu’avec Option
base 1, il existe bien 3 éléments dès le début :

   sVar(1)
   sVar(2)
   sVar(3)
Que l’on peut voir aussi en remplaçant Lbound par Ubound

 

Est-ce un bug supplémentaire (ou collatéral) ou la dimension est-elle
toujours définie sur une base 0 ?

Un test similaire avec Excel 2003 ne donne que 2 éléments à sVar en base 1,
et des exemples du net (http://ericrenaud.fr/droitetableaux.htm) l’entendent
bien ainsi.

Le bug serait donc plus « compliqué »

 

Ça peut sembler mineur, d’autant qu’il est habituel de travailler en base 0
(et tout ceci incite à garder cette habitude), mais comme cette instruction
existe :

 - Soit on la supprime (je doute que ce soit possible pour des raisons de
compatibilité)

 - Soit on la fait marcher correctement.

 

Merci de vos lumières

Michel

 


-- 
Envoyez un mail à [email protected] pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/qa/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés

Répondre à