Partage via


IsMissing, fonction

Retourne une valeur booléenne indiquant si un argumentVariant facultatif a été passé à une procédure.

Syntaxe

IsMissing(argname)

L’argument argname obligatoire contient le nom d’un argument facultatif de type Variant dans une procédure.

Remarques

Utilisez la fonction IsMissing pour déterminer si des arguments facultatifs de type Variant ont été fournis lors de l’appel d’une procédure. La fonction IsMissing retourne la valeur True si aucune valeur correspondant à l’argument spécifié n’a été passée ; sinon, elle retourne la valeur False.

Si la fonction IsMissing retourne la valeur True pour un argument, l’utilisation de l’argument manquant ailleurs dans le code peut provoquer une erreur définie par l’utilisateur.

Si la fonction IsMissing est utilisée sur un argument ParamArray, elle retourne toujours la valeur False. Pour détecter un argument ParamArray vide, effectuez un test afin de déterminer si la limite maximale du tableau est inférieure à sa limite minimale.

La fonction IsMissing ne fonctionne pas sur les types de données simples (tels que les types Integer ou Double), car, contrairement au type Variant, ces types ne fournissent pas d’indicateur de bit « manquant ». C’est pourquoi la syntaxe des arguments facultatifs caractérisés par un type vous permet d’indiquer une valeur par défaut. Si l’argument est omis lorsque la procédure est appelée, l’argument aura cette valeur par défaut, comme dans l’exemple suivant.

    Sub MySub(Optional MyVar As String = "specialvalue")
        If MyVar = "specialvalue" Then
            ' MyVar was omitted.
        Else
        ...
    End Sub

Dans de nombreux cas, vous pouvez omettre entièrement 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. Cette méthode est plus rapide et plus efficace.

Exemple

Cet exemple utilise la fonction IsMissing pour vérifier si un argument facultatif a été passé à une procédure définie par l’utilisateur. Notez que les arguments de type Optional peuvent désormais avoir des valeurs par défaut et être de types 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

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.