Sum avec 1 colonne variable

à tous...

Bon j'ai encore un petit souci...

Je souhaite faire en vba un calcul qui additionne les valeurs de 4 colonnes fixes et 1 colonne variable...

Et je tourne en rond encore une fois

Voici ce que j'ai fait... et qui ne fonctionne pas...

Dim DerL As Long

Dim i As Long

Dim j As Long

Dim k As Range

Dim varSA As Variant

DerL = Feuil1.Range("B" & Rows.Count).End(xlUp).Row

Application.ScreenUpdating = False

For i = 2 To DerL

Set k = Cells(i, 10)

For j = 20 To 25

varSA = Application.Sum(Cells(i, 1), Cells(i, 2), Cells(i, 3), Cells(i, 4))

If k.Value = 0 Then

Cells(i, j) = 0

Else

Cells(i, j) = Application.Sum(varSA, k)

End If

Next j

Set k = k.Offset(0, 1)

Next i

Application.ScreenUpdating = True

Donc soit j'utilise mal le "offset"... soit c'est pas la bonne solution...

Alors si vous pouvez encore une fois m'aider d'avance

Je joint aussi un fichier test...

Remarque : en réel les valeurs ne sont pas égales aux chiffres indiqués...

5test-col-var.xlsm (22.21 Ko)

Bonjour Lilly

Puisque nous parlons de test ... autant tester le code suivant ...

Sub Test1()
Dim DerL As Long
Dim i As Long
Dim j As Long
Dim varSA As Long

DerL = Feuil1.Range("B" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
  For i = 2 To DerL
    varSA = Application.Sum(Cells(i, 1), Cells(i, 2), Cells(i, 3), Cells(i, 4))
      For j = 20 To 25
        Cells(i, j).Value = varSA + Cells(i, j - 10)
      Next j
  Next i
Application.ScreenUpdating = True
End Sub

Coucou James...

Ha ben alors très blonde attitude là... La solution est encore plus simple que je pensais

Bon en fait du coup le code est :

If Cells(i, j - 10).Value = 0 Then

Cells(i, j).Value = 0

Else

Cells(i, j).Value = varSA + Cells(i, j - 10)

End If

Et cela fonctionne à merveille....

Encore une fois

Je clôture le post...

Au plaisir de te relire et d'apprendre à nouveau grâce à tes

Re-Bonjour,

Lilly ...

Merci pour tes très chaleureux remerciements ...!!!

Rechercher des sujets similaires à "sum colonne variable"