[VBA 2019] Impression d'un fichier en deux fois avec saut de page
2 réponses
ThierryP
Bonjour le forum, bonjour Denis :-)
En vue d'éditer des listes d'inventaire, je cherche Í imprimer un fichier Excel qui comporte en colonne E le nom des emplacements. Quand je trouve un emplacement précis, j'insère un saut de page. Jusque lÍ , pas de souci !!
Comme j'imprime une sortie agrafée, je voudrais pouvoir dire Í Excel d'imprimer une première partie (jusqu'Í mon emplacement précis), et d'imprimer la deuxième partie ensuite (pour avoir deux parties agrafées séparément)....... mais lÍ je séche !
Sachant que les hauteurs de lignes en sont pas identiques, je ne peux pas calculer (tout au moins avec mes maigres connaissances !!) le numéro exact de la page o͹ s'arrêter avant d'imprimer la deuxième
Si un gentil contributeur voulait bien me donner quelques pistes, je pourrais enfin retrouver le sommeil :-) :-) :-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour, Bonjour, Ce que tu demandes est difficile. Faire la mise en page sans voir la disposition des données et ce que tu recherches au final. Pour te donner une idée, voilÍ une procédure Í fignoler. Tu as un petit fichier exemple vite fait : https://www.cjoint.com/c/KLgtbMpcX8F '------------------------------------------- Sub test() Dim Compteur As Long, A As Long Dim HP As Long, VP As Long, Total As Long With Worksheets("Feuil1") .DisplayPageBreaks = False With .PageSetup .Order = xlDownThenOver 'Vers le bas et ensuite vers la droite End With HP = .HPageBreaks.Count + 1 VP = .VPageBreaks.Count + 1 Total = HP * VP For A = 1 To Total .PageSetup.PrintArea = "" '.UsedRange.PrintPreview .UsedRange.PrintOut from:=A, to:=A, Collate:=True Next End With End Sub '------------------------------------------- MichD P.S. J'ai un problème avec Thunderbird ou Windows. J'arrête de répondre pendant que j'essaie de trouver une solution.
Bonjour,
Bonjour,
Ce que tu demandes est difficile. Faire la mise en page sans voir la
disposition des données et ce que tu recherches au final.
Pour te donner une idée, voilÍ une procédure Í fignoler.
Tu as un petit fichier exemple vite fait :
https://www.cjoint.com/c/KLgtbMpcX8F
'-------------------------------------------
Sub test()
Dim Compteur As Long, A As Long
Dim HP As Long, VP As Long, Total As Long
With Worksheets("Feuil1")
.DisplayPageBreaks = False
With .PageSetup
.Order = xlDownThenOver 'Vers le bas et ensuite vers la droite
End With
HP = .HPageBreaks.Count + 1
VP = .VPageBreaks.Count + 1
Total = HP * VP
For A = 1 To Total
.PageSetup.PrintArea = ""
'.UsedRange.PrintPreview
.UsedRange.PrintOut from:=A, to:=A, Collate:=True
Next
End With
End Sub
'-------------------------------------------
MichD
P.S. J'ai un problème avec Thunderbird ou Windows.
J'arrête de répondre pendant que j'essaie de trouver une solution.
Bonjour, Bonjour, Ce que tu demandes est difficile. Faire la mise en page sans voir la disposition des données et ce que tu recherches au final. Pour te donner une idée, voilÍ une procédure Í fignoler. Tu as un petit fichier exemple vite fait : https://www.cjoint.com/c/KLgtbMpcX8F '------------------------------------------- Sub test() Dim Compteur As Long, A As Long Dim HP As Long, VP As Long, Total As Long With Worksheets("Feuil1") .DisplayPageBreaks = False With .PageSetup .Order = xlDownThenOver 'Vers le bas et ensuite vers la droite End With HP = .HPageBreaks.Count + 1 VP = .VPageBreaks.Count + 1 Total = HP * VP For A = 1 To Total .PageSetup.PrintArea = "" '.UsedRange.PrintPreview .UsedRange.PrintOut from:=A, to:=A, Collate:=True Next End With End Sub '------------------------------------------- MichD P.S. J'ai un problème avec Thunderbird ou Windows. J'arrête de répondre pendant que j'essaie de trouver une solution.
ThierryP
Le lundi 6 décembre 2021 Í 20:55:24 UTC+1, MichD a écrit : Bonjour Denis, C'est vrai que je n'avais pas donné beaucoup d'indices ! Mais ta procédure m'a mis sur la voie pour résoudre mon souci, comme toujours ! Merci du coup de main, ThierryP
Le lundi 6 décembre 2021 Í 20:55:24 UTC+1, MichD a écrit :
Bonjour Denis,
C'est vrai que je n'avais pas donné beaucoup d'indices !
Mais ta procédure m'a mis sur la voie pour résoudre mon souci, comme toujours !
Le lundi 6 décembre 2021 Í 20:55:24 UTC+1, MichD a écrit : Bonjour Denis, C'est vrai que je n'avais pas donné beaucoup d'indices ! Mais ta procédure m'a mis sur la voie pour résoudre mon souci, comme toujours ! Merci du coup de main, ThierryP