Fusionner des cellules et additionner leurs contenus

Imperium

XLDnaute Junior
Bonjour !

Et oui, je continue sur ma lancée dans ma demande d'aide, bossant sur le même document ;)

Ma connaissance sur les macro est limitée (je sais réaliser des macros simples), et je ne suis donc pas capable de réaliser celle qui va suivre.

Le contexte :

Une feuille avec un tableau de plusieurs colonnes avec tout plein de lignes.

Mon but : Fusionner des lignes qui ont le même contenu pour certaines colonnes (contenu écrit), et additionner le contenu chiffre des colonnes restantes sur la même lignes.

Ok, c'est dur à comprendre, mais en gros voilà ma condition que j'aimerai avoir dans ma macro :

Si sur ma feuille, deux lignes ont le même contenu pour les cellules des colonnes A B C D E et J, alors les fusionners, et additionner F G H L N de ces deux lignes.

Je suis pas clair ? Un exemple pratique (les refs sont plus les mêmes)

--------A------B-------C-------D----E--------F
1-------ballon--or----pierre-----8----4--------3

2-------ballon--or----pierre-----6----2--------0


Avec la macro j'aimerai obtenir, si et seulement si A B et C ont des contenus similaires :

--------A------B-------C-------D----E--------F
1------ballon--or----pierre-----14----6--------3



Ce serait absolument génial ! J'ai joint le fichier excel que je veux traiter pour plus de simplicité !

Merci énormément d'avance.
 

Pièces jointes

  • Exemple.xls
    14.5 KB · Affichages: 337
  • Exemple.xls
    14.5 KB · Affichages: 368
  • Exemple.xls
    14.5 KB · Affichages: 378
Dernière édition:

mikado92250

XLDnaute Nouveau
Re : Fusionner des cellules et additionner leurs contenus

Félicitation tototiti2008, cette macro fonctionne a merveille, elle est très simple et absolument efficace.
Je reçois tous les mois 4000 lignes de ventes en magasin, avec les coordonnées + quantités vendues sur mes produits.
Jusqu'à présent j'avais mes doublons de qtés même produit, et grace à vous, je peux fusionner mes lignes.
Je gagne un temps fou, surtout que je fais 8 fois ce même travail avec des chaines de magasin différentes...

Merci pour cette macro, je ne connaissais pas les "And" pour les valeurs !!!
:)
 

AnneMa

XLDnaute Nouveau
Re : Fusionner des cellules et additionner leurs contenus

Bonjour,
j'ai un tableau avec plusieurs colonnes et plusieurs lignes : Je veux fusionner des lignes en additionnant le contenu des cellules
Je cherche à mettre en place une macro qui va comparer ma première ligne à toutes les lignes restantes si elle trouve des similitudes dans certaines cellules elle doit additionner le contenu des cellules que je vais lui indiquer et ainsi de suite jusqu à la dernière ligne

Je mets en attaché le fichier sur lequel je fais des tests


Merci d avance
 

Pièces jointes

  • Test.xlsx
    11 KB · Affichages: 288
  • Test.xlsx
    11 KB · Affichages: 330
  • Test.xlsx
    11 KB · Affichages: 343

miliev83

XLDnaute Occasionnel
Re : Fusionner des cellules et additionner leurs contenus

Bonjour,
Je souhaite adapter la macro du fichier exemple(1).xls‎ mais mon tableau commence en* ligne 1 (titres) et les données commencent à la ligne 2 avec un nombre lignes variables.

Comment adapter la macro à mon tableau ?

Merci par avance
 

Pièces jointes

  • fusionner doublon et additionner contenu.xlsm
    21.8 KB · Affichages: 244
Dernière édition:

klin89

XLDnaute Accro
Re : Fusionner des cellules et additionner leurs contenus

Bonsoir miliev83,

Tu aurais dû ouvrir une nouvelle discussion :rolleyes:
A tester en s'appuyant sur les données de la 2ème feuille de ton classeur.
VB:
Option Explicit

Sub test()
Dim a, i As Long, j As Long, n As Long, txt As String
    a = Sheets(2).Range("a1").CurrentRegion.Value
    n = 1
    With CreateObject("Scripting.Dictionary")
        For i = 2 To UBound(a, 1)
            txt = Join(Array(a(i, 1), a(i, 2), a(i, 3), a(i, 4), a(i, 5), a(i, 10)), Chr(2))
            If Not .exists(txt) Then
                n = n + 1: .Item(txt) = n
                For j = 1 To UBound(a, 2)
                    a(n, j) = a(i, j)
                Next
            Else
                a(.Item(txt), 6) = a(.Item(txt), 6) + a(i, 6)
                a(.Item(txt), 7) = a(.Item(txt), 7) + a(i, 7)
                a(.Item(txt), 8) = a(.Item(txt), 8) + a(i, 8)
                a(.Item(txt), 12) = a(.Item(txt), 12) + a(i, 12)
                a(.Item(txt), 14) = a(.Item(txt), 14) + a(i, 14)
            End If
        Next
    End With
    With Sheets.Add().Cells(1).Resize(n, UBound(a, 2))
        .Value = a
        .Font.Name = "calibri"
        .Font.Size = 10
        .VerticalAlignment = xlCenter
        .BorderAround Weight:=xlThin
        .Borders(xlInsideVertical).Weight = xlThin
        With .Rows(1)
            .BorderAround Weight:=xlThin
            .Interior.ColorIndex = 36
        End With
        .Columns.AutoFit
    End With
End Sub
klin89
 
Dernière édition:

miliev83

XLDnaute Occasionnel
Re : Fusionner des cellules et additionner leurs contenus

Merci pour ta réponse cela donne le résultat attendu, mais étant donné que j'ai d'autres macro qui tourne sur ce même onglet, il faut que la fusion se fasse directement sur la feuille... Je vais suivre ton conseil et fermer ce post
 

de belder

XLDnaute Nouveau
Bonjour à Tous,

je suis petit nouveau et donc mes excuse si je ne suis pas toujours la bonne procédure.

j'ai aussi un tableau de +/- 1000 lignes la première donnée est en A5 et la dernièreJ953.
Quand j'utilile les Macro ci-dessus mon tableau se trie jusque +/- la ligne 48 et puis plus rien. Dans la formule du macro qu'est ce que je dois changer pour que tout le tableau se trie.
Les colonnes A et B contiennent des données en lettre qui sont identique, la colonne C les abreviation pays BE-DE-FR-IT-etc;; la colonne D les adresses qui sont en doublons assez souvent, iem pour la E et de Fà j ce sont des données chiffrées?

Merci
 

Discussions similaires

Réponses
8
Affichages
444