Additionner automatiquement des lignes avec des conditions

Bonjour à toute la communauté ! :)

Me voici aujourd'hui confronté à un problème majeur. Mon fichier a eu je ne sais quoi de manipulé mais résultat il y a des doublons. Je m'explique, dans la feuille MIB_AB (c'est là que ça se passe), il y a des lignes correspondant à des prélèvements, bref. Certaines lignes ont les mêmes dates et ce n'est pas normal ! Et l'effectif est donc séparé sur ces 2 ou plus dates similaires. Et plein de lignes ont subi ça : des pseudo-doublons. Et vous vous en doutez, j'aimerais refusionner ces lignes qui ont les mêmes dates mais additionner les valeurs des effectifs des lignes fusionnées. Et j'ai beau cherché me voilà perdu...

Merci d'avance pour votre lecture, et votre aide,

Bonne fin de journée,

Gaëtan

Salut Tanttan,

une façon de faire...
Un double-clic sur la feuille 'TEST' démarre la macro.
ATTENTION : sur cette feuille, j'ai dû corriger un tas de dates "31/0717" en "31/07/17" pour que cela fonctionne => pas de correction en 'MIB_AB' = plantage !!
C'est récurrent ce genre de truc ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim tTab, iIdx1%, iIdx2%
'
Cancel = True
Application.ScreenUpdating = False
'
iIdx1 = 2
tTab = [A1].CurrentRegion.Formula
'
For x = 3 To UBound(tTab, 1)
    If CLng(tTab(x, 2)) = CLng(tTab(iIdx1, 2)) And tTab(x, 1) = tTab(iIdx1, 1) And tTab(x, 3) = tTab(iIdx1, 3) Then
        iIdx2 = x
    Else
        If iIdx2 > 0 Then
            For y = iIdx1 + 1 To iIdx2
                tTab(iIdx1, 5) = CInt(tTab(iIdx1, 5)) + CInt(tTab(y, 5))
                tTab(y, 1) = ""
            Next
        End If
        iIdx1 = x
        iIdx2 = 0
    End If
Next
'
[A1].Resize(UBound(tTab, 1), UBound(tTab, 2)).Formula = tTab
On Error Resume Next
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete shift:=xlUp
On Error GoTo 0
'
Application.ScreenUpdating = True
'
End Sub
13tanttan.zip (726.23 Ko)


A+

Rechercher des sujets similaires à "additionner automatiquement lignes conditions"