Décomptes multiples

Salut Dan,

Merci pour ta nouvelle proposition.

A un certain moment, tu m'avais indiqué que d'agrandir la hauteur des lignes était assez simple. Je trouve cette solution absolument suffisante - comme je te l'ai indiqué dans mon dernier message - vu le nombre de fois où ça sera nécessaire de l'utiliser (1 à 2 % des cas ?).

Dans de tels situations, ça ne serait alors finalement pas grave qu'un décompte soit coupé en deux, pourvu que ça ne le soit pas d'une manière absolument bizarre, comme démontré dans le dernier fichier que j'ai joint.

Pourquoi alors ne pas en rester à ton idée du 28 janvier :

Nad-Dan a écrit :

........ par contre augmenter la hauteur des lignes ne posera pas de problème.

A te relire.

re,

A un certain moment, tu m'avais indiqué que d'agrandir la hauteur des lignes était assez simple. ....

Effectivement, j'avais pensé que tu pourrais faire cela manuellement en utilisant l'aperçu avant impression puis je me suis demandé si un code ne pouvait pas faire l'affaire aussi.

C'est réalisable mais assez difficile car il faut repérer où le saut de page se trouve et s'il ne se trouve pas dans un décompte, puis créer les suats de page en fonction.

Au final et vu le nombre de cas dont tu parles, il me semble que le plus simple serait de te mettre en affichage "aperçu des saute de page" et de là les regler à l'aide du pointeur de la souris. C'est très efficace et ce, d'autant qu'excel adapte les marges et sauts de page suivant le type d'imprimante utilisée (qui n'est pas toujours la même...)

A te relire sur ce sujet

Dan

Salut Dan et merci pour tes propositions,

Nad-Dan a écrit :

Au final et vu le nombre de cas dont tu parles, il me semble que le plus simple serait de te mettre en affichage "aperçu des saute de page" et de là les régler à l'aide du pointeur de la souris.

Entièrement d'accord. Si tu pouvais encore effectuer cette dernière modification, ce serait génial.

Bonne soirée.

Re,

essaie ce petit code en l'affectant un bouton.

Le code va faire la mise en page de sorte que toutes les données soient prêtes à être imprimées.

Vu qu'excel mets les sauts de page automatiquement à la fin d'une page, s'il y a un saut existant, tu le verras à l'aperçu. Il te restera à règler manuellement avec la souris pendant quelques secondes de manière à ajuster les sauts de page où tu les veux sur ta feuille lors de l'impression

Sub apercu()
'Macro par Dan pour Yvouille le 4/2/2010
Dim pause As Variant, start As Variant
Wiht ActiveSheet
    .ResetAllPageBreaks
    .PageSetup.PrintArea = "A1:G" & Range("A65536").End(xlUp).Row
End With
ActiveWindow.View = xlPageBreakPreview
start = Timer()
pause = 7 ' pour 7 sec
Do While Timer() < start + pause
DoEvents
Loop
ActiveWindow.View = xlNormalView
End Sub

Amicalement

Dan

Salut Dan,

Je t'avais dis qu'il ne manquait presque plus rien pour que ce travail soit parfait. C'est chose faite avec le dernier code que tu m'as proposé ; c'est une très bonne solution. Ce fichier répond maintenant à toutes mes attentes et je te promets que j'en suis très content.

Merci infiniment pour ton aide.

Avec mes meilleures salutations.

Bonjour,

Je me vois obligé de rouvrir ce fil.

Si le fichier créé au cours des discussions ci-dessus nous a donné entière satisfaction pendant plusieurs mois, nous nous sommes rendu compte à l’utilisation qu’il serait bien qu’il offre une possibilité complémentaire.

En effet, s’il était tout d’abord prévu que l’on puisse cacher les décomptes non utilisés - et Dan avait alors utilisé à cet effet ; je crois, le total de chaque décompte afin de voir s’il était différent de 0 - on n’avait pas pensé qu’un décompte pouvait quand même devoir être visible malgré un total de 0.

Une démonstration sera plus utile qu’un grand discours ; je joins donc mon fichier en cours d’utilisation avec l’indication du problème (le mot de passe est asdf).

Merci d’avance pour votre aide.

7demo.zip (27.52 Ko)

Bonjour,

Tu devrais décocher le résolu !

Bonne journée

Claude

Merci Claude pour ton conseil.

Salut

Bonsoir,

Si j'ai bien compris ta demande, il faut que dans la macro "decompte", tu désactives la ligne ci-après

Range("decompte" & i).EntireRow.Hidden = True

Bien dommage d'ailleurs si c'est cela car j'avais tout de même dû chercher pour trouver cette astuce...

A te relire

Salut Dan,

Non, grâce au ciel, ta ligne de code n’est probablement pas à jeter

Lorsque je désactive cette ligne tel que tu me l’indiques, tous les "décomptes" présentant un total de 0.00 ne sont pas cachés, même s’ils sont vides. Par contre, dans le récapitulatif dès la ligne 48, seuls les décomptes présentant un total différent de 0.00 sont repris.

Mais j’aurais voulu que seul le décompte 2, intitulé dans mon exemple « Rente 2 », soit visible en plus des décomptes 1 et 3, puisque justement il n’est pas vide, bien que présentant un total de 0.00. Dans mon fichier exemple, j’avais précisé : « Comme une indication est donnée dans le décompte intitulé "Rente 2", il ne faudrait pas qu'il soit masqué comme il l'est [actuellement] lorsque l'on clique sur "Montrer uniquement les calculs utilisés" et ceci malgré que son total est de 0.00. »

Dans le récapitulatif au fond, il serait par contre intéressant qu’un tel décompte - non vide, mais présentant un total de 0.00 - soit également visible.

Merci déjà pour ton aide et à la prochaine.

Re,

En gros, dans le fichier que tu as posté, tu voudrais que la plage "rente2" reste visible et aussi la ligne "Rente2" dans la plage "Récapitulatif" ?

A te relire

Oui

Re,

remplace la macro "décompte" par celle ci-après :

Sub decompte()
'Macro Dan pour Yvouille le 22/01/2009
Dim lig As Integer, i As Integer
Dim lgdcpte As Byte
Dim j As Byte
Application.ScreenUpdating = False
Call montre
With ActiveSheet
lig = .Cells.Find("*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
If Range("G" & lig) = 0 Then End
    .Unprotect ("asdf")
For i = 5 To 1 Step -1
    lig = lig - 1
    Select Case Range("G" & lig)
        Case Is = 0
        If IsEmpty(Range("A" & (Range("decompte" & i).Row + 2))) Then
        Range("decompte" & i).EntireRow.Hidden = True
        Rows(lig).Hidden = True
        Else: Rows(lig).Hidden = False
        End If
        j = j + 1
        Case Is <> 0
        If j = 4 Then Range("Recap").EntireRow.Hidden = True
    End Select
Next
    .Protect ("asdf")
End With
End Sub

A te relire

Salut Dan,

En plein dans le mille ; c'est absolument parfait comme ça !

Merci beaucoup pour ton aide et bonne fin de journée.

Rechercher des sujets similaires à "decomptes multiples"