Je voudrais grouper des données, qqn peut il m'aider ?

voilà, c'est simple, j'ai 2 colonnes :

Machines montant

1004 100

1004 200

1001 250

102 400

103 100

103 70

104 100

105 780

105 300

1102 600

1102 700

1110 1000

Je voudrais regrouper les "machines" et que la deuxieme colonne "montant" fasse automatiquement la somme, c'est à dire supprimer les doublons de machines et faire automatiquement la somme des montant de sorte à ce que j'obtienne cela :

Machines montant

1004 300

1001 250

102 400

103 170

104 100

105 1080

1102 1300

1110 1000

Merci d'avance pour votre aide.

Salut,

Avec un Tableau Croisé Dynamique:

Selectionnes tes données.

Va dans données/rapport de tableau dynamique croisé

Cliques sur suivant puis encore suivant

ensuite cliques sur disposition

Ensuite tu choisis ou mettre tes données puis OK. Pour faire une somme vérifier dans la case "données" que c'est bien "SOMME de XXX" et pas "NOMBRE de XXXX"

Et voilà, le TDC est fini, tu as ton regroupement de données et la somme

A te lire,

Souri84

Sans faire de tableau croisé dynamique, est-ce possible ? (avec des formule SI ?) parce que je veux faire une macro, qui regroupe automatiquement les Machines, et qui fait la somme des montants pour chaque machine (1004...etc)

[size=75]Édition par Mytå, pour déplacement sur le forum Questions et suppression de la balise QUOTE.

Merci d'utiliser le bouton Répondre en bas des ficelles au-lieu de Citer[/size]

Bonsoir et bienvenue,

Regarde si le fichier joint te convient :

https://www.excel-pratique.com/~files/doc/greatoliver.xls

Amicalement

Nad

Bonsoir, greatoliver

Bonsoir, Nad, Myta et souri84

Une autre proposition, avec la base de données dans le premier onglet, nommé "base", et extraction vers le deuxième, nommé "recap"

Fichier joint

https://www.excel-pratique.com/~files/doc/great_oliver1.zip

Le code :

Sub recap()
Dim DerLig As Long, DerLig2 As Long
DerLig = [A65000].End(xlUp).Row
With Sheets("recap")
    .Range("A1:B1").Value = Range("A1:B1").Value
    Sheets("base").Range("A1:A" & DerLig).AdvancedFilter Action:=xlFilterCopy, _
        CopyToRange:=.Range("A1"), Unique:=True
DerLig2 = .[A65000].End(xlUp).Row
    .Range("B2").FormulaR1C1 = _
        "=SUMPRODUCT((RC[-1]=base!RC[-1]:R[11]C[-1])*base!RC:R[11]C)"
    .Range("B2").AutoFill Destination:=.Range("B2:B" & DerLig2)
    .Range("B2:B" & DerLig2).Value = .Range("B2:B" & DerLig2).Value
End With
End Sub

Merci à vous tous pour vos réponses très intéressantes et utiles.

Je n'ai pas trouvé d'idéal, c'est à dire, d'appuyer sur un bouton, activant une macro, et cette macro se charge de remplacer les données de base sur la même feuille.

Souris84, très bonne réponse, j'ai appris à mieux utiliser le croisé dynamique, mais j'ai essayé d'enregistrer un tableau croisé dynamique dans une macro, et ça ne marche pas, ça bug. Donc impossible d'exécuter une macro avec un croisé dynamique.

Nad-Dan, très impressionnant, mais je n'ai rien compris.

Enfin, Felix se rapproche de l'idéal que j'ai en tête (dommage que la macro ne se fasse pas sur la même feuille en remplaçant les données de base), BRAVO !

Si vous avez encore plus simple et/ou plus efficace, je vous écoute, vous êtes tous très forts !

Encore merci.

Bonjour,

regarde le fichier joint, l'extraction se fait sur la même feuille

https://www.excel-pratique.com/~files/doc/great_oliver2.zip

Salut,

Tu peux aussi créer ton TDC et ensuite ta macro sert juste à l'actualiser (si tu peux le laisser sur la page...)

A+

Souri84

Rechercher des sujets similaires à "voudrais grouper donnees qqn"