Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Paramètre optionnel en VBA

4 réponses
Avatar
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

4 réponses

Avatar
Daniel.C
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" a écrit dans le message de
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


Avatar
Patrick
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" a écrit dans le message de
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





Avatar
Christophe Mathon
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" wrote in message
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


Avatar
lSteph
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 wrote:
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