bonjour,
la fonction personnalisée qui suit permet de faire des additions de chaines de caractères représentant des nombres
là où tu aurais utilisé
=A1+1
tu devras mettre
=addstr(A1,1)
fonction à ajouter dans une module VBA
Public Function addstr(ByVal s1 As String, ByVal s2 As String, Optional dev As String = ".") As String
Dim b As Double, c As Double, a As String, r As String, rep As Integer
If InStr(s1, dev) = 0 Then s1 = s1 & dev
If InStr(s2, dev) = 0 Then s2 = s2 & dev
aligns1s2 s1, s2, dev
For i = Len(s1) - 8 To 1 Step -9
b = CDbl(Mid(s1, i, 9))
c = CDbl(Mid(s2, i, 9))
a = b + c + rep
If Len(a) > 9 And Left(a, 1) <> 0 Then rep = 1 Else rep = 0
r = Right(String(9, "0") & a, 9) & r
Next i
addstr = r
End Function
Sub aligns1s2(ByRef s1 As String, ByRef s2 As String, dev As String)
Dim v1 As Integer, v2 As Integer
v1 = RevInStr(s1, dev)
v2 = RevInStr(s2, dev)
If v1 < v2 Then
s1 = s1 & IIf(s1 = 0, dev, "") & String(v2 - v1, "0")
Else
s2 = s2 & IIf(s2 = 0, dev, "") & String(v1 - v2, "0")
End If
v1 = Len(s1)
v2 = Len(s2)
If v1 < v2 Then
s1 = String(v2 - v1 + 9, "0") & s1
s2 = String(9, "0") & s2
Else
s2 = String(v1 - v2 + 9, "0") & s2
s1 = String(9, "0") & s1
End If
End Sub