Bonjour à tous,

je suis plutôt d'ébutant en VBA, et je n'arrive pas à trouver d'info sur comment obtenir une dizaine de valeurs de sorties d'une fonction.

Mon objectif est le suivant:

Au lieu d'avoir une macro de 10 kilomètres de long, la diviser à l'aide des fonctions sachant que dans la macro principale, j'ai beaucoup de conditions qui font que la plupart du temps, je n'utiliserai que 2 fonctions sur 10.

L'idée générale:

* Créer une fonction qui calcule une dizaine de valeurs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Function ObtenirValeurs
 
valeur(1)=1
valeur(2)=2
valeur(3)=3
valeur(4)=4
valeur(5)=5
valeur(6)=6
 
For i = 1 To 6 
ObtenirValeur(i) = valeur(i)
Next
 
End Function
* Pouvoir utiliser ces valeurs dans la procÈdure:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Sub AppelFonction()
 
Call ObtenirValeurs
MsgBox "la valeur 1 est" & ObtenirValeurs(1) & "et non pas" & ObtenirValeurs(2) & "et encore moins" & ObtenirValeurs(5)
 
End Sub
Un message d'erreur apparaît au niveau de la ligne:

MsgBox "la valeur 1 est" & ObtenirValeurs(1) & "et non pas" & ObtenirValeurs(2) & "et encore moins" & ObtenirValeurs(5)

et m'informe que:

"Erreur de compilation:
Nombre d'arguments incorrect ou affectation de propriÈtÈ incorrecte"

Pouvez-vous m'aider?

Merci à tous!