Optional dans une procédure [Résolu]

Signaler
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
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

Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

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
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
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)