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 : 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 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!!
Partager