Bonjour,

Voici tout d'abord le code pour illustrer ma question :

Sub TestOptional(optional Valeur2 as integer)
  Dim Valeur3 as integer
  if ismissing(Valeur2) then
    Valeur2 = thisComponent.currentSelection.CellAddress.row
    Valeur3 = thisComponent.currentSelection.CellAddress.row
  End if
  msgbox("Valeur2 = " & Valeur2)
  msgbox("Valeur3 = " & Valeur3)
  Valeur2 = Valeur2+1
  Valeur3 = Valeur3+1
  msgbox("Valeur2 = " & Valeur2)
  msgbox("Valeur3 = " & Valeur3)
End sub

Admettons que je sois sur la ligne 12 lorsque je l'exécute (sans passer de 
paramètre donc "Valeur2 is missing"), j'ai :

les 2 premiers msgbox :
Valeur2 = 12
Valeur3 = 12

les 2 suivants :
Valeur2 = 12
Valeur3 = 13

Alors ai-je loupé quelque chose parce que je ne vois pas ce qu'il y a de 
spécial dans mon code pour que ma Valeur2 ne change pas après son init dans le 
if du ismissing. Il me semble que ça marchait avec la version précédente d'OOo. 
D'ailleurs je plante bcp plus souvent avec la 2.2.0 qu'avec la précédente.

Je suis en OOo 2.2.0, WXPH, JRE 6 upd 1.

Merci d'avance.
Marc.

Répondre à