Bonjour à tous ! J'en appel encore à votre savoir(promis dès que j'arriverais à faire fonctionner mon fichier je me mettrais à aider les gens !
)
Voilà j'ai la macro ci dessous qui, dans un premier temps, m'insère dans la colonne T et U une formule pour les lignes où en B il y à le mot "Total" à gauche sur l'ensemble des feuilles concernées (du 12e au dernier). Cela fonctionne très bien.
Dans un second temps, la macro est censé me faire un total de toutes les lignes (dans les colonnes T et U) où en B il y à le mots "Total" à gauche sur les mêmes feuilles. C'est là que le bât blesse...
En fait la Macro va bien faire le "Total des sous totaux" sur la feuille n°12 mais sur la feuille n°13 elle va faire le "Total des sous totaux" + le total de la feuille n°12, etc...
Ci dessous la Macro en question, et je vous mets en pièce jointe le fichier :
Désolé encore si je m'exprime mal, demandez et je tenterais de faire mieux !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Sub Total() Dim LastLig As Long, Deb As Long, Fin As Long Dim T As Double, U As Double Dim Prem As String Dim c As Range For I = 12 To Sheets.Count With Sheets(I) LastLig = .Cells(.Rows.Count, 1).End(xlUp).Row Set c = .Range("B2:B" & LastLig).Find("Total*", LookIn:=xlValues, lookat:=xlPart) Deb = 2 If Not c Is Nothing Then Prem = c.Address Do Fin = c.Row - 1 .Range("T" & Fin + 1).Formula = "=SUMIF(E" & Deb & ":E" & Fin & ",""<>"",T" & Deb & ":T" & Fin & ")" .Range("U" & Fin + 1).Formula = "=SUM(U" & Deb & ":U" & Fin & ")" Deb = Fin + 2 T = T + .Range("T" & Fin + 1) U = U + .Range("U" & Fin + 1) Set c = .Range("B2:B" & LastLig).FindNext(c) Loop While Not c Is Nothing And c.Address <> Prem End If .Range("T" & LastLig).Resize(, 2) = Array(T, U) End With Next I End Sub
Encore merci d'avance pour ceux qui voudrons bien m'aider![]()
Partager