Formule mathématique..

Résolu
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012 - 21 sept. 2005 à 14:27
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012 - 21 sept. 2005 à 16:08
J'ai ne chaine de caractère comme cela :

sFormule = "2+3"

J'aimerai avoir le résultat.
Si je fait
val(sFormule) VB me retourne 2 car il analyse un string.
Comment alors avoir le résultat ? J'ai essayé val(cSng(sFormule)) mais cela retourne une erreur !
Quelqu'un a une idée à ce sujet ?
Merci !

2 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 sept. 2005 à 15:25
il y a des sources traitant de ces opérations.
le Moteur de recherche est là !!!!

utilise Split() pour isoler avant et après le "+", et aditionne ensuite toutes les Val du résultat "splité"


Private Sub Command1_Click()
'déclare
Dim MyString As String, MyTab() As String, MyTotal As Integer
Dim i As Integer

'init
MyString = "2+3+9"
MyTab = Split (MyString, "+")
MyTotal = 0

'calcul
For i = 0 To UBound (MyTab)
MyTotal = MyTotal + Val(MyTab(i))
Next i

'affiche
MsgBox MyTotal
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT
3
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012
21 sept. 2005 à 16:08
merci ! grace à ton code et une source trouvée dans ce site j'ai pofiné le tout comme cela : http://www.vbfrance.com/code.aspx?ID=33882
3
Rejoignez-nous