Bonjour à tous et merci de prendre le temps de me lire
je pose ce post aujourd'hui car j'ai besoin d'aide.
J'ai un classeur Excel comportant une succession de lignes complétées séparées par des lignes vides.
J'aurais besoin qu'Excel réalise la somme des lignes complétées et rapporte le résultat dans la ligne vierge du dessous pour les colonnes F à K.
Exemple :
En colonne F: une succession de lignes comportant des valeurs séparées par une ligne vide
F1 à F14: comportant des valeurs
F15 : Vide = Somme de ses valeurs de F1 à F14
F16 à F29: comportant des valeurs
F30: Vide = Somme de ses valeurs de F16 à F29 etc...
et idem jusqu'à la colonne K...
J'utilise actuellement ce code :
Malheureusement il fonctionne super bien par la colonne F mais pas pour les suivantes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Dim DL As Integer Dim TC As Variant Dim TLV() As Integer Dim J As Integer DL = Cells(Application.Rows.Count, 1).End(xlUp).Row TC = Range("A1:B" & DL) ReDim Preserve TLV(J) TLV(J) = -1: J = J + 1 For i = 1 To UBound(TC, 1) If TC(i, 1) = "" Then ReDim Preserve TLV(J) TLV(J) = i - 1 J = J + 1 End If Next i ReDim Preserve TLV(J) TLV(J) = DL For J = 1 To UBound(TLV) Cells(TLV(J) + 1, 12).Value = "Total" Cells(TLV(J) + 1, 6).Value = Application.WorksheetFunction.Sum(Range(Cells(TLV(J - 1) + 2, 6), Cells(TLV(J), 2))) 'somme F Cells(TLV(J) + 1, 7).Value = Application.WorksheetFunction.Sum(Range(Cells(TLV(J - 1) + 2, 7), Cells(TLV(J), 2))) 'somme F Cells(TLV(J) + 1, 8).Value = Application.WorksheetFunction.Sum(Range(Cells(TLV(J - 1) + 2, 8), Cells(TLV(J), 2))) 'somme H Cells(TLV(J) + 1, 9).Value = Application.WorksheetFunction.Sum(Range(Cells(TLV(J - 1) + 2, 9), Cells(TLV(J), 2))) 'somme I Cells(TLV(J) + 1, 10).Value = Application.WorksheetFunction.Sum(Range(Cells(TLV(J - 1) + 2, 10), Cells(TLV(J), 2))) 'somme J Cells(TLV(J) + 1, 11).Value = Application.WorksheetFunction.Sum(Range(Cells(TLV(J - 1) + 2, 11), Cells(TLV(J), 2))) 'somme K Cells(TLV(J) + 1, 12).Resize(1, 2).Font.Bold = True Next J
En effet, il réalise, par exemple pour la colonne G, la somme des lignes complétées de la colonne G ajoutée à celle de la colonne F :
Si on reprend mon exemple de tout à l'heure cela donne :
G1 à G14: comportant des valeurs
G15 : Vide = Somme de ses valeurs de F1 à G14
G16 à G29: comportant des valeurs
G30: Vide = Somme de ses valeurs de F16 à G29
Alors que je souhaiterais qu'il ne fasse que la somme des lignes de la colonne G
Quelqu'un pourrait il me conseiller avant que je finisse chauve
D'avance un grand merci à tous
et belle journée
Partager