Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Traitement tableau complexe

  • Initiateur de la discussion Initiateur de la discussion kikim
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kikim

Guest
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

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

Dernière modification par un modérateur:
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
 
Re : Traitement tableau complexe

Re forum,

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

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

Bravo Pyrof!! et sinceres remerciements.

à+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

G
Réponses
3
Affichages
512
Réponses
1
Affichages
1 K
M
Réponses
9
Affichages
1 K
M
C
Réponses
2
Affichages
955
Crepcrep
C
A
Réponses
11
Affichages
2 K
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…