OVH Cloud OVH Cloud

Comment utiliser le résultat d'une procédure ??

2 réponses
Avatar
volwerik
Alors voila j'éxécute une procédure et je voudrais bien que la procédure suivante utilise le résultat de la procédure antérieure merci bien

2 réponses

Avatar
Nicolas B.
Salut,

Il faut déclarer les variables à l'extérieur des procédures (et avec Public
à la place de Dim si tu travailles dans différents modules).

Exemple :

dim MaVar as integer

sub Main()
Macro1
Macro2
end sub

sub Macro1()
mavar=1
end sub

sub Macro2()
msgbox mavar
end sub


En exécutant la macro Main, la valeur de MaVar est récupérée dans Macro2
alors qu'elle a été affectée d'une valeur en Macro1.


A+
--
Nicolas B.


volwerik nous a écrit
dans le message 40f1571d$0$9673$ :
Alors voila j'éxécute une procédure et je voudrais bien que la
procédure suivante utilise le résultat de la procédure antérieure
merci bien


Avatar
docm
Bonjour volwerik .

Tu peux aussi utiliser la technique suivante:
Sous toutes réserves.

Sub depart()
Call Procedure1(resultat) 'La variable Resultat prendra la valeur de la
variable X, car ByRef transmet l'adresse de la variable Resultat
Call Procedure2(resultat) 'La variable Resultat ne changera pas de valeur,
car ByVal ne transmet pas l'adresse de la variable Resultat, seulement sa
valeur
Call Procedure3(resultat) 'La variable Resultat prendra la valeur de la
variable Z, car ByRef, bien que non spécifié est la commande par défaut

End Sub

Sub Procedure1(ByRef X)
X = 5
End Sub

Sub Procedure2(ByVal Y)
Y = 1
End Sub

Sub Procedure3(Z)
Z = 2
End Sub

"Nicolas B." wrote in message
news:
Salut,

Il faut déclarer les variables à l'extérieur des procédures (et avec
Public

à la place de Dim si tu travailles dans différents modules).

Exemple :

dim MaVar as integer

sub Main()
Macro1
Macro2
end sub

sub Macro1()
mavar=1
end sub

sub Macro2()
msgbox mavar
end sub


En exécutant la macro Main, la valeur de MaVar est récupérée dans Macro2
alors qu'elle a été affectée d'une valeur en Macro1.


A+
--
Nicolas B.


volwerik nous a écrit
dans le message 40f1571d$0$9673$ :
Alors voila j'éxécute une procédure et je voudrais bien que la
procédure suivante utilise le résultat de la procédure antérieure
merci bien