Microsoft 365 Somme des prix pour une même référence et supprimer doublons

ivan27

XLDnaute Occasionnel
Bonjour à tous,

A partir d'une liste contenant des références et des prix, je souhaite faire une somme des prix pour une même référence et supprimer les doublons.
Dans l'exemple joint j'ai 2 fois la référence 333695 et 3 fois la référence 179509.
Je souhaite donc sommer sur place les prix de ces 2 références de façon à obtenir :
1 seule ligne pour la référence 333695 - 43,00
1 seule ligne pour la référence 179509 - 62,00

Merci d'avance pour votre aide
Bien cordialement et bonne journée
Ivan
 

Pièces jointes

  • Somme sur les doublons.xlsx
    11.2 KB · Affichages: 16
Solution
Bonjour ivan27, le fil,

ton fichier en retour ; fais Ctrl e ➯ travail effectué. 😊

VB:
Option Explicit

Sub Essai()
  Dim n&: n = Cells(Rows.Count, 1).End(3).Row: If n < 3 Then Exit Sub
  Application.ScreenUpdating = 0: [A2].Resize(n - 1, 2).Sort [A2], 1
  Dim i&
  For i = n To 2 Step -1
    With Cells(i - 1, 2)
      If .Offset(1, -1) = .Offset(, -1) Then
        .Value = .Value + .Offset(1): Rows(i).Delete
      End If
    End With
  Next i
End Sub

soan

mapomme

XLDnaute Barbatruc
Bonjour à tous,

Il suffit d'utiliser Données / Consolider :
  • sélectionner la cellule E2
  • menu Données / consolider
  • compléter la boite de dialogue
1618210286834.png
 

soan

XLDnaute Barbatruc
Inactif
Bonjour ivan27, le fil,

ton fichier en retour ; fais Ctrl e ➯ travail effectué. 😊

VB:
Option Explicit

Sub Essai()
  Dim n&: n = Cells(Rows.Count, 1).End(3).Row: If n < 3 Then Exit Sub
  Application.ScreenUpdating = 0: [A2].Resize(n - 1, 2).Sort [A2], 1
  Dim i&
  For i = n To 2 Step -1
    With Cells(i - 1, 2)
      If .Offset(1, -1) = .Offset(, -1) Then
        .Value = .Value + .Offset(1): Rows(i).Delete
      End If
    End With
  Next i
End Sub

soan
 

Pièces jointes

  • Somme sur les doublons.xlsm
    17.1 KB · Affichages: 9

soan

XLDnaute Barbatruc
Inactif
@mapomme

sur le bas de l'image de ton post #4, c'est coché pour Ligne du haut ET Colonne de gauche :​

Image.jpg


j'ai fait ces 3 essais :

1) avec les 2 cases à cocher cochées, comme indiqué sur l'image : étiquette "prix" seulement, pas étiquette "référence" ; somme : ok.

2) avec seulement "Ligne du haut" cochée : y'a les 2 étiquettes, mais la somme n'est pas faiteéchec de la consolidation.

3) avec seulement "Colonne de gauche" cochée : étiquette "référence" seulement, pas étiquette "prix" ; somme : ok.

donc si on utilise la méthode "Consolider", il vaut mieux utiliser 1) ou 3) quitte à devoir saisir l'étiquette manquante, mais ne pas utiliser 2)

comme devoir saisir l'étiquette manquante est juste un p'tit inconvénient, j'ai quand même mis un "J'aime" sur ton post #4. :) (après tout, il s'agit juste d'une petite finition à faire)

mais ma méthode par un code VBA est quand même pas mal si on veut aussi trier les données selon la colonne "référence". ;)

soan
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
284
Réponses
10
Affichages
404

Statistiques des forums

Discussions
315 124
Messages
2 116 476
Membres
112 753
dernier inscrit
PUARAI29