Traitement tableau complexe

kikim

XLDnaute Junior
Re le forum,

Je suis vraiment coincé devant un tableau à faire traiter les données "reclassement, supprimer doublon, additionner"!!! d'où un taux d'erreur frequent.

La colonne A etant reference je vous de voir le fichier ci-joint.

Espoire de faire quelque chose?
Crdt,
 

Pièces jointes

  • Classeur1.xls
    26 KB · Affichages: 89
  • Classeur1.xls
    26 KB · Affichages: 99
  • Classeur1.xls
    26 KB · Affichages: 100

kikim

XLDnaute Junior
Re : Traitement tableau complexe

Bonjour Le forum,
Merci CISCO, Bebere

Je m'excuse je me suis tres mal exprimé,
Oublions pour le moment la colonne nombre.
Le tableau resultat il n'existe plus, je veux le créer par macro ou TCD de façon qu'il me détail les relations chacune a part dans une ligne "par rapport Critere1".

Exemple:
ligne 15: REF1 REF2 G5 devienne 2 lignes!
REF1 REF2 avec nombre
REF1 G5

Une fois toutes les relations definie, je met en somme les lignes doublon avec somme des nombre!

Possible?

Sur fichier joint je m'explique bien avec un TCD !
 

Pièces jointes

  • Classeur1.xls
    33.5 KB · Affichages: 73
  • Classeur1.xls
    33.5 KB · Affichages: 72
  • Classeur1.xls
    33.5 KB · Affichages: 65
Dernière édition:

Pyrof

XLDnaute Occasionnel
Re : Traitement tableau complexe

Bonjour,

Voici une petite macro :

Code:
Sub pyrof()
'-----------------------------------------------------------
'            Analyse des données
'-----------------------------------------------------------
l = 4: c = 1
Dim tab1
Set tab1 = CreateObject("Scripting.dictionary")
While Cells(l, c) <> ""
    cle1 = Cells(l, 1)
    For b = 2 To 4
        If Cells(l, b) <> "" Then
            cle2 = Cells(l, b)
            cle = cle1 & "_" & cle2
            If tab1.exists(cle) = False Then
                c1 = ""
                c2 = ""
                c3 = ""
                If Cells(l, 2) = cle2 Then c1 = cle2
                If Cells(l, 3) = cle2 Then c2 = cle2
                If Cells(l, 4) = cle2 Then c3 = cle2
                tab1(cle) = Array(c1, c2, c3, Cells(l, 5))
            Else
                tmp = tab1(cle)
                tmp(3) = tmp(3) + Cells(l, 5)
                tab1(cle) = tmp
            End If
        End If
    Next
    l = l + 1
Wend
'-----------------------------------------------------------
'                ecriture des résultats
'-----------------------------------------------------------
l = 4: c = 12
For Each cle In tab1
    Cells(l, c) = Split(cle, "_")(0)
    Range(Cells(l, c + 1), Cells(l, c + 4)) = tab1(cle)
    l = l + 1
Next
End Sub
Il ne te reste plus qu'a faire le tri valeur décroissante
 

kikim

XLDnaute Junior
Re : Traitement tableau complexe

Re forum,

En ce moment, je suis en position debou et je passe le salut au chef superieur:eek:

Je ne croit vraiement pas mes yeux, enfin j'evite un taux d'erreur à ne pas sous estimer!

Bravo Pyrof!! et sinceres remerciements.

à+
 

Discussions similaires

Réponses
1
Affichages
997

Statistiques des forums

Discussions
312 493
Messages
2 088 957
Membres
103 990
dernier inscrit
lamiadebz