bonjour,
je cherche à agreger des lignes d'une table selon la regle ci dessous :
si les cellules entre 3 et 18 sont identiques pour les lignes i et (i+1),
- sommer la case 58 de ces deux lignes dans la case de la ligne i
- supprimer la ligne i+1
- passer à la ligne suivante
voici ma macro :
malheureusement le résultat n'est pas le bon :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Sub agreger() Dim i As Integer Dim j As Integer For i = 2 To 500 For j = 3 To 18 If Cells(i, j) = Cells(i + 1, j) Then Cells(i, 58) = Cells(i + 1, 58).Value + Cells(i, 58).Value Rows(i + 1).Select Selection.EntireRow.Delete Next j End If Next i End Sub
la cellule a sommer est sommée 18 fois, :)
puis celle d'en desous est supprimé
et cela sans prendre en compte la condition que les 18 premiere cellules des deux lignes soit identique.
HELP!!