Lorsque vous appelez une procédure avec un argument facultatif, vous pouvez préciser ou non l'argument facultatif. Si vous ne le précisez pas, la valeur par défaut, le cas échéant, est employée. Si aucune valeur par défaut n'est spécifiée, l'argument prend la valeur par défaut de la variable du type spécifié.
La procédure suivante inclut un argument facultatif, la variable varCountry. La fonction [B]IsMissing[/B] détermine si un argument facultatif a été passé à la procédure.
Sub OptionalArgs(strState As String, [COLOR=blue]Optional[/COLOR] intRegion As Integer, _ Optional strCountry As String = "USA") If IsMissing(intRegion) And IsMissing(strCountry) Then Debug.Print strState ElseIf IsMissing(strCountry) Then Debug.Print strState, intRegion ElseIf IsMissing(intRegion) Then Debug.Print strState, strCountry Else Debug.Print strState, intRegion, strCountry End IfEnd SubVous pouvez appeler cette procédure en utilisant des arguments nommés comme le montrent les exemples suivants :
OptionalArgs strCountry:="USA", strState:="MD"OptionalArgs strState:= "MD", intRegion:=5