Insertion automatique d'une lignes avec sommes sur Excele

dameghar -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Je souhaite insérer une ligne automatique (via macro) avec une formule de somme dans la case E par exemple. j'explique, j'ai des écritures comptables sens débit (presque 20000 lignes) et je veux après chaque 400 lignes ajouter une ligne vides avec la somme des 400 précédent, voir exemple ci-dessous

JOURNAL DATE NPIECE COMPTE TIERS LIBELLE DEBIT
TVA 18/01/2015 1 445500020 DECLARATION TVA 01/2015 90,20
TVA 18/01/2015 1 445500020 DECLARATION TVA 01/2015 246,76
TVA 18/01/2015 1 445500020 DECLARATION TVA 01/2015 1 887,76
TVA 18/01/2015 1 445500020 DECLARATION TVA 01/2015 658,90
TVA 18/01/2015 1 445500020 DECLARATION TVA 01/2015 82,80
...20000 lignes

Je suis null sur VB, merci pour votre aide

2 réponses

  1. Theo.R Messages postés 585 Statut Membre 31
     
    Bjr, Essayez :
    Sub test()

    Dim DernLigne As Long
    DernLigne = Range("A" & Rows.Count).End(xlUp).Row 'la colonne A doit être non vide pour déterminer le nb de lignes
    Dim n, m, i, k As Long

    n = 3 'le nombre de lignes dans un groupe à sommer, remplacer par 400 pour votre cas

    m = DernLigne / n 'nb de sommes à calculer en tout, il faut que le document soit bien composé d'un multiple de n de lignes

    For i = 5 To 1 Step -1

    k = 3 * i + 1

    Rows(k).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Cells(k, 5).FormulaLocal = "=SOMME(E" & k - 3 & ":E" & k - 1 & ")" 'la somme se met en E:E
    Next i

    End Sub
    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    es tu sûr d'avoir besoin d'une macro ?
    En ligne 401 collonne F
    = somme(E2:E401)
    puis tu selectionnes la plage F2:F401 que tu tires jusqu'à la fin du fichier
    RQ. ça n'insere évidemmment pas de lignes

    Sinon avec macro (changer la taille du paquet : j'ai mis 10)
    http://www.cjoint.com/c/FBDnizSnjpg

    Cdlmnt
    0