Bonjour a tous
J’ai ecrit la function ci-dessous qui retourne dans un ARRAY a la fois l’addition et la soustraction des deux variables numeriques qu’elle recoit. Cela marche tres bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Function fctPlusMinus(dblA As Double, dblB As Double) As Variant
'Cette fonction retourne l'addiotion et la soustraction de deux valeurs dans un Array.
 
 
    Dim arrTemp() As Double  'Array dynamique
    ReDim arrTemp(1 To 1, 1 To 2) As Double
 
    'Calculer les valeurs a retourner
    arrTemp(1, 1) = dblA + dblB  '<== l'addition
 
    arrTemp(1, 2) = dblA - dblB  '<== la soustraction
 
    'Attribuer les resultats a un Array
    fctPlusMinus = arrTemp
 
End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Sub Call_fctPlusMinus()
'Tester la fonction ci-dessus.
 
    Debug.Print fctPlusMinus(12, 5)(1, 1)  '=> 17  OK
 
    Debug.Print fctPlusMinus(12, 5)(1, 2) '=> 7 OK
 
End Sub
Mais j’ai entendu dire qu’on peut obtenir le meme resultat en passant par les deux moyens suivants:
1=>>Creation de module de classe
2==>Utilisation de ByRef pour les arguments

Je ne vois pas comment cela peut se faire. Pouvez-vous svp m’aider a reproduire la meme function (qui retourne l’addition et la soustraction) en utilisant les 2 methodes mentionnees ci-dessus ?
Cordialement.