Sum total vba

Bonjour avez vous une idée sur ce code suivant:
Sub Calculate()
Dim S As Long
With Sheets("Plan")
S = Application.WorksheetFunction.Sum(.Range("D5:AH5"))
.Range("AI5").Value = S
End With
End Sub

ceci à bien fonction pour cellule ("AI5")=("D5:AH5")
mais si je veux réaliser même chose pour ("AI6") = ("D6:AH6") ,jusqu'a ("AI20")
est ce possible d'avoir une variable pour ceci

2 réponses

  1. Bonjour,
    Teste comme ceci
    Sub Calculate()
      Dim S As Long, i%
      With Sheets("Plan")
        For i = 5 To 20
          S = Application.WorksheetFunction.Sum(.Range(Cells(i, "D"), Cells(i, "AH")))
          .Range("AI" & i).Value = S
        Next i
      End With
    End Sub
    1
    1. Bonjour
      merci infiniment votre code,fonctionne très bien.
      0