XL 2010 Trier de A à Z et calculer les doublons.

DAVID-44-

XLDnaute Occasionnel
Bonjour,
J'ai une feuille "commande" et un code pour faire un tri de A à Z de chaque section.
Je souhaiterais ajouter une fonction dans ce code afin de calculer les doublons et faire une seule ligne de ceux-ci.
Merci de votre aide.
Bonne journée.
Cordialement.
David.
 

Pièces jointes

  • COMMANDE - DAVID.xlsm
    37.8 KB · Affichages: 23

job75

XLDnaute Barbatruc
Re, bonjour mapomme,

Les formules de liaison dans la feuille "MENU LILIANE" ne sont pas un problème pour le tri et les doublons.

Et vous pouvez même utiliser des tableaux structurés comme je l'ai fait plus haut.

Simplement pour consolider les quantités il faut concaténer les formules de liaisons.

Voyez ce fichier (3) avec des formules dans toutes les cellules et la macro :
VB:
Sub Filtrer_Doublons()
Dim LO As ListObject, P As Range, n&, i&
Application.ScreenUpdating = False
For Each LO In Sheets("COMMANDE").ListObjects 'tableaux structurés
    Set P = LO.Range
    P.Sort P(1), xlAscending, P(1, 3), , xlAscending, Header:=xlYes 'tri sur 2 colonnes
    n = 0
    For i = P.Rows.Count To 2 Step -1
        If P(i, 1) = P(i - 1, 1) And P(i, 3) = P(i - 1, 3) Then
            P(i - 1, 2) = "=" & Mid(P(i - 1, 2).Formula, 2) & "+" & Mid(P(i, 2).Formula, 2) 'concatène les formules
            P.Rows(i).ClearContents 'efface le contenu de la ligne
            n = n + 1 'compte les lignes effacées
        End If
    Next i
    If n Then
        P.Sort P(1), xlAscending, Header:=xlYes 'tri pour regrouper
        LO.Resize P.Resize(P.Rows.Count - n) 'redimensionne le tableau
        P.Rows(P.Rows.Count - n + 1).Resize(n).Clear 'RAZ si nécessaire
    End If
Next LO
End Sub
Je vous laisse créer les tableaux structurés dans votre feuille "MENU LILIANE".

Revenez si vous n'y arrivez pas mais au moins remplissez les tableaux...

A+
 

Pièces jointes

  • COMMANDE - DAVID(3).xlsm
    48.7 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour MaPomme, David, Job,
Ya un truc qui colle pas dans votre approche.
Dans MENU LILIANE des formules sont présentes dans les colonnes BDE.
Votre post initial est de regrouper les quantités. Ce faisant cela détruira les formules pour y mettre des valeurs.
A la moindre modification de la source, toutes les données deviennent fausses et vous perdez toute synchronisation source cible.
Je ne comprends pas quel mécanisme vous avez imaginé pour conserver l'intégrité des données.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Regarde au moins ce que je dis au post #16
C'était fait.

Le plus difficile dans la gestion des BDD est de garantir l'intégrité des données et leur synchronisation.

Imaginez que vous ayez deux lignes Pommes Golden 10kg. Vous allez concaténer les formules pour obtenir Pomme Golden 20kg, et supprimer le second intitulé.
Maintenant il y a une modification de la base source, et modifications il y aura, c'est "obligatoire", vous avez Pommes Golden 10kg et Pommes Granny Smith 10kg.
Non seulement les données de concaténation seront fausses mais vous serez incapable de reconstituer la base d'origine puis que vous aurez supprimé la formule correspondant au second intitulé.

Donc le problème est dans la structure des fichiers et leurs liaisons, et le post #16 ne résout rien.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote