Paramètre optionnel en VBA

Le
Patrick
Bonjour,

J'ai créé une procédure avec un paramètre qui doit être un tableau de
valeur. Je souhaite que ce paramètre soit optionnel au cas où il n'y a pas de
valeur à transmettre à la procédure. J'ai choisi cette façon de faire car
cela évite un appel trop long à la procédure s'il y a beaucoup de valeurs à
transmettre. En fait, cette procédure est capable d'accepter un nombre
variable de paramètres. C'est plus simple de gérer un tableau à plusieurs
dimensions plutôt qu'une procédure à qui on passe plein de paramètres.

Est-ce possible ?

Merci.

--
Patrick
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #16437461
Bonsoir.
Pas sûr d'avoir bien compris; essaie :

Sub Appelant()
Dim Tablo(1, 1)
Tablo(0, 0) = 1
Tablo(1, 0) = 2
Tablo(0, 1) = 3
Tablo(1, 1) = 4
Appelé Tablo
Appelé
End Sub

Sub Appelé(Optional Param)
On Error Resume Next
MsgBox Param(1, 1)
On Error GoTo 0
End Sub

Cordialement.
Daniel
"Patrick" news:
Bonjour,

J'ai créé une procédure avec un paramètre qui doit être un tableau de
valeur. Je souhaite que ce paramètre soit optionnel au cas où il n'y a pas
de
valeur à transmettre à la procédure. J'ai choisi cette façon de faire car
cela évite un appel trop long à la procédure s'il y a beaucoup de valeurs
à
transmettre. En fait, cette procédure est capable d'accepter un nombre
variable de paramètres. C'est plus simple de gérer un tableau à plusieurs
dimensions plutôt qu'une procédure à qui on passe plein de paramètres.

Est-ce possible ?

Merci.

--
Patrick


Patrick
Le #16442251
J'ai fait quelques essais et c'est en effet la solution. Cela veut donc dire
qu'il faut que le paramètre optionnel soit de type Variant.

Merci.

--
Patrick


"Daniel.C" wrote:

Bonsoir.
Pas sûr d'avoir bien compris; essaie :

Sub Appelant()
Dim Tablo(1, 1)
Tablo(0, 0) = 1
Tablo(1, 0) = 2
Tablo(0, 1) = 3
Tablo(1, 1) = 4
Appelé Tablo
Appelé
End Sub

Sub Appelé(Optional Param)
On Error Resume Next
MsgBox Param(1, 1)
On Error GoTo 0
End Sub

Cordialement.
Daniel
"Patrick" news:
> Bonjour,
>
> J'ai créé une procédure avec un paramètre qui doit être un tableau de
> valeur. Je souhaite que ce paramètre soit optionnel au cas où il n'y a pas
> de
> valeur à transmettre à la procédure. J'ai choisi cette façon de faire car
> cela évite un appel trop long à la procédure s'il y a beaucoup de valeurs
> à
> transmettre. En fait, cette procédure est capable d'accepter un nombre
> variable de paramètres. C'est plus simple de gérer un tableau à plusieurs
> dimensions plutôt qu'une procédure à qui on passe plein de paramètres.
>
> Est-ce possible ?
>
> Merci.
>
> --
> Patrick





Christophe Mathon
Le #16447171
Bonjour Patrick,



Utilise l'option optionnal:



Définition de la fonction => Function TaFonction( Value1 As String, Optional
Value2 As String)



Appelle de la fonction (au choix) =>

TaFonction ("Test")

TaFonction ("Test","Test2")

TaFonction (Value1 = "Test", Value2 = test2")


--
Regards
Christophe Mathon
while(!(succeed=try()));


"Patrick" news:
Bonjour,

J'ai créé une procédure avec un paramètre qui doit être un tableau de
valeur. Je souhaite que ce paramètre soit optionnel au cas où il n'y a pas
de
valeur à transmettre à la procédure. J'ai choisi cette façon de faire car
cela évite un appel trop long à la procédure s'il y a beaucoup de valeurs
à
transmettre. En fait, cette procédure est capable d'accepter un nombre
variable de paramètres. C'est plus simple de gérer un tableau à plusieurs
dimensions plutôt qu'une procédure à qui on passe plein de paramètres.

Est-ce possible ?

Merci.

--
Patrick


lSteph
Le #16447301
Bonjour,

Sur le principe je ne m'étendrais pas à le reprendre c'est fort bien
décrit dans l'aide:
dans ton code surligne le mot optional puis appuie sur F1

Sur le souci que cela peut te poser:
Est-ce bien la solution répondant à ton objectif (probablement...!
Juste que si on connait cet objectif il sera plus aisé de te répondre.
on arrive ainsi à la bonne question
AMHA ce qui est primordial!!!

Qu'as tu prévu en l'absence du parametre comme execution??
@+

--
lSteph

On 29 juil, 22:31, Patrick
Bonjour,

J'ai créé une procédure avec un paramètre qui doit être un tabl eau de
valeur. Je souhaite que ce paramètre soit optionnel au cas où il n'y a pas de
valeur à transmettre à la procédure. J'ai choisi cette façon de f aire car
cela évite un appel trop long à la procédure s'il y a beaucoup de v aleurs à
transmettre. En fait, cette procédure est capable d'accepter un nombre
variable de paramètres. C'est plus simple de gérer un tableau à plu sieurs
dimensions plutôt qu'une procédure à qui on passe plein de paramè tres.

Est-ce possible ?

Merci.

--
Patrick


Publicité
Poster une réponse
Anonyme