A propos de mon message précédent, il  y aurait peut-être cette solution :
définir comme Global une variable supplémentaire, d'un type qui a une valeur par défaut.
Par exemple, cette variable serait booléenne (valeur par défaut False)
et aurait pour nom MacroDejaExecutee.
Dans mon message précédent, j'ai pris pour exemple une boîte de dialogue comportant
deux boutons d'option (boutons radio), mais cet exemple n'est sans doute pas très bon, car il
pourrait se traiter en tenant compte de la valeur par défaut des variables booléennes.
Supposons donc qu'il y ait trois boutons radio et qu'on désire qu'à la première
apparition de la boîte, le second (qui serait nommé "OptionButton2") soit sélectionné.
 
On écrirait dans le code :
 
Dlg = createUnoDialog(monDialogue)
If MacroDejaExecutee Then
  Dlg.getControl("OptionButton2").State =  valeurBouton2
Else
  Dlg.getControl("OptionButton2").State =  True ' Valeur souhaitée du bouton 2 lors de la première apparition
' de la boîte de dialogue.
  MacroDejaExecutee = True
End If
Dlg.Execute
valeurBouton2 = Dlg.getControl("OptionButton2").State
Dlg.Dispose()
 
Je dois tout de même dire que je n'aime pas beaucoup cette solution,
parce que je n'aime pas compter sur les valeurs par défaut.
 
Donc, si quelqu'un voit quelque chose de mieux, merci de bien vouloir me le dire.
 
A.
 
 

Répondre à