Macro qui suprime un doublon et additionne les quantité

Résolu/Fermé
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 30 déc. 2020 à 15:04
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 6 janv. 2021 à 18:23





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.
A voir également:

4 réponses

M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299
30 déc. 2020 à 20:18
Re,
Faudrait peut -être savoir lequel
Comme il n'y avait qu'une image pour la demande!!
1
M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299
30 déc. 2020 à 17:31
Bonjour,
A tester avec cet exemple
https://mon-partage.fr/f/WvvzMu1Q/
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
6 janv. 2021 à 18:23
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.
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
30 déc. 2020 à 19:04
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.
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
30 déc. 2020 à 21:38
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.
0