Bonjour,
Pfff... C'est capilo-tracté sont truc !
Au lieu de tout ce charabia moi je déterminerai juste la plage à sommer et au lieu de mettre une formule je ferai faire l'addition par VBA :
Sub Bouton4_Cliquer() ' génération de la ligne de banque
Dim i, j, lastrow As Integer
Dim a#, o As Object
Dim c1, c3, c4, plage As String
lastrow = Range("B6").End(xlDown).Row
If (Cells(lastrow, 4) = "BANQUE" Or Cells(lastrow, 4) = "") Then
MsgBox "Ligne Banque déjà générée ou absente"
Exit Sub
End If
Range("A" & lastrow, "D" & lastrow).Copy Range("A" & lastrow + 1, "D" & lastrow + 1)
Cells(lastrow + 1, 4) = "BANQUE"
' recherche de toutes les lignes de l operation
c1 = Cells(lastrow, 3)
While (Cells(lastrow - i, 3) = c1) '
i = i + 1
Wend
If (Cells(lastrow, 2) = op_v) Or (Cells(lastrow, 2) = op_ce) Or (Cells(lastrow, 2) = op_pr) Then
c3 = "I"
c4 = "G"
j = 9
Else
c3 = "G"
c4 = "I"
j = 7
End If
plage = c4 & lastrow & ":" & c4 & (lastrow - i + 1)
For Each o In Range(plage)
a = a + o
Next
Cells(lastrow + 1, j) = a
End Sub
Bon je te dis pas que c'est une merveille hein... Je me suis contenté d'adapter ce que j'ai trouvé !
A+