IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fonctions en VBA à plusieurs valeurs de sortie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut Fonctions en VBA à plusieurs valeurs de sortie
    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!

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    enlève ta boucle ,de toute façon ta fonction est appelée pour chaque "valeurs", et rajoute i en paramètre de ta fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Function ObtenirValeurs ( i as integer)
     
    valeur(1)=1
    valeur(2)=2
    valeur(3)=3
    valeur(4)=4
    valeur(5)=5
    valeur(6)=6
     
    ObtenirValeur = valeur(i)
     
    End Function

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut
    Merci bbil. Je vais essayé ça voir si s'applique bien à mon cas complexe.

Discussions similaires

  1. Fonction qui retourne plusieurs valeurs !
    Par casafa dans le forum C++
    Réponses: 20
    Dernier message: 23/04/2014, 16h56
  2. [XL-2010] Dans une fonction, comment tester plusieurs valeurs d'une seule cellule
    Par yzf-r dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/08/2011, 11h09
  3. Une fonction qui renvoie plusieurs valeurs ?
    Par chuckichucki dans le forum Langage
    Réponses: 9
    Dernier message: 14/01/2011, 13h49
  4. [Système] Fonction qui renvoie plusieurs valeurs
    Par sebhm dans le forum Langage
    Réponses: 6
    Dernier message: 26/01/2007, 08h43
  5. [PL/SQL] Fonction qui retourne plusieurs valeurs
    Par Loko dans le forum Oracle
    Réponses: 2
    Dernier message: 07/12/2004, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo