Macro qui suprime un doublon et additionne les quantité [Résolu]

Signaler
Messages postés
153
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
6 janvier 2021
-
Messages postés
153
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
6 janvier 2021
-





Bonjour,
Je débute dans le développement VBA et je suis bloqué ...
J'ai un tableau comme sur la premier image, ce tableau est trié selon le critère 1 puis le 3 grâce à d'autres macros.
J'aimerais trouver un doublon, le supprimer et que sa quantité soit additionner comme dans la photo 2.
Auriez vous des idée à ma proposer car je ne vois pas comment faire ....
Merci d'avance de votre aide.
Cordialement.

4 réponses

Messages postés
979
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
10 janvier 2021
199
Re,
Faudrait peut -être savoir lequel
Comme il n'y avait qu'une image pour la demande!!
Messages postés
979
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
10 janvier 2021
199
Bonjour,
A tester avec cet exemple
https://mon-partage.fr/f/WvvzMu1Q/
Messages postés
153
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
6 janvier 2021

Bonjour,
Je sais que la "question" est fermer mais je tente quand même le coup ...
J'essaie actuellement d’améliorer le code que vous m'avait donner ...
J'en suis à un point ou j'aimerais que le début de ma liste à trier soit modulable. Je veux dire que la lisre peut commencer en A6 puis en A36 puis en A100 ....
J'ai essayer les code suivant :



Sub supprimerDoublonTotauxTEMPORAIRE(nb As Integer)
Dim ligne%
Dim var
Let var = "A" & nb
Set rng2 = Worksheets("tableauRecap").Range(var)
'Worksheets("tableauRecap").[A6].CurrentRegion.Sort , Key1:=[rng2], Header:=xlYes


ligne = nb
Do While Cells(ligne, 1) <> ""
If Worksheets("tableauRecap").Cells(ligne, 1) = Worksheets("tableauRecap").Cells(ligne + 1, 1) And Worksheets("tableauRecap").Cells(ligne, 2) = Worksheets("tableauRecap").Cells(ligne + 1, 2) And Worksheets("tableauRecap").Cells(ligne, 3) = Worksheets("tableauRecap").Cells(ligne + 1, 3) And Worksheets("tableauRecap").Cells(ligne, 4) = Worksheets("tableauRecap").Cells(ligne + 1, 4) And Worksheets("tableauRecap").Cells(ligne, 6) = Worksheets("tableauRecap").Cells(ligne + 1, 6) And Worksheets("tableauRecap").Cells(ligne, 7) = Worksheets("tableauRecap").Cells(ligne + 1, 7) Then
Worksheets("tableauRecap").Cells(ligne, "E") = Worksheets("tableauRecap").Cells(ligne, "E") + Worksheets("tableauRecap").Cells(ligne + 1, "E")
Worksheets("tableauRecap").Cells(ligne, "G") = Worksheets("tableauRecap").Cells(ligne, "G") + Worksheets("tableauRecap").Cells(ligne + 1, "G")
Rows(ligne + 1).Delete
Else
ligne = ligne + 1
End If
Loop







Cepandant le [A6] de
 'Worksheets("tableauRecap").[A6].CurrentRegion.Sort , Key1:=[rng2], Header:=xlYes
ne peut pas être modifier de la manière suivant
[rng2]

Auriez vous une solution ?
Merci d'avance de votre réponse.
Cordialement.
Messages postés
153
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
6 janvier 2021

Bonjour,
As tu fais quelque chose de spéciale à tout fichier car quand je reprends sur ton fichier ça marche mais pas avec l'excel sur lequel je travail.
Merci d’avance de ta réponse.
Cordialement.
Messages postés
153
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
6 janvier 2021

Bonjour,
Pas de problème après plusieurs testes j'ai trouver d’où cela venais. C'est le trie qui ne se fait pas de la même manière dans votre fonction et mon premier tri. A cela s'ajoute des problèmes de format qu'ils faut au préalable supprimer... mais c'est bon j'ai trouver comment corriger tous ça !
Merci beaucoup de votre aide !!
Cordialement.