Regroupement + addition

Bonjour à tous,

Après plusieurs recherche infructueuse sur ce forum, je me décide à exposer mon problème.

J'ai un tableau généré automatiquement par un logiciel de dessin industriel.

Sur ce tableau je voudrais effectuer un regroupement.

Quand les nombres en colonne D & E sont strictement identique alors on additionne les nombres en H dans la 1 ere lignes, et on supprime les lignes inférieur.

Pour être plus clair je joins un fichier.

Je suppose qu'une macro peut faire ce travail. Mais malheureusement je n'ai pratiquement aucune connaissance dans ce domaine.

Je vous remercie par avance.

ATHEX49

14regroupement.zip (4.14 Ko)

en créant une colonne combo, puis menu données sous-totaux

(j'ai mis des a dans les colonnes vides pour qu'Excel comprenne que le tout est un tableau, ces a n'ont pas de réelle utilité, il faudrait virer ces colonnes vides)

est-ce OK ,

bgrvfe

Merci de cette réponse ultra rapide.

J'ai oublier un paramètre dans ma demande.

En fait je souhaite créer un second tableau pour pouvoir le réexporter sur un autre logiciel sous forme CSV.

Mais le système de sous totaux ne sera pas pris en compte.

Il faut que le tableau final soit identique au second.

Désolé d'avoir mal formulé ma demande.

Bonsoir,

dans ton regroupement, tu ne tiens pas compte du nom, normal ou oubli ?

édit: Le tableau à l'air trié par Long décroissante, c'est toujours le cas et peut-on trier ?

Amicalement

Claude

-- Mer Nov 17, 2010 8:54 pm --

en attendant, essaye cette macro

Sub Regroupe()
''Macros par Claude Dubois pour "ATHEX49" E-P le 17/11/10
Dim Lg%, i%, Y%
    Application.ScreenUpdating = False
    Lg = Range("a65536").End(xlUp).Row
    '--- tri ---
    Range("a2:s" & Lg).Sort Key1:=Range("d2"), Order1:=xlDescending, Key2:= _
    Range("e2"), Order2:=xlDescending, Header:=xlNo, OrderCustom:=1, _
    MatchCase:=False, Orientation:=xlTopToBottom
    '---
    Columns("a").Insert
    Range("a2:a" & Lg) = "=e2&f2"
        For i = 2 To Lg
            If Cells(i + 1, "a") = Cells(i, "a") Then
                    Y = i
                Do While Cells(Y, 1) = Cells(Y + 1, 1)
                    Cells(i, "i") = Cells(i, "i") + Cells(Y, "i")
                    Cells(Y + 1, "b").ClearContents
                    Y = Y + 1
                Loop
                    i = Y
            End If
        Next i
    Columns("a").Delete
    Range("a2:a" & Lg).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Amicalement

Claude

17athex49-tableau.zip (19.65 Ko)

Bonjour a tous

Formidable c'est exactement ce que je voulais.

Merci pour tout.

ATHEX49

Rechercher des sujets similaires à "regroupement addition"