En effet, vous écrivez par exemple une fonction qui doit vous renvoyer
- un code retour de bonne exécution
- et aussi une ou plusieurs valeurs de différents type (integer, string, notesdocument, etc...)
exemple
function myFunction(param as integer) as variant
dim vRetour(2) as variant
on error goto handle
...
...
...
vos traitements.....
....
...
...
vretour(0)=true
vretour(1)="exemple d'une chaine de caractères"
vretour(2)="hDocObj" ' exemple d'un notesdocument
fin:
myFunction=vretour
exit function
handle:
vretour(0)=false
vretour(1)="Erreur n° " & err & " :: " & error$
vretour(2)=""
resume fin
ici vretour renvoie 3 états mais bien entendu... on peut aller plus loin...
appel de la fonction
...
...
...
vRetour=myfunction(param)
if not vretour(0) then
msgbox "erreur runtime " & vretour(1)
exit sub
end if
'.... sinon exploitation de vretour(1) et vretour(2)
'... pour la suite des traitements....