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
    merci infiniment votre code,fonctionne très bien.
    0
    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