Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

sous-total en fin de page et report nouvelle page

  • Initiateur de la discussion Initiateur de la discussion news
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

news

XLDnaute Impliqué
Bonjour à tous du forum,

j'ai besoin d'uen expression, module comment faire sous-total en fin de chaque page,

la fonction "sous-total", en sélectionannatn dans Données
puis séelctionner Sous-totaux
n'est pas applicable comme ne doivent pas figurer tel sur le WorkSheet que pour chaque changment de numéro dans column ("A2:A") il est marqué sous-total et puis le sous-total ne sera pas juste lorsqu'on fait sous-total report
pour chque page, il y aura une fférence du montant total,

ayant repris des expressions de modules existants de sous-totaux dans un forum, je l'ai modifié et adapté un peu,
mais comme pour les terminologies dim, set, Cells(2, Cpb.Row - 1) & ":J" & Last & ")" je ne connais pas trop,
j'ai des bug et que le module ne fonctionne pas correctement.

j'ai mis les explications des bug et des vba ne fonctionnant pas
dans le fichier Excell ("soustotal") du WorkSheet ("comments"),

il n'y a pas de zipfile, comme le programme winzip ne focntionne pas correctement et on ne peut pas ouvrir les fichiers ziippés, j'ai mis le fichier au lien suivante:



peut-être vous connaissez des astuces, meilleurs expression pour debug ceci,

merci d'avance de réponses éventuelles,

news
 
Re : sous-total en fin de page et report nouvelle page

Bonsoir,

merci Spitnolan08 pour réponse,

le lien indiqué c'est le fichier que j'ai repris, parce que je le trouve bien fait
et qu'il fait des reports du total des montants sur la page suivante,

je l'ai adapté à mon WorkSheet, mais comme le nombre de column a changé et ainsi qu'il y a plus de sous-total à faire sur des column,

je n'ai peut-être pas bien modifé les expressions existants et j'ai un bug dans
l'expression suivante et je ne sais pas comment résoudre parce que les divers expressions utilisées je ne comprends pas tellement bien:

'***Partie 4 : Affichage du total bas de page

Last = Range("A" & Application.Rows.Count).End(xlUp).Row
If Cells(Last, "A") <> "Total Général" Then
Cells(Last, "A").EntireRow.Insert (xlShiftDown) '**Permet d'étendre la zone d'impression
Range(Cells(Last + 1, "A"), Cells(Last + 1, "M")).Copy (Cells(Last, "A"))
Cells(Last + 1, "A").EntireRow.ClearContents
Cells(Last + 1, "A") = "Total Général"




' ********** la macro ne continue plus ici, me fait un bug ci-dessous:
😕
Cells(Last + 1, "J") = "=SUM(J" & WorksheetFunction.Max(9, Cpb.Row - 1) & ":J" & Last & ")"
Cells(Last + 1, "K") = "=SUM(K" & WorksheetFunction.Max(9, Cpb.Row - 1) & ":K" & Last & ")"
Cells(Last + 1, "L") = "=SUM(L" & WorksheetFunction.Max(9, Cpb.Row - 1) & ":L" & Last & ")"
Cells(Last + 1, "M") = "=SUM(M" & WorksheetFunction.Max(9, Cpb.Row - 1) & ":M" & Last & ")"

With Range(Cells(Last + 1, "A"), Cells(Last + 1, "M"))
.Interior.ColorIndex = 45
.Font.Bold = True
End With
End If

End Sub

de même ne fonctionne pas la vba de la sélection des cells à imprimer
de (A1:M)

également j'ai besoin dans column(M:M)
une vérification de solde de (J) moins (K) pour le même No. dans column (A:A),
je ne sais pas comment ajouter une telle expression que vérifie le solde, en tenat comtpe de toutes les lignes ayant le même numéro sosu column (A:A),

il n'y a pas de zipfile, comme le programme winzip ne focntionne pas correctement et on ne peut pas ouvrir les fichiers ziippés, j'ai mis le fichier Excell avec les expressions modifiés du module Comptes-3, au lien suivante:




merci d'avance pour d'éventuelles ajoutes et modifications d'expressions, afin que le module fonctionne correctement,
 
gestion sauts de pages et vérification du solde des montant du même No. sous column A

bonsoir Spitnolan08 et à tous de ce forum Ecell,

quelques bug j'ai trouvé,

bug est avec le layout, gestion des sauts de pages,
dans le fichier, lien ci-dessous:

le bug est ci-dessous:

Cells(Cpb.Row - 3, "J").Formula = "=SUM(J2:J" & Cpb.Row - 4 & ")"
Cells(Cpb.Row - 3, "K").Formula = "=SUM(K2:K" & Cpb.Row - 4 & ")"
Cells(Cpb.Row - 3, "L").Formula = "=SUM(L2:L" & Cpb.Row - 4 & ")"
Cells(Cpb.Row - 3, "M").Formula = "=SUM(M2:M" & Cpb.Row - 4 & ")"

je ne trouve pas comment résoudre ceci, 🙁
Je veux demander ce que ceci veut dire ?:

Set Cpb = ActiveSheet.HPageBreaks(i).Location
Cells(Cpb.Row - 3, "K").Formula = "=SUM(K2:K" & Cpb.Row - 4 & ")"

"K" = toute la column K

ce que veut dire : Row - 3 😕
et puis : Row - 4 & ")" 😕

est-ce que ceci veut dire mise en page, combien de marge sur chaque page ?

le fichier modifié est au lien suivant:


le bug des sous-totaux et de la plage à imprimer j'ai résoud,
manque encore comme descrit le bug ci-dessus
et de faire sous-total au column (M), d'avoir une vérification de solde de (J) moins (K) pour le même No. dans column (A:A),
je ne sais pas comment ajouter une telle expression que vérifie le solde, en tenant compte de toutes les lignes ayant le même numéro sous column (A:A),

bonne soirée encore,
et merci pour les courageux de trouver des expressions pour que le module fonctionne correctement,
 
Re : sous-total en fin de page et report nouvelle page

Re,

Je regarde et te réponds quand j'ai trouvé mais apparemment tu n'as pas utilisé la dernière version que j'ai posté.
Le bug de ta version provient, à priori, du fait que tu n'as pas de saut de page et que ce cas n'était pas traité sur celle version.

Cordialement
 
Re : sous-total en fin de page et report nouvelle page

Re,

voir le fichier joint qui devrait répondre à toutes tes attentes exprimées.
A tester.
Pour les explications, si tu en souhaites, on verra plus tard...

Bonne nuit
Cordialement
 

Pièces jointes

Re : sous-total en fin de page et report nouvelle page

Bonjour Spitnolan08 et à tous de ce forum Excell,

vraiment cool, tellement d'ajoutes faites,
j'ai scrollé un peut dans les expressions, les modifications faites,

je ne comprends pas tellement,
comme certaines expressions de programmations vba je ne connais pas, ne comprends pas,

merci Spitnolan08, pour les modifications faites,
 
Re : sous-total en fin de page et report nouvelle page

Re,

Content que ça te plaise, j'espère surtout que ça répond vraiment à ta problématique.
J'ai pensé à de petites améliorations cette nuit :
- Les réf de tes articles (Colonne A) peuvent être constituées par tous types de saisie (Texte, nombre...)
- J'ai remplacé ta mise en forme conditionnelle pour le pyjama : elle est désormais intégrée au code.
Teste et dis nous.
Pour les explications précise tes questions et je tâcherais d'y répondre.
(Nota : je ne parles pas le portuguais😉 (si je ne me trompe pas), dommage...)

On peut également remplacer dans la sub Verif l'utilisation de la méthode Find par une solution de comptage des occurences en utilisant une worksheetfunction mais je ne l'ai pas adapté.

Cordialement
 

Pièces jointes

Re : sous-total en fin de page et report nouvelle page

Bonjour à tous de ce forum Excell,

merci Spitnolan08 pour ta réponse et des ajoutes faites,

je me suis mis à vérifier et mettant différents exemples,

ce n'est pas si évident le tout, et cela prend le temps,
j'ai refait certaines ajoutes,
mais des bug, des expressions restants à être développés,

surtout ralenti énormement c'est l'expression "Sub Verif", en vérifiant si le nombre change dans column A:A et d'y vérifier les totaux,
j'ai même du plusieurs fois avec le Task Manager de fermer la tache, car rien avancé,
et comment serait-il avec 4500 lignes ou 9500 lignes 😕
j'ai déactivé cette expression provisoirement,

j'ai mis dans WorkSheet"infos" les différents aspects que j'ai trouvé
et peut-être qn. a des astuces ou comment améliorer encore les expressions afin que le programme foctionne correctement,

le nouveau fichier Excell avec les ajoutes, modifications j'ai mis au lien suivant:



je n'ai pas mis comme avec zip a file, cela ne fonctionne pas, du aux problémes avec le logiciel winzip que j'ai ( et il y a plus de 50 Ko même en zip-file )

merci d'avance des réponses éventuelles,
 
Re : sous-total en fin de page et report nouvelle page

Re,
je me suis mis à vérifier et mettant différents exemples,
ce n'est pas si évident le tout, et cela prend le temps,
😕 Comme pour tout le monde... mais l'application est pour toi!😎 Tu crois peut être que je t'ai mis le code en un claquement de doigt!! et que je n'ai rien testé?!!?
Effectivement, il y avait un bug car le code n'appréciait pas les lignes uniques et bouclait sur lui même dans ce cas. En inversant la position du While (en le mettant après Loop au lieu de Do), ça fonctionne...😀
Code:
                Do 'While C.Value = Ref And C.Row <> i
                    DerRef = C.Row
                    Set C = .FindNext(C)
                Loop While C.Value = Ref And C.Row <> i
J'ai fait un test sur 1600 lignes avec des groupes de 2 lignes par N° de référence (Ce qui est énorme) et le code original tourne impec en moins de 11 secondes (Quand même... mais impec)

J'ai également fait un essai en supprimant la recherche Find en la remplaçant par une worksheetfunction : ça fonctionne également mais avec le même temps.

Cordialement
 
Dernière édition:
Re : sous-total en fin de page et report nouvelle page

Re,
si Range (A) est vide, il n'y a pas de Numéro, mais se trovuent quand même des montants dans Range(J,K,L) alors ces montants ne sont pas inclus dans le sous-total et total, voir exemple WorkSheet(GL, si Range A est vide)
C'est normal, dans le principe une ligne doit avoir une référence pour être prise en compte. Pas de N° de ref pas de ligne... donc toutes valeurs saisies sur cette ligne apparaissent après total général.
Sinon c'est le bordel!😱

Le reste des commentaires, je ne comprends pas...
Cordialement
 
Re : sous-total en fin de page et report nouvelle page

Re,
Dans la sub verif, il faut modifier cette ligne pour éviter une erreur de totaux sur les 3 dernières lignes dans le cas d'une dernière ref n'ayant qu'une ligne. En effet dans ce cas la référence relative impérative pour les autres lignes ne convient plus :
Code:
Cells(DerRef, "M").Formula = "=SUM(J$" & i & ":J" & DerRef & ")-SUM(K$" & i & ":K" & DerRef & ")"
en la remplaçant par
Code:
Cells(DerRef, "M") = WorksheetFunction.Sum(Range(Cells(i, "J"), Cells(DerRef, "J"))) - WorksheetFunction.Sum(Range(Cells(i, "K"), Cells(DerRef, "K")))
ou bien par
Code:
For n = i To DerRef
     CalcVerif = CalcVerif + Cells(n, "J").Value - Cells(n, "K").Value
Next
Cells(DerRef, "M") = CalcVerif
Cordialement
 
Re : sous-total en fin de page et report nouvelle page

Bonsoir Spitnolan08 et à tous du forum Excell,

merci encore d'avoir répondu et remis tes commentaires et les modifications,

j'ai ajouté l'expression ci-dessous au vba de ce fichier Excell et rien d'autres j'ai changé.

Do 'While C.Value = Ref And C.Row <> i
DerRef = C.Row
Set C = .FindNext(C)
Loop While C.Value = Ref And C.Row <> i

en relancant la macro, je reçois bug dans (Sub Tri) avec message (variable de boc With non définie), Plage.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal


pour que quand même ces montants seront mis, mêmes s'îl n'y pas de référence dans une ligne, d'y mettre une recherche de lignes vides dans column (A), avant que l'expression "Sub Tri" est effectué, que d'abord il y a une recherche de références vides dans column A:
Range("A26").Select
ActiveCell.FormulaR1C1 = "=COUNTBLANK(R[-24]C:R[-2]C)"

je ne sais pas si cette expresion mise est juste, focntionne ? )
dès trouvé Range(A) vide, que le curser se met sur cette position de Range (A) vide ( qu'on peut vérifier et y mettre une réfrencde, un numéro ), puis continue la recherche de Range vides dns column(A). S'il n'y a plus de lignes
vides, lance l'expression "Call Tri" et "Call Vérif".

est-ce possible de mettre le texte de Sous-Total et de Total général sous
column (I) et avec le format suivant: .HorizontalAlignment = xlRight
.VerticalAlignment = xlCenter


En clicquant sur le bouton "sous-total" est lancé l'expression "Sub soustotal()" et les sous-totaux sont mis en bas de chaque page,
mais si on cliqué une 2e fois par erreur ou trop vite sur ce même bouton qui lance la marco "sous-totaux" , un autre bug était que le format de lignes, que la couleur de fond a changé. Comment résoudre ceci ?


d'y ajouter une expression/macro que de nouvelles lignes seront ajoutées directement (avec le même format MFC repris des lignes de row(2:2) du WorkSheet "GL(2)", toutes les 125 lignes [ dès que 125 lignes sont remplies par de données ].

  1. Lorsque les sous-totaux sont et le Total Général est mis,
  2. d'ajouter une expression/macro que les lignes vides en dessous du Total général seront supprimés et ajouter une expression/macro, de paste le format MCF de la 2e ligne("A2:N") sur toutes les autres lignes [ "$A$3:" & Range("N" & Application.Rows.Count).End(xlUp) ]

  1. Lorsque que le fichier Excell("soustotalNews05") est ouvert, d'y ajouter une expression/macro que directement 125 lignes [avec le format MCF repris de la 2e ligne sous WorkSheet GL(") ] seront ajoutés en dessous de la dernière ligne remplie [ Last = Range("A" & Application.Rows.Count).End(xlUp).Row + 1 ]

je ne sais pas si j'ai bien expliqué les divers ajoutes d'expression à effectuer,

merci d'avance pour réponse

cordialement,
 
Re : sous-total en fin de page et report nouvelle page

Re,

Ci joint 2 versions :
la 4.2 expérimentale qui utilise la fonction d'insertion automatique de sous totaux d'Excel
la 5.0 qui utilise mon code d'origine tenant compte des modifs annoncées.

Résultats des tests de rapidité que j'ai effectués :
Fichier de test : 1600 lignes avec des groupes de 2 lignes par N° de référence ce qui signifie des calculs de sous totaux toutes les 2 lignes en sus des sous totaux de bas de page.
Code utilisé : le code complet avec verif pour la 5.0
V 4.2 : 2 minutes 30 secondes
V 5.0 : 11 secondes

Conclusion : il n'y a pas photo...

Cordialement

Edit : pas vu le dernier message. Je n'ai pas rafraichi depuis mon dernier post...Je regarderais ça demain au plus tôt.
 

Pièces jointes

Dernière édition:
Re : sous-total en fin de page et report nouvelle page

Bonjour à tous du forum, à Spitnolan08

déjà répondu, 🙂
  1. Edit : pas vu le dernier message. Je n'ai pas rafraichi depuis mon dernier post...Je regarderais ça demain au plus tôt.

non, pendant ce temps j'avais remis un nouveau message hier et pas remarqué que pendant ce temps là, que tu as envoyé un nouveau message,

je me retrouve déjà plus avec les différentes versions de fichiers sosutotalNews établis, sur laquelle se trovue totue les mdofiications,

peut-être tu envoies une version avec totues les modifications,
dont je te remercie parce que pour moi c'pour établir ceci je ne sais pas telleemnt, c'es un pe udu chinois ou hindou, et là je me connais un peu mieux, 😀

बैंक, नकद राशि, मूल्यांकन की तुलना, पट्टादायी, टेलिफोन


il s'agit de terminolgies que j'utilse dans certaisn d'autres feuilles dans le ficheir de "SoustotalNews",

il y a tellement de fonts qu'on peut utiliser, dont nombreux j'ai upload dont
> Windows > fonts, pour que les écritures en hinou sont visibels sur Excell dont je dois scroller bien pour trouver un font aulieu de Arial ou Courrier, p.ex.

cordialement,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…