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.
 

david84

XLDnaute Barbatruc
Re : Regroupement de données

Bonsoir,
Le tableau croisé dynamique répond à ta demande.
A+

Edit salut Jean-Claude
 

Tpk211

XLDnaute Nouveau
Re : Regroupement de données

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

Merci

th.
 

david84

XLDnaute Barbatruc
Re : Regroupement de données

Re
Le mieux est que tu apprennes comment on fait un TCD.
Un lien parmi d'autres ici mais il y en a plein d'autres.
A+
 

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
 

Fichiers joints

Dernière édition:

klin89

XLDnaute Impliqué
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
 

Fichiers joints

BOISGONTIER

XLDnaute Barbatruc
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
 

Fichiers joints

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+
 

Fichiers joints

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+
 

Fichiers joints

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+
 

job75

XLDnaute Barbatruc
Re : Regroupement de données

Re JB,

Curieux car sur mes 2 ordi :

- Win XP - Excel 2003 => 21 secondes.

- Win 7 - Excel 2010 => 28 secondes.

J'utilise :

Code:
Sub a()
t = Timer
[A2] = [A2]
MsgBox Timer - t
End Sub
A+
 

Discussions similaires


Haut Bas