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 :

appeler deux fonctions dans une autre


Sujet :

Macros et VBA Excel

Vue hybride

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Par défaut appeler deux fonctions dans une autre
    bonjour tout le monde,

    Je cherche à appeler deux fonctions qui me permettre de faire des sommes en une 3ème mon code est le suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub TotalP()
     
        Dim Totaux() As Double
     
     
        Totaux = SousTotalP1() + SousTotalP2() 
        'SousTotaP1 et SousTotalP2 sont deux Sub déjà définient et Totaux doit normalement me donner la somme des résultats obtenus dans les deux Sub
     
        MsgBox ("le total Passif : " & Totaux)
     
    End Sub
    Merci d'avance

  2. #2
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour,

    SousTotalP1() + SousTotalP2() devraient être des fonctions et non des Sub(s) si tu veux que ces macros te retournent un résultat.

    cordialement

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Par défaut
    Citation Envoyé par fred65200 Voir le message
    bonjour,

    SousTotalP1() + SousTotalP2() devraient être des fonctions et non des Sub(s) si tu veux que ces macros te retournent un résultat.

    cordialement
    Enfin c'est ce que j'ai compris d'apré cela parce que ce que je cherche est une sub qui à la fois permet de m'afficher un resultat et d'appeler ce resultat dans une autre

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    je pense que tu confonds Fonction et Sub (Procédure).

    La procédure ne te ramène généralement pas de résultat, mais bien la fonction.

    Dans ton cas il te faut une fonction.

    du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Function SousTotalP1() As Double
    SousTotalP1 = 10
    End Function
    Ton code deviendra alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Totaux = SousTotalP1() + SousTotalP2()

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Par défaut
    Rebonjour,

    ça marche toujours pas,

    Voilà les trois fonctions modifiées

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    Function SousTotalP1() As Double
    Dim Tablo As Variant, Totaux() As Double, Total As Double, somme As Double
    Dim TabloC As Variant, TabloD As Variant
     
        Tablo = Array( _
                    101, 104, 105, 106, _
                    11, _
                    12, _
                    13, _
                    14)
     
     
        For i = 0 To UBound(Tablo)
            ReDim Preserve Totaux(i)
            Totaux(i) = ResultPassif(CStr(Tablo(i)))
        Next i
        For i = 0 To UBound(Totaux)
            Total = Total + Totaux(i)
        Next
     
        MsgBox ("le total1 est : " & Total)
     
    End Function
    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
    17
    18
    19
     
    Function SousTotalP2() As Double
    Dim Tablo As Variant, Totaux() As Double, Total As Double, somme As Double
    Dim TabloC As Variant, TabloD As Variant
     
        Tablo = Array( _
                    151, 153, 155, 157, 158)
     
        For i = 0 To UBound(Tablo)
            ReDim Preserve Totaux(i)
            Totaux(i) = ResultPassif(CStr(Tablo(i)))
        Next i
        For i = 0 To UBound(Totaux)
            Total = Total + Totaux(i)
        Next
     
        MsgBox ("le total2 est : " & Total)
     
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub TotalP()
     
        Dim Totaux() As Double
     
        Totaux = SousTotalP1() + SousTotalP2() 
     
        MsgBox ("le total Passif : " & Totaux)
     
    End Sub
    Voila. Sinon merci pour vos réponses

  6. #6
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re
    tes fonctions complétées
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Dim Tablo As Variant, Totaux() As Double, Total As Double, somme As Double
    Dim TabloC As Variant, TabloD As Variant
     
        Tablo = Array( _
                    101, 104, 105, 106, _
                    11, _
                    12, _
                    13, _
                    14)
     
     
        For i = 0 To UBound(Tablo)
            ReDim Preserve Totaux(i)
            Totaux(i) = ResultPassif(CStr(Tablo(i)))
        Next i
        For i = 0 To UBound(Totaux)
            Total = Total + Totaux(i)
        Next
        SousTotalP1 = Total
        MsgBox ("le total1 est : " & SousTotalP1)
     
    End Function
     Function SousTotalP2() As Double
    Dim Tablo As Variant, Totaux() As Double, Total As Double, somme As Double
    Dim TabloC As Variant, TabloD As Variant
     
        Tablo = Array( _
                    151, 153, 155, 157, 158)
     
        For i = 0 To UBound(Tablo)
            ReDim Preserve Totaux(i)
            Totaux(i) = ResultPassif(CStr(Tablo(i)))
        Next i
        For i = 0 To UBound(Totaux)
            Total = Total + Totaux(i)
        Next
        SousTotalP2 = Total
        MsgBox ("le total2 est : " & SousTotalP2)
     
    End Function
     Sub TotalP()
     
        Dim Totaux As Double
     
        Totaux = SousTotalP1() + SousTotalP2()
     
        MsgBox ("le total Passif : " & Totaux)
     
    End Sub
    tiens nous au courant

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Par défaut
    merci c'est nikel sinon en fait au lieu d'écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Totaux = SousTotal1() + SousTotal2() + ...
    J'aurais bien aimé faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    For i = 0 To ...
        Totaux =SousTotal & i 'ou un truc du genre
    Tu pourras m'aider? parce que je dois le faire le plus générique possible comme ça je pourrais ajouter autant de SousTotaux que je veux

    Mais sinon pour la modif c'était exactement ce que je cherchais

    Encore une fois merci

  8. #8
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    essaie si ça te convient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Sub TotalP()
     Dim tabSousTotaux As Variant
     tabSousTotaux = Array(SousTotalP1(), SousTotalP2())
     
        Dim Totaux As Double
         For i = LBound(tabSousTotaux) To UBound(tabSousTotaux)
         Totaux = Totaux + tabSousTotaux(i)
         Next i
        'Totaux = SousTotalP1() + SousTotalP2()
     
        MsgBox ("le total Passif : " & Totaux)
     
    End Sub
    @+

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

Discussions similaires

  1. appel de fonctions dans une autre feuille
    Par arkhamon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/02/2012, 14h04
  2. appel de fonctions dans une autre feuille
    Par arkhamon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/02/2012, 13h17
  3. appelle des fonctions dans une autre
    Par bennkabazz dans le forum Requêtes
    Réponses: 0
    Dernier message: 01/12/2008, 15h40
  4. appel d'une fonction dans une autre feuille
    Par mardona dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/04/2007, 17h51
  5. PHP4 appel d'une fonction dans une autre
    Par cmicdev dans le forum Langage
    Réponses: 6
    Dernier message: 18/05/2006, 11h37

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