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 à deux variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut fonctions à deux variables
    Bonjour,

    je souhaite réaliser une fonction prenant 2 variables en entrée et donnant deux variables en sortie (à l'exemple des fonctions de R2 dans R2)...
    est-ce possible de faire ça sur excel ??

    Merci.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Appel()
    Dim r
      r = LaFonction(4,5)
    msgbox r
    End sub
     
    Function LaFonction(a,b) as integer
        LaFonction = a * b
    end function
    Tu n'es même pas obligé de mettre "as integer"
    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    justement, ta fonction LaFonction n'envoie qu'une seule valeur. mon but c'est d'avoir une fonction f(a,b)=(x,y)...

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu peux renvoyer un tableau de tes deux variables.
    Une fonction... fonctionne comme une variable
    1valeur = LaFonction
    1Tableau = LaFonction

    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
    Sub TailleDuTableau()
    Dim LeTableau
        LeTableau = Array(3, 5, 7, 12, 25, 36)
        Result = Bound(LeTableau)
        For i = 0 To UBound(Result)
            MsgBox Result(i)
        Next
    End Sub
     
    Function Bound(Tableau)
    Dim LeTableau(5)
        For i = 0 To UBound(Tableau)
            LeTableau(i) = Now + Tableau(i)
        Next
        Bound = LeTableau
    End Function
    A+

  5. #5
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Citation Envoyé par prince19
    justement, ta fonction LaFonction n'envoie qu'une seule
    valeur. mon but c'est d'avoir une fonction f(a,b)=(x,y)...
    Voici un petit exemple qui n'utilise que des integer. mais tu peux faire ce que tu veux .
    Le seul souci sera qu'avec cette solution, ta cellule ne contiendra qu'une seule valeur.
    La fonction, par contre, te renvoie bien les deux valeurs.
    tu pourras donc faire une procédure qui récupère es valeurs puor faire ce que tu veux.

    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
     
    '// Fonction funcX
    '// Attend 2 arguments de type Integer et retourne un tableau des deux valeurs
    '       en ordre inverse
    Function funcX(ByVal x As Integer, ByVal Y As Integer) As Integer()
        '// Déclaration du tableau de deux valeurs de retour
        Dim result(1) As Integer
     
        '// Affectation des deux valeurs
        result(0) = Y
        result(1) = x
     
        '// retour du tableau de deux valeurs
        funcX = result
    End Function

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    ok, merci beaucoup.

    j'ai pensé au tableau, mais je voulais m'assurer qu'on ne pouvait pas récupérer directement 2 valeurs...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tracé d'une fonction à deux variables
    Par humanite dans le forum MATLAB
    Réponses: 1
    Dernier message: 05/12/2011, 20h22
  2. fonction à deux variables
    Par guefrachi dans le forum MATLAB
    Réponses: 6
    Dernier message: 21/06/2010, 10h39
  3. [Débutant] extremum fonction à deux variables
    Par Medde dans le forum MATLAB
    Réponses: 13
    Dernier message: 25/06/2009, 13h57
  4. Fonction à deux variables.
    Par bigboy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/04/2009, 12h11
  5. Fonctions à deux variables
    Par niblos79 dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/11/2007, 09h33

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