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 :

exécution macro fonction dans VBE


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut exécution macro fonction dans VBE
    Bonjour , j'ai écrit la macro suivante dans VBE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub pap()
        Dim a As Integer
        a = multiplication(a, 10)
        a = soustraction(a, 10)
        a = quotient(a, 10)
        a = addition(a, 10)
        a = multiplication(a, soustraction(a, 9))
        a = addition(a, 10)
        a = quotient(a, 2)
        a = quotient(a, 10)
        MsgBox a
    End Sub
    quand je positionne mon curseur dvt sub pap et que j'appuie sur F8 çà me met la ligne sur fond jaune , celà veut dire quoi ? que dois je faire ensuite ?

    et quand j'appuie sur F5 çà me renvoit dans une fenêtre Microsoft Excel le chiffre 0 , je pense avoir une idée du pq mais quelqu'un aurait il une explication ?

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Ta routine ne risque pas de fonctionner, elle vient d'où la valeur a ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut
    ben a n'a pas de valeur on m'a juste dit de tester çà comme çà...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ton a a la valeur 0.

    En faisant F5 tu dois avoir dans une boite de dialogue le résultat de la fonction quotient(0,10), soit la dernière.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut
    ok j'ai compris le truc mais le F8 il sert à rien alors finalement , vu que le F5 m'exécute la ligne... ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    F8 c'est pour exécuter du code pas à pas, F5 c'est pour l'exécuter.
    Apprends d'abord à utiliser la barre de menu avant d'utiliser les raccourcis claviers.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Maxence45 Voir le message
    ben a n'a pas de valeur on m'a juste dit de tester çà comme çà...
    C'est de l'arithmétique de base, et du VBA de base!!

    signifie que tu déclares que tu vas utiliser une variable appelée a et qu'elle est de type integer (voir via ).

    VBA affecte une valeur par défaut aux variables typées (déclarées avec as ...). Pour les types numériques, cette valeur par défaut est zéro (0).
    Donc, au début de ta procédure, A vaut 0. Cela explique le résultat de ta procédure.

    Pour pouvoir tester un calcul cohérent, attribue une valeur à A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub pap()
        Dim a As Integer ' déclare une variable a de type integer
        a = 4 ' attribue à la variable a la valeur 4
        a = multiplication(a, 10)
        a = soustraction(a, 10)
        a = quotient(a, 10)
        a = addition(a, 10)
        a = multiplication(a, soustraction(a, 9))
        a = addition(a, 10)
        a = quotient(a, 2)
        a = quotient(a, 10)
        MsgBox a
    End Sub
    Si les fonctions utilisées ([Bmultiplication, addition, soustraction, quotien[/B] sont correctes, tu auras une réponse <> 0 dans le message en fin de procédure.

    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. Ré exécuter une fonction dans une boucle à chaque fois
    Par kalimmba dans le forum Débuter
    Réponses: 13
    Dernier message: 23/03/2015, 20h21
  2. Réponses: 4
    Dernier message: 17/10/2014, 16h28
  3. Réponses: 1
    Dernier message: 07/10/2014, 13h31
  4. [A-03] exécuter une fonction dans une autre BDD
    Par ibill dans le forum VBA Access
    Réponses: 13
    Dernier message: 20/11/2008, 11h03
  5. Exécuter une fonction dans un thread
    Par Silverstone dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 23/06/2007, 12h24

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