Private Sub btnVirgule_Click()
'patricktoulon
Dim expr, symb, i&
symb = Split("+,-,x,/,*", ",") 'les operateur Numerique
expr = Replace(Replace("|" & expression & ".1", "(", ""), ")", "") 'on replace toute les parenthèses dans la formule
For i = 1 To UBound(symb) 'boucle sur les opérateurs et remplacement par le "|"
expr = Replace(expr, symb(i), "|")
Next
expr = Split(expr, "|") 'on coupe la chaine coupé par les opérateurs
'si le len (expression)= 0 on ajoute le "0" et on met la variable expression à jour
If Len(expression) = 0 Then AjouterElement ("0"): expression = txtExpression
'si le dernier caractère de expression est un opérateur on ajoute le "0" et on met la variable expression à jour
'avec un like inversé qui teste tout en un
If " + - x / " Like "* " & Right(expression, 1) & " *" Then AjouterElement ("0"): expression = txtExpression
'si le dernier caractère du dernier élément de la chaine replacée et coupée est un chiffre alors...
If Right(expr(UBound(expr)), 1) Like "[0,1,2,3,4,5,6,7,8,9]" Then
'si dernier élément de la chaine coupée et replacée + ( le ".1" temporaire) reste une chaine numérique valide alors on ajoute le "."
If TypeName(Evaluate(expr(UBound(expr)))) = "Double" Then AjouterElement (".")
End If
End Sub