valuer d'un Arguement facultatif dans une procédure fontion

  • Initiateur de la discussion Initiateur de la discussion Bruno
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Bruno

Guest
Bonjour à tous et toutes,

Dans une précédure fonction que je crée, je désigne un argument facultatif qui ne nomme Numero_facture. Si l'argument est absent , la valeur d'erreur retournée est value. Je voudrais dans ce cas laisser un blanc.

J'ai essayé d'attribuer la valeur par défaut dans la fonction comme ceci :
Function ANNEEFACT(Optional Numero_facture As String = "")
mais sans succés.

Avez vous une idée pour palier à ce problème ?

Merci de votre aide et bonne journée...


Voici le code pour plus de clarté :

Function ANNEEFACT(Optional Numero_facture As String)
Num = Application.WorksheetFunction.Trim(Numero_facture)
Num = Format(Numero_facture, "00000000")
Num = Left(Num, 2)
Num = DateSerial(Num, 1, 1)
ANNEEFACT = Year(Num)
End Function
 
salut,

extrait de l'aide vba :

Les arguments facultatifs sont précédés du mot clé Optional dans la définition de la procédure. Vous pouvez également préciser une valeur par défaut pour l'argument facultatif dans la définition de la procédure. Par exemple :

Sub OptionalArgs(strState As String, Optional strCountry As String = "USA")
. . .
End Sub
 
Re: valeur d'un Argument facultatif dans une procédure fontion

Merci Arnaud de ton aide

Mais j'ai essayé cette solution avant de faire appel au experts(comme l'indiqué mon premier message) mais cela ne marche pas.

Si tu as d'autres infos.
 
Salut Bruno, le forum

essaye cela

Function ANNEEFACT(Optional Numero_facture As String)
If Numero_facture = "" Then ANNEEFACT = "": Exit Function
Num = Application.WorksheetFunction.Trim(Numero_facture)
Num = Format(Numero_facture, "00000000")
Num = Left(Num, 2)
Num = DateSerial(Num, 1, 1)
ANNEEFACT = Year(Num)
End Function

cela devrait fonctionner

A+
 
Bonjour Yeahou
Ca marche très bien.
Mille merci Yeahou !

Mais je voudrais bien savoir pourquoi en précisant la valeur pas défaut dans la définition de variable

comme ceci : Function ANNEEFACT(Optional Numero_facture As String = "")

cela ne fonctionne pas .

On va pas chipoter

merci à tous

bye

bruno
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour