Comment mieux gérer les paramètres optionnels d'une procédure ?

[Résolu]
Signaler
Messages postés
336
Date d'inscription
dimanche 3 avril 2011
Statut
Membre
Dernière intervention
12 juin 2012
-
Messages postés
336
Date d'inscription
dimanche 3 avril 2011
Statut
Membre
Dernière intervention
12 juin 2012
-
Bonsoir le Forum,

Je cherche à créer une procédure personnelle qui peut être appelée avec des paramètres optionnels. Sauf que je ne parviens pas à l'appeler de manière correcte si mon paramètre optionnelle n'est pas présent.

Comment s'y prends t'ont ?

Voici le code que je veux utiliser :

Sub Macro1()

Call MISEENFORME(Range("B2:E20"))

End Sub

'--------

Sub MISEENFORME(Optional Tableau As Range)

End Sub


Si j'appelle MISEENFORME sans lui donner un range en entrée alors sa plante car Tableau n'est pas définit (Normal il est optionnel justement !!!)


Des conseils ? j'ai essayer "If Isnull(Tableau) Then" mais ça ne marche pas. J'ai également essayer "On error resume next" mais je ne parviens pas à en tirer quoi que ce soit.

Merci pour vos lumières.

André

3 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
pardon (balises ratées) :
Private Sub CommandButton1_Click()
  MISEENFORME Range("B2:E20")
  MISEENFORME
End Sub

Sub MISEENFORME(Optional Tableau As Variant)
  If IsMissing(Tableau) Then
    MsgBox "pas d'argument tableau"
    Exit Sub
  Else
    MsgBox Tableau.Address
    End If
End Sub 


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,

ainsi (exemple):

Private Sub CommandButton1_Click()
MISEENFORME Range("B2:E20")
MISEENFORME
End Sub

Sub MISEENFORME(Optional Tableau As Variant)
If IsMissing(Tableau) Then
MsgBox "pas d'argument tableau"
Exit Sub
Else
MsgBox Tableau.Address
End If
End Sub

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
336
Date d'inscription
dimanche 3 avril 2011
Statut
Membre
Dernière intervention
12 juin 2012
1
Merci pour le tuyau Ucfoutu, ça marche très bien.

C'est cool.

André