Problème de boucle et VBA : Additionner des lignes [RESOLU]

JoeJoeH

XLDnaute Nouveau
Bonjour, je vais vous exposer mon problème en espérant que vous pourrez m'aider.
En fait, je dois faire une boucle dans un tableau de factures (listant tout les articles en colonne E de toute les factures en colonne F) et, sachant qu'une même facture contient plusieurs fois le même article, je dois additionner les lignes en doublon pour qu'il y ait au final une seule ligne par article par facture.

Je sais pas si c'est très clair, voici le code que j'ai pour l'instant et qui me donne une "Erreur d'exécution '-2147417848 (80010108)':
Erreur automation, l'objet invoqué s'est déconnecté de ses clients"

Voici le code :

Code:
    For m = 5 To lignefin2
        m = n
        Do While Range("E" & n).Value = Range("E" & n + 1).Value And Range("F" & n).Value = Range("F" & n + 1).Value
            Range("J" & n).FormulaR1C1 = Range("J" & n).Value + Range("J" & n + 1).Value
            Range("K" & n).FormulaR1C1 = Range("K" & n).Value + Range("K" & n + 1).Value
            Range("M" & n).FormulaR1C1 = Range("M" & n).Value + Range("M" & n + 1).Value
            Range("N" & n).FormulaR1C1 = Range("N" & n).Value + Range("N" & n + 1).Value
            Range("O" & n).FormulaR1C1 = Range("O" & n).Value + Range("O" & n + 1).Value
            Range("P" & n).FormulaR1C1 = Range("P" & n).Value + Range("P" & n + 1).Value
            Range("Q" & n).FormulaR1C1 = Range("Q" & n).Value + Range("Q" & n + 1).Value
            Range("R" & n).FormulaR1C1 = Range("R" & n).Value + Range("R" & n + 1).Value
            Range("S" & n).FormulaR1C1 = Range("S" & n).Value + Range("S" & n + 1).Value
            Rows(n + 1).Select
            Selection.Delete Shift:=xlUp
            n = n + 1
        Loop
    Next m

EDIT : J'ai aussi essayé avec .Value au lieu du .FormulaR1C1 mais ça ne marche pas non plus.

Je viens donc à nouveau chercher votre aide en espérant pouvoir résoudre ce problème ! Merci d'avance !
 
Dernière édition:

JoeJoeH

XLDnaute Nouveau
Re : Problème de boucle et VBA : Additionner des lignes

Bon ben j'ai eu la solution, je la poste pour les autres si jamais certains ont le même problème que moi.

Code:
  For n = lignefin2 To 5 Step -1
        If Range("E" & n).Value = Range("E" & n - 1).Value And Range("F" & n).Value = Range("F" & n - 1).Value Then
            Range("J" & n) = Range("J" & n) + Range("J" & n - 1)
            Range("K" & n) = Range("K" & n) + Range("K" & n - 1)
            Range("M" & n) = Range("M" & n) + Range("M" & n - 1)
            Range("N" & n) = Range("N" & n) + Range("N" & n - 1)
            Range("O" & n) = Range("O" & n) + Range("O" & n - 1)
            Range("P" & n) = Range("P" & n) + Range("P" & n - 1)
            Range("Q" & n) = Range("Q" & n) + Range("Q" & n - 1)
            Range("R" & n) = Range("R" & n) + Range("R" & n - 1)
            Range("S" & n) = Range("S" & n) + Range("S" & n - 1)
            Rows(n - 1).Delete Shift:=xlUp
        End If
    Next n
 

Statistiques des forums

Discussions
312 207
Messages
2 086 252
Membres
103 166
dernier inscrit
ZAHRAA