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:
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.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
Le deuxième:
Merci d'avanceSub 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
-----