Un Noob sur VBA... Help
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Un Noob sur VBA... Help



  1. #1
    invite4d3c78c7

    Un Noob sur VBA... Help


    ------



    Hola,

    Je suis en deuxième année de prépa en école d'ingé et on eu notre premier cours "d'algo" c'est sympa VBA mais sa va super lentement et le prof met 3 plombes a expliquer bref j'avais envie de prendre un peu d'avance sur la question...

    En gros j'aimerais commencé par faire un petit macro pour résoudre la loi des gaz parfait :

    Rappel: pV = nRT avec p = pression en pascal(Pa), V=Volume en m^3, n = qté de matière en mole , T= température en kelvin et R= cste des gp = 8,31.
    DOnc l'idée est d'entrer les valeurs au fur et a mesure et si il y a une inconnu , le programme la detecte et résout l'equation pour trouver cette inconnu. Mais comme mais connaissance en VBA (Excel 2003) se limite au inputbox, msgbox, et If, Then, ElseIF ... je n'arrive pas a le faire fonctionner:

    Le premier essai:
    Sub Loi_des_gaz_parfait()

    p = InputBox("Entrez la pression p en pascal")
    V = InputBox("Entrez le volume V en m^3")
    n = InputBox("Entrez la quantitité de matière n en mole")
    T = InputBox("Entrez la température T en Kelvin")
    R = 8.31
    pression = n * R * T / V
    volume = n * R * T / p
    mole = p * V / R * T
    temp = p * V / n * R



    If (p = 0) Then
    MsgBox ("La pression est égale à " & pression & " pascal ")
    ElseIf (V = 0) Then
    MsgBox ("Le volume est égale à " & volume & " m^3 ")
    ElseIf (n = 0) Then
    MsgBox ("La quantité de matière est égale à " & mole & " mole ")
    ElseIf (T = 0) Then
    MsgBox ("La température est égale à " & temp & " Kelvin ")

    End If

    End Sub
    Comme je ne sais pas représenter l'inconnu je le définissait comme étant "0". Mais l'ordinateur me dit que: pas possible parce que division par 0.

    Le deuxième:

    Sub Loi_des_gaz_parfait()

    p = InputBox("Entrez la pression p en pascal")
    V = InputBox("Entrez le volume V en m^3")
    n = InputBox("Entrez la quantitité de matière n en mole")
    T = InputBox("Entrez la température T en Kelvin")
    pression = n * 8.31 * T / V
    volume = n * 8.31 * T / p
    mole = p * V / 8.31 * T
    temp = p * V / n * 8.31



    If (p = 0) And (V > 0) And (T > 0) And (n > 0) Then
    MsgBox ("La pression est égale à " & pression & " pascal ")
    ElseIf (V = 0) And (p > 0) And (T > 0) And (n > 0) Then
    MsgBox ("Le volume est égale à " & volume & " m^3 ")
    ElseIf (n = 0) And (p > 0) And (V > 0) And (T > 0) Then
    MsgBox ("La quantité de matière est égale à " & mole & " mole ")
    ElseIf (T = 0) And (p > 0) And (T > 0) And (n > 0) Then
    MsgBox ("La température est égale à " & temp & " Kelvin ")

    End If

    End Sub
    Merci d'avance

    -----
    Dernière modification par JPL ; 11/12/2009 à 00h29. Motif: Couleur supprimée : le vert est réservé à la modération.

  2. #2
    sitalgo

    Re : Un Noob sur VBA... Help

    B'jour,

    Quand on contrôle les entrées, il faut le faire avant tout calcul sinon ça ne sert à rien.
    Code:
    Sub Loi_des_gaz_parfait()
    
    p = InputBox("Entrez la pression p en pascal")
    V = InputBox("Entrez le volume V en m^3")
    n = InputBox("Entrez la quantitité de matière n en mole")
    T = InputBox("Entrez la température T en Kelvin")
    R = 8.31
    
    If (p = 0) Then
        pression = n * R * T / V
        MsgBox ("La pression est égale à " & pression & " pascal ")
    ElseIf (V = 0) Then
        volume = n * R * T / p
        MsgBox ("Le volume est égale à " & volume & " m^3 ")
    ElseIf (n = 0) Then
        mole = p * V / R * T
        MsgBox ("La quantité de matière est égale à " & mole & " mole ")
    ElseIf (T = 0) Then
        temp = p * V / n * R
        MsgBox ("La température est égale à " & temp & " Kelvin ")
    End If
    
    End Sub
    Mais si t'as l'gosier, Qu'une armure d'acier, Matelasse. Brassens, Le bistrot.

Discussions similaires

  1. Gestion entrée/sortie sur port parallèle avec VBA
    Par invitea97b4264 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 21/03/2009, 17h06
  2. warrcraft 2 sur vista pour un noob
    Par invitebb5b4f56 dans le forum Logiciel - Software - Open Source
    Réponses: 10
    Dernier message: 22/07/2008, 17h22
  3. noob sur ubuntu
    Par invite71e3cdf2 dans le forum Logiciel - Software - Open Source
    Réponses: 10
    Dernier message: 19/07/2008, 01h38
  4. problème utilisation VBA sur excel 2007
    Par invite7b559047 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 16/02/2007, 01h00
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...