Fusion de ligne selon conditions

Bonjour,

J'essaye actuellement d’additionner des cellules (en colonnes) selon des conditions (en lignes) :

Dans la colonne B, j'ai des quantités. Dans la D et la F, j'ai deux informations (une réf et une remarque). Je voudrais, que dans le cas ou il y a plusieurs fois la même référence avec la même remarque, mes quantités s'additionnent.

Il faut du coup que je passe de 3 lignes de même réf et même remarques avec différents quantités, à 1 ligne avec la réf, la remarque (et le reste) mais avec le total des quantités.

J'ai essayé de bidouiller plein de trucs mais je ne trouve rien (je suis pas un expert en macro il faut dire..) Je vous laisse une copie du tableau en question.

Merci d'avance

13dt.xlsx (10.06 Ko)

Bonjour,

Voici en feuil2 un exemple sur ton fichier.

Appuies sur GO pour effectuer ce que tu souhaites

A voir si ça convient

56copie-de-dt.xlsm (25.64 Ko)

Bonjour,

C'est effectivement ça que je cherche a faire ! Merci

Par contre, il y a dans mon tableau la réf "412 + gravure". Dans les marquages il y a une différence de base. Est ce possible de séparer les réf dans les cas ou la remarque n'est pas la même svp ?

Merci

Bien sur que c'est possible.

Dans un premier temps, as tu déjà regardé le code fournit pour arriver à faire cette fusion et le comprends tu ?

Oui, je ne connais pas trop les macros mais je comprends la logique et les étapes de ton programme

Je suis en train de l'incorporer dans le vrai tableau mais je dois me tromper dans le changement de cellule car ca ne marche pas ^^'

Petite explication du code pour adapter Dis moi si tu y arrives

Sub supDoublonsTotal()
  [B2].CurrentRegion.Sort , key1:=[B2], Header:=xlYes 'Tri de la colonne B
  ligne = 2 'numéro de ligne où va démarrer la fusion de lignes. Ici la 2 car la ligne 1 correspond aux entêtes de ton tableau.
  Do While Cells(ligne, 2) & Cells(ligne, 3) <> "" 'la on boucle sur les colonnes 2 et 3 (pour la ligne2) qui vont servir de critères.
     If Cells(ligne, 2) & Cells(ligne, 3) = Cells(ligne + 1, 2) & Cells(ligne + 1, 3) Then 'là on compare les colonnes 2 et 3 de la première ligne avec celle du dessous. Si le résultat est le même après comparaison, on passe à l'étape suivante.
        Cells(ligne, "a") = Cells(ligne, "a") + Cells(ligne + 1, "a") 'là on additionne les chiffres de la colonne a si la comparaison précédente est bonne
        Rows(ligne + 1).Delete 'on supprime la ligne du dessous après addition
     Else
        ligne = ligne + 1 'si la condition n'est pas bonne on passe à la ligne suivante
     End If
  Loop
End Sub

Ok c'est bon ça marche. Je n'avais pas compris que les chiffres 2 et 3 étaient des colonnes. J'ai juste eu à remettre les valeurs équivalentes à mon tableau

Parfait !

Te reste plus qu'à ajouter la troisième condition pour tes marquages en colonne E tu auras résolu ton problème.

Si besoin voilà l'ajout de la 3ème condition.

Sub supDoublonsTotal()
  [B2].CurrentRegion.Sort , key1:=[B2], Header:=xlYes
  ligne = 2
  Do While Cells(ligne, 2) & Cells(ligne, 3) & Cells(ligne, 5) <> ""
     If Cells(ligne, 2) & Cells(ligne, 3) & Cells(ligne, 5) = Cells(ligne + 1, 2) & Cells(ligne + 1, 3) & Cells(ligne + 1, 5) Then
        Cells(ligne, "a") = Cells(ligne, "a") + Cells(ligne + 1, "a")
        Rows(ligne + 1).Delete
     Else
        ligne = ligne + 1
     End If
  Loop
End Sub

Si tout est ok pour toi, oublies pas de mettre le sujet en résolu

Et du coup j'ai réussi a rajouter mon histoire de changement de marquage ! Suffit juste de rajouter &Cells(ligne,6) après les autres

Merci beaucoup pour ton aide !

Edit : Merci quand même d'avoir fait le suite, on était presque synchro :p Merci beaucoup encore une fois

De rien et bonne continuation !

Oublies pas d'appuyer sur le bouton "résolu" de ton sujet

Rechercher des sujets similaires à "fusion ligne conditions"