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

Comment récupérer le résultat d'une macro ?

8 réponses
Avatar
bartez
Boujour à tous,

Je cherche une solution pour récupérer le résultat d'une macro à la façon
d'une fonction.

j'ai par exemple la macro suivante :

Private Sub Calcul(Nb1 As Integer, Nb2 As Integer)
MsgBox Nb1 * Nb2
End Sub

Je l'appel en faisant :
Calcul(2,5)
et j'obtients un Message qui me renvoi :
10

Je voudrais l'appeler avec qqchose comme :
MonRésulat = Calcul(2,5)

Pouvez vous me dire ce que je dois mettre dans ma macro pour qu'elle accepte
de renvoyer le résultat ?

Merci de votre aide
Philippe

8 réponses

Avatar
Daniel
Bonjour.
Quelque chose comme : MsgBox "MonRésultatÊlcul(" & Nb1 & "," & Nb2 & ")"
Si j'ai bien compris...
Cordialement.
Daniel
"bartez" a écrit dans le message de news:
%
Boujour à tous,

Je cherche une solution pour récupérer le résultat d'une macro à la façon
d'une fonction.

j'ai par exemple la macro suivante :

Private Sub Calcul(Nb1 As Integer, Nb2 As Integer)
MsgBox Nb1 * Nb2
End Sub

Je l'appel en faisant :
Calcul(2,5)
et j'obtients un Message qui me renvoi :
10

Je voudrais l'appeler avec qqchose comme :
MonRésulat = Calcul(2,5)

Pouvez vous me dire ce que je dois mettre dans ma macro pour qu'elle
accepte de renvoyer le résultat ?

Merci de votre aide
Philippe



Avatar
Daniel
Bonjour.
Quelque chose comme : MsgBox "MonRésultatÊlcul(" & Nb1 & "," & Nb2 & ")"
Si j'ai bien compris...
Cordialement.
Daniel
"bartez" a écrit dans le message de news:
%
Boujour à tous,

Je cherche une solution pour récupérer le résultat d'une macro à la façon
d'une fonction.

j'ai par exemple la macro suivante :

Private Sub Calcul(Nb1 As Integer, Nb2 As Integer)
MsgBox Nb1 * Nb2
End Sub

Je l'appel en faisant :
Calcul(2,5)
et j'obtients un Message qui me renvoi :
10

Je voudrais l'appeler avec qqchose comme :
MonRésulat = Calcul(2,5)

Pouvez vous me dire ce que je dois mettre dans ma macro pour qu'elle
accepte de renvoyer le résultat ?

Merci de votre aide
Philippe



Avatar
Daniel
J'avais rien compris. Ne tiens pas compte du message précédent.
Daniel
"bartez" a écrit dans le message de news:
%
Boujour à tous,

Je cherche une solution pour récupérer le résultat d'une macro à la façon
d'une fonction.

j'ai par exemple la macro suivante :

Private Sub Calcul(Nb1 As Integer, Nb2 As Integer)
MsgBox Nb1 * Nb2
End Sub

Je l'appel en faisant :
Calcul(2,5)
et j'obtients un Message qui me renvoi :
10

Je voudrais l'appeler avec qqchose comme :
MonRésulat = Calcul(2,5)

Pouvez vous me dire ce que je dois mettre dans ma macro pour qu'elle
accepte de renvoyer le résultat ?

Merci de votre aide
Philippe



Avatar
bartez
Merci daniel, mais je pense avoir trouvé

il m'a suffis de déclarer la macro en tant que fonction et non en tant que
sub et je peux récupérer le résultat.

Bonne journée,

@+
Philippe

"Daniel" a écrit dans le message de news:
O%
J'avais rien compris. Ne tiens pas compte du message précédent.
Daniel
"bartez" a écrit dans le message de news:
%
Boujour à tous,

Je cherche une solution pour récupérer le résultat d'une macro à la façon
d'une fonction.

j'ai par exemple la macro suivante :

Private Sub Calcul(Nb1 As Integer, Nb2 As Integer)
MsgBox Nb1 * Nb2
End Sub

Je l'appel en faisant :
Calcul(2,5)
et j'obtients un Message qui me renvoi :
10

Je voudrais l'appeler avec qqchose comme :
MonRésulat = Calcul(2,5)

Pouvez vous me dire ce que je dois mettre dans ma macro pour qu'elle
accepte de renvoyer le résultat ?

Merci de votre aide
Philippe







Avatar
François Rivierre
Merci daniel, mais je pense avoir trouvé

il m'a suffis de déclarer la macro en tant que fonction et non en
tant que sub et je peux récupérer le résultat.


Oui, c'est ça. Il faut aussi que tu affectes le résultat de ta fonction à
une variable qui porte le nom de ta fonction, donc dans ton cas:

Function Calcul Calcul(Nb1 As Integer, Nb2 As Integer)
Calcul = Nb1*Nb2
End Function

L'appel se fait comme ça:

MonResultat = Calcul(MonNombre1, MonNombre2)

Cordialement,

François Rivierre

Avatar
François Rivierre
Function Calcul Calcul(Nb1 As Integer, Nb2 As Integer)
Calcul = Nb1*Nb2
End Function


Faute de frappe :). Il faut bien entendu lire:

Function Calcul (Nb1 As Integer, Nb2 As Integer)

et non pas Calcul Calcul :). Je vais aller manger, moi, ça ira mieux ;).

Cordialement,

François Rivierre

Avatar
bartez
Merci François !
c'est cool, ça marche ;)
@+ Philippe

"François Rivierre" a écrit dans le message de news:
%
Function Calcul Calcul(Nb1 As Integer, Nb2 As Integer)
Calcul = Nb1*Nb2
End Function


Faute de frappe :). Il faut bien entendu lire:

Function Calcul (Nb1 As Integer, Nb2 As Integer)

et non pas Calcul Calcul :). Je vais aller manger, moi, ça ira mieux ;).

Cordialement,

François Rivierre





Avatar
ClémentMarcotte
Bonjour,

tu peux aussi te faire un machin du genre:

sub cesttibeauça()
a = 5
b = 2
çadonnequoi a, b , c
msgbox c
end sub
sub çadonnequoi(nombre1,nombre2,resultat)
resultat = nombre1 * nombre2
end sub

"bartez" a écrit dans le message de
news:uO2$
Merci François !
c'est cool, ça marche ;)
@+ Philippe

"François Rivierre" a écrit dans le message de news:
%
Function Calcul Calcul(Nb1 As Integer, Nb2 As Integer)
Calcul = Nb1*Nb2
End Function


Faute de frappe :). Il faut bien entendu lire:

Function Calcul (Nb1 As Integer, Nb2 As Integer)

et non pas Calcul Calcul :). Je vais aller manger, moi, ça ira mieux ;).

Cordialement,

François Rivierre