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

Procédures et ParamArray

1 réponse
Avatar
Patrick
Bonjour,

En concidérant 2 procédures, chacune accepte une série de valuers avec un
paramètre de type ParamArray.

La 2e procédure appelle la 1e en mettant une valeur puis le tableau transmis
quand on l'a appelée, dans le genre :

Sub Proc1(ParamArray Conditions())
...
End Sub
Sub Proc2(ParamArray Conditions())
Call Proc1(AutreCondition, Conditions)
End Sub

Est-ce correct ?

Merci pour votre aide.

--
Patrick

1 réponse

Avatar
Mousnynao
Bonjour,

Le tout me semble bien assimilé :-)

Option Explicit
'
Dim Conditions() As Variant
Dim AutreCondition As String
Dim UneCondition As String
'

Sub Main()

Dim Boucle As Long

Boucle = 5
AutreCondition = "Premier"
UneCondition = "Dernier"

ReDim Conditions(Boucle)
Conditions(0) = "Bleu"
Conditions(1) = "Blanc"
Conditions(2) = "Noir"
Conditions(3) = "Rouge"
Conditions(4) = "Vert"
Conditions(5) = "Orange"
Proc1 UneCondition, Conditions

End Sub
'

Sub Proc1(ParamArray Conditions() As Variant)
Proc2 AutreCondition, Conditions
End Sub
'

Sub Proc2(ParamArray Conditions() As Variant)

Dim strMes As String
strMes = ""
strMes = Conditions(0) & vbLf
strMes = strMes & Conditions(1)(0) & vbLf
strMes = strMes & Conditions(1)(1)(0) & vbLf
strMes = strMes & Conditions(1)(1)(1) & vbLf
strMes = strMes & Conditions(1)(1)(2) & vbLf
strMes = strMes & Conditions(1)(1)(3) & vbLf
strMes = strMes & Conditions(1)(1)(4) & vbLf
strMes = strMes & Conditions(1)(1)(5) & vbLf

MsgBox strMes

End Sub
'

mousnynao

"Patrick" a écrit :

Bonjour,

En concidérant 2 procédures, chacune accepte une série de valuers avec un
paramètre de type ParamArray.

La 2e procédure appelle la 1e en mettant une valeur puis le tableau transmis
quand on l'a appelée, dans le genre :

Sub Proc1(ParamArray Conditions())
...
End Sub
Sub Proc2(ParamArray Conditions())
Call Proc1(AutreCondition, Conditions)
End Sub

Est-ce correct ?

Merci pour votre aide.

--
Patrick