Doublons / Additionnement / Supprimer

Doaf

XLDnaute Nouveau
Bonjour et meilleurs vœux !


Merci d’avance pour votre aide sur mon problème.

Sur une feuille Excel, j’ai 3 colonnes.
Dans la première se trouvent les codes des articles.
Dans la deuxième les désignations des articles.
Dans la troisième les quantités des articles.

Mon objectif est le suivant :
Comme il y’a des articles qui reviennent dans ce tableau (des doublons) mais qui ont une quantité différentes, j’aimerai additionner les quantités (dans la colonne trois) qui correspondent au même code.
En même temps j’aimerai biensur effacer les doublons.

Parfois, pour un même code d’article, on peut avoir une désignation différente. Donc, il sera nécessaire de se basé uniquement sur les codes des articles pour les additionnements des quantités et le tri des doublons…

En exemple :


Code | désignation | quantité

143 ....... pomme ....... 6
125 ........ poire ........ 3
143 ... pomme verte ... 5
253 ...... abricot ...... 3
253 ...... abricot ...... 10
143 ...... pomme ...... 5


Résultat demandé :

143 ...... pomme ...... 16
125 ......... poire ......... 3
253 ...... abricot ...... 13


En espérant que ceci est possible, je vous remercie pour votre aide.

Doaf
 

david84

XLDnaute Barbatruc
Re : Doublons / Additionnement / Supprimer

Bonjour,
sans fichier, tu te contenteras d'explications générales :
- pour n'avoir que la liste des codes sans doublons, cf. notamment ici sur le site de JB
- pour les désignations, une RECHERCHE.V ou INDEX+EQUIV te ramènera la désignation correspondante
- pour le calcul, utiliser la fonction SOMME.SI.
A+
 

david84

XLDnaute Barbatruc
Re : Doublons / Additionnement / Supprimer

Bonjour, Jean-Claude:),
Testé sur le fichier de Rachid que je salue :
_ pour les codes (formule matricielle à valider par Ctrl, Maj et entrée) :
Code:
=INDEX(A:A;MIN(SI(NB.SI(F$18:F18;CODE)=0;LIGNE(CODE))))&""
- pour les désignations :
Code:
=SI($F19<>"";INDEX(DESIGN;EQUIV($F19*1;CODE;0));"")
- pour les quantités :
Code:
=SI($F19<>"";SOMME.SI(DESIGN;G19&"*";QUANT);"")
A+
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Doublons / Additionnement / Supprimer

Bonjour,

En VBA

Code:
Sub SousTotal()
  Set d = CreateObject("Scripting.Dictionary")
  Set d2 = CreateObject("Scripting.Dictionary")
  For Each c In Range("a2", [a65000].End(xlUp))
     d(c.Value) = d(c.Value) + c.Offset(, 2).Value
     d2(c.Value) = c.Offset(, 1)
  Next c
  [e2].Resize(d.Count, 1) = Application.Transpose(d.keys)
  [f2].Resize(d.Count, 1) = Application.Transpose(d2.items)
  [g2].Resize(d.Count, 1) = Application.Transpose(d.items)
End Sub

JB
 

Pièces jointes

  • SousTota2.xls
    25 KB · Affichages: 70

Discussions similaires

Statistiques des forums

Discussions
312 859
Messages
2 092 879
Membres
105 548
dernier inscrit
bestitou