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



A voir également:

2 réponses

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
ccm81 Messages postés 11033 Statut Membre 2 433
 
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