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 :

Lier 2 macros [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 31
    Par défaut Lier 2 macros
    Bonsoir,

    je débute en vba et j'ai suivi un tuto pas à pas.

    J'ai donc créé pour un exemple plusieurs macros pour un calcul de facture. Les macros individuellement fonctionnent très bien.
    Par contre je n'arrive pas à lier les macros entre elles. Soit 2 macros, la macro 1 calcule le prix TTC, et la macro 2 doit rectifier le dit prix TTC en fonction du type de client. Or ma macro 2 me renvoit 0, alors que si je lui donne le prix TTC manuellement elle calcule correctement le prix rectifié.

    Voici le code. Qu'est-ce que j'ai raté?

    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
    Sub PrixVente()
    Dim PrixMetre As Single
    Dim PrixVente As Single
    MetrageTissu = Sheets("facture").Range("B7").Value
    PrixMetre = Sheets("facture").Range("B8").Value
    PrixVente = MetrageTissu * PrixMetre
    PrixTTC = PrixVente * 1.196
    'MsgBox (PrixTTC)
    End Sub
     
    Sub Client()
    Dim Statut As String
    'PrixTTC = 21.528
    Statut = Sheets("facture").Range("B9").Value
    If Statut = "privilège" Then
    Prix_rectifié = PrixTTC * 0.9
    ElseIf Statut = "prospect" Then
    Prix_rectifié = PrixTTC * 0.95
    Else: Prix_rectifié = PrixTTC
    End If
    MsgBox (Prix_rectifié)
    End Sub
    Merci de votre aide

  2. #2
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour verveine47,

    il faut déclarer la variable dans le haut du module pour quel soit commune au macro de ce module, puis tu appel les deux macro dans une troisième macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub PrixVente_Client()
    PrixVente
    Client
    End Sub
    tu peut aussi declarer la variable Public (toujours dans le haut du module) pour que celle-ci soit disponnible dans toutes les pages vba de ce classeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public PrixTTC As Double
    isabelle

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 31
    Par défaut
    Ah yes, ça marche, j'ai compris le principe

    Merci beaucoup

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

Discussions similaires

  1. [XL-2003] Lier une macro à un bouton d'une barre d'outils
    Par BtjpsspgrW dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/03/2014, 20h39
  2. lier la macro d'evenement à lafeuille
    Par abj8077 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/10/2010, 17h29
  3. Est il possible de lier une macro à un bouton ?
    Par rimbaut dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/08/2007, 08h17
  4. [WORD]lier une macro après publipostage
    Par Raylemon dans le forum VBA Word
    Réponses: 1
    Dernier message: 25/03/2007, 01h01
  5. [VBA-E] Lier une macro a une feuille excel
    Par Ol.Geez dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/06/2006, 10h53

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