Regroupement de données

Tpk211

XLDnaute Nouveau
Bonjour,

Petite aide qui va surement etre tres simple pour certain d'entre vous

Je veux regroupe des données comme decrit dans les tableaux suivants

Données
T1 25
T1 358
T1 21
T1 24
T2 45
T2 87
T2 63
T3 48
T3 48

Résultat
T1 428
T2 195
T3 96


Merci pour votre aide

Th.
 

JCGL

XLDnaute Barbatruc
Re : Regroupement de données

Bonjour à tous,

Bienvenue sur XLD

Un essai avec formules et TCD :

Capture 1.png

A+ à tous
 

Pièces jointes

  • Capture 1.png
    Capture 1.png
    5.3 KB · Affichages: 68
  • Capture 1.png
    Capture 1.png
    5.3 KB · Affichages: 65

JCGL

XLDnaute Barbatruc
Re : Regroupement de données

Bonjour à tous,
Salut David mon jumeau Poisson....

Visiblement je pars de loin :(... je n'arrive pas a reproduire le resultat souhaité, au lieu d'une image .png pourrais tu me fournir le fichier excel stp

L'usage sur XLD voudrait que ce soit toi qui poste un fichier pour expliquer ta demande...
Comme tu es nouveau et je suis dans un bon jour, le fichier qui a servi à générer l'image.

A+ à tous

Edition Sur le portail de Misange : Ce lien n'existe plus
 

Pièces jointes

  • JC TCD.xlsx
    18.4 KB · Affichages: 32
  • JC TCD.xlsx
    18.4 KB · Affichages: 31
  • JC TCD.xlsx
    18.4 KB · Affichages: 32
Dernière édition:

klin89

XLDnaute Accro
Re : Regroupement de données

Bonsoir à tous, :)

Sans TCD :p
VB:
Sub Essai()
Dim a, i As Long, j As Long, n As Long
    With Range("A2").CurrentRegion
        a = .Value
        With CreateObject("Scripting.Dictionary")
            .CompareMode = 1
            For i = 1 To UBound(a, 1)
                If Not .exists(a(i, 1)) Then
                    n = n + 1: .Item(a(i, 1)) = n
                    For j = 1 To UBound(a, 2)
                        a(n, j) = a(i, j)
                    Next
                Else
                    a(.Item(a(i, 1)), 2) = a(.Item(a(i, 1)), 2) + a(i, 2)
                End If
            Next
        End With
        With .Offset(, .Columns.Count + 2)
            .CurrentRegion.Clear
            .Resize(n).Value = a
        End With
    End With
End Sub
Klin89
 

Pièces jointes

  • Tpk211.xls
    39.5 KB · Affichages: 26

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Regroupement de données

Bonsoir,

avec fonction perso

sélectionner e2:f10
=SousTotSomme(A2:A20;B2:B20)
valider avec maj+ctrl+entrée

Pour 10.000 lignes et 100 postes + tri alpha, le temps de recalcul est 0,09 sec


JB
 

Pièces jointes

  • Classeur1.xls
    30 KB · Affichages: 29
  • Classeur1.xls
    30 KB · Affichages: 26
  • Classeur1.xls
    30 KB · Affichages: 24
Dernière édition:

job75

XLDnaute Barbatruc
Re : Regroupement de données

Bonsoir à tous,

Avant d'aller dormir voyez le fichier joint.

Bonne nuit.
 

Pièces jointes

  • Classeur(1).xls
    29 KB · Affichages: 35
  • Classeur(1).xls
    29 KB · Affichages: 37
  • Classeur(1).xls
    29 KB · Affichages: 36
Dernière édition:

job75

XLDnaute Barbatruc
Re : Regroupement de données

Bonjour à tous,

Dans ce nouveau fichier il y a un tri alphabétique de la 1ère colonne.

Avec les noms définis T et matrice plus besoin de validation matricielle.

Mais le calcul commence à prendre du temps avec un tableau T de 1000 lignes.

A+
 

Pièces jointes

  • Classeur avec tri alphabétique(1).xls
    29 KB · Affichages: 24

job75

XLDnaute Barbatruc
Re : Regroupement de données

Re,

Si l'on veut un tri numérique sur la 2ème colonne il suffit de modifier la définition du nom matrice.

En prenant des précautions pour distinguer les valeurs égales.

Fichier joint.

A+
 

Pièces jointes

  • Classeur avec tri numérique(1).xls
    29 KB · Affichages: 23

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Regroupement de données

Bonjour,

Différence de temps entre fonction perso et matriciel pour 10.000 lignes (0,1 sec ---> x sec)

Pour 1.000 lignes et 60 postes, le matriciel --> 8 secondes

JB
 

Pièces jointes

  • Classeur avec tri alphabétique(1)-2.xls
    533.5 KB · Affichages: 21
  • SousTotalPerso.xls
    540.5 KB · Affichages: 30
Dernière édition:

job75

XLDnaute Barbatruc
Re : Regroupement de données

Hello JB,

Eh oui, avec un tableau de seulement 1000 lignes, les calculs en colonnes D et E de mes fichiers prennent :

- post #11 => 0,07 seconde

- post #12 => 1,0 seconde

- post #13 => 0,5 seconde.

VBA comme les TCD sont bien sûr beaucoup plus rapides.

A+
 

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 970
Membres
101 852
dernier inscrit
dthi16088