1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Function Calcul(Plage As Range, Optional Xn, Optional OPE1, Optional Pn, Optional OPE2, Optional Mn) As String
Dim X, P, M, Val_X$, Val_P$, Val_M$, Val_OPE1$, Val_OPE2$, XPM$
X = Application.Transpose(Application.Index(Plage, 0, 1)) 'Tab Valeurs de X
P = Application.Transpose(Application.Index(Plage, 0, 2)) 'Tab Valeurs de P
M = Application.Transpose(Application.Index(Plage, 0, 3)) 'Tab Valeurs de M
If IsError(Xn) Then Val_X = "" Else Val_X = Replace(X(Xn), ",", ".") 'Position de la valeur choisie dans X
If IsError(OPE1) Then Val_OPE1 = "" Else Val_OPE1 = OPE1 'Opérateur 1
If IsError(Pn) Then Val_P = "" Else Val_P = Replace(P(Pn), ",", ".") 'Position de la valeur choisie dans P
If IsError(OPE2) Then Val_OPE2 = "" Else Val_OPE2 = OPE2 'Opérateur 2
If IsError(Mn) Then Val_M = "" Else Val_M = Replace(M(Mn), ",", ".") 'Position de la valeur choisie dans M
XPM = Val_X & Val_OPE1 & Val_P & Val_OPE2 & Val_M
'RESULTAT de type String
Calcul = IIf(Val_X = "", "", "X" & CStr(Xn)) & IIf(Val_OPE1 = "", "", Val_OPE1) & _
IIf(Val_P = "", "", "P" & CStr(Pn)) & IIf(Val_OPE2 = "", "", Val_OPE2) & _
IIf(Val_M = "", "", "M" & CStr(Mn)) & _
" = " & Evaluate(XPM)
End Function |
Partager