Optional dans une procédure

Résolu
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017 - 10 août 2012 à 16:49
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 10 août 2012 à 19:03
Bonjour,

J'ai la procédure suivante:

Sub Recherche(Parm1 as string, Parm2 as Objet, Optional Parm3 as Objet)


A ce niveau, je ne sais pas si Parm3 a été alimenté dans le CALL.

Je souhaiterais faire:

If Parm3 "est vide" Then Set Parm3 = Parm2


Quelle instruction utiliser pour effectuer cette Opération

Par avance Merci.

2 réponses

Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
10 août 2012 à 17:36
Je viens de trouver la réponse à ma question sur Internet.
La réponse est:

Sub Recherche(Parm1 as string, Parm2 as Objet, Optional Parm3 as Objet)

If Not Parm3 Is Nothing Then
Parm3 a été donné dans le Call
Else
Parm3 n'a pas été donné dans le Call
End If
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 août 2012 à 19:03
Salut

Regarde aussi :
    If IsMissing(Parm3) Then
qui ne fonctionnera que si ta variable est de type Variant (ou non typée)

L'avantage de Optional, c'est que tu peux définir la valeur par défaut en cas d'omission :
Private Sub XXX(Optional Parm3 As String = "VBFrance")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous