Renvoie une valeur booléenne indiquant si un argument facultatif Variant a été transmis à une procédure.
Syntaxe
IsMissing(argname)
L’argument argname required contient le nom d’un argument facultatif de procédure Variant .
Remarques
Utilisez la fonction IsMissing pour détecter si des arguments de variante facultatifs ont été fournis ou non lors de l’appel d’une procédure. IsMissing renvoie True si aucune valeur n’a été passée pour l’argument spécifié ; sinon, la valeur est false. Si IsMissing renvoie True pour un argument, l’utilisation de l’argument manquant dans un autre code peut provoquer une erreur définie par l’utilisateur. Si IsMissing est utilisé sur un argument ParamArray , il renvoie toujours False. Pour détecter un ParamArray vide, testez si la limite supérieure du tableau est inférieure à sa limite inférieure.
Remarque
IsMissing ne fonctionne pas sur les types de données simples (tels que Integer ou Double) car, contrairement aux variantes, ils n’ont pas de disposition pour un bit d’indicateur « manquant ». Pour cette raison, la syntaxe des arguments facultatifs typés vous permet de spécifier une valeur par défaut. Si l’argument est omis lors de l’appel de la procédure, l’argument aura cette valeur par défaut, comme dans l’exemple ci-dessous :
Remarque
Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence développeur dans la liste déroulante en regard de Rechercher , puis entrez un ou plusieurs termes dans la zone de recherche.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
Dans de nombreux cas, vous pouvez omettre complètement le If MyVar test en rendant la valeur par défaut égale à la valeur que vous souhaitez MyVar contenir si l’utilisateur l’omet de l’appel de fonction. Cela rend votre code plus concis et plus efficace.
Exemple
Cet exemple utilise la fonction IsMissing pour case activée si un argument facultatif a été transmis à une procédure définie par l’utilisateur. Notez que les arguments Optional peuvent maintenant avoir des valeurs et des types par défaut autres que Variant.
Dim ReturnValue
' The following statements call the user-defined
' function procedure.
ReturnValue = ReturnTwice() ' Returns Null.
ReturnValue = ReturnTwice(2) ' Returns 4.
' Function procedure definition.
Function ReturnTwice(Optional A)
If IsMissing(A) Then
' If argument is missing, return a Null.
ReturnTwice = Null
Else
' If argument is present, return twice the value.
ReturnTwice = A * 2
End If
End Function