macro d'impression

Le
marcus
Bonjour à vous tous
Je suis à la recherche d'une macro d'impression qui me permettra d'imprimer,
à chaque changement de nom (dans mon exemple, colonne B) sur des pages
différentes. Par contre, je veux imprimer le document au complet, mais sur
des pages différentes pour chacun des noms.

si j'ai dans la colonne B les noms suivants
Julie
Julie
Julie
Karine
Karine
alors j'aimerais imprimer toute les données de Julie sur un même document,
tout en imprimant Karine sur un autre document. Dans la vie, mon fichier
contient 5000 lignes et il est appellé à grossir, cela ajoutera des lignes
supplémentaires.

Voici mon lien pour mieux comprendre
http://cjoint.com/?kedQEQLNZI

Merci de votre aide

Marc
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #4963621
A ) tu copies la macro dans un module standard de ton classeur
B ) Tu dois adapter le nom de la feuille dans la procédure
With Worksheets("Feuil1") 'Adapte le nom de la feuille

C ) Lorsque le tout sera Ok, tu changeras la commande
PrintPreview pour PrintOut (voir dans l'aide, les paramètres
de la méthode au besoin

D ) Avant de lancer l'impression, utilise la commande
Barre des menus / fichier / Mise en page...
Et détermine le type de mise en page que tu désires
Disposition , en-tête et pied de page ....
Lorsque tout sera Ok, tu enregistre ton fichier.
Chacune des pages que tu imprimeras aura cette mise en page.


'-----------------------------------------
Sub Test()

Dim Rg As Range
Set sh = Worksheets.Add
With Worksheets("Feuil1") 'Adapte le nom de la feuille
With .Range("B1:B" & .Range("B65536").End(xlUp).Row)
.AdvancedFilter xlFilterCopy, , sh.Range("A1"), True
Set Rg = sh.Range("A1:A" & sh.Range("A65536").End(xlUp).Row)
sh.Range("B1") = Worksheets("Feuil1").Range("B1")
For a = 2 To Rg.Cells.Count
sh.Range("B2") = sh.Range("A" & a)
.AdvancedFilter xlFilterInPlace, sh.Range("B1:B2")
.Offset(, -1).Resize(, 4).PrintPreview
Next
End With
.ShowAllData
End With
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True

End Sub
'-----------------------------------------








"marcus"
Bonjour à vous tous
Je suis à la recherche d'une macro d'impression qui me permettra d'imprimer,
à chaque changement de nom (dans mon exemple, colonne B) sur des pages
différentes. Par contre, je veux imprimer le document au complet, mais sur
des pages différentes pour chacun des noms.

si j'ai dans la colonne B les noms suivants
Julie
Julie
Julie
Karine
Karine
alors j'aimerais imprimer toute les données de Julie sur un même document,
tout en imprimant Karine sur un autre document. Dans la vie, mon fichier
contient 5000 lignes et il est appellé à grossir, cela ajoutera des lignes
supplémentaires.

Voici mon lien pour mieux comprendre
http://cjoint.com/?kedQEQLNZI

Merci de votre aide

Marc
MichDenis
Le #4963581
J'ai ajouté à la procédure une ligne de code :

Sub Test()

Dim Rg As Range
Application.ScreenUpdating = False
Set sh = Worksheets.Add
With Worksheets("Feuil1") 'Adapte le nom de la feuille
With .Range("B1:B" & .Range("B65536").End(xlUp).Row)
.AdvancedFilter xlFilterCopy, , sh.Range("A1"), True
Set Rg = sh.Range("A1:A" & sh.Range("A65536").End(xlUp).Row)
sh.Range("B1") = Worksheets("Feuil1").Range("B1")
For a = 2 To Rg.Cells.Count
sh.Range("B2") = sh.Range("A" & a)
.AdvancedFilter xlFilterInPlace, sh.Range("B1:B2")
.Offset(, -1).Resize(, 4).PrintPreview
Next
End With
.ShowAllData
End With
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True

End Sub
JB
Le #4963451
Bonjour,

http://cjoint.com/?kek2muAc37


Sub SautPage1()
ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"
ActiveSheet.ResetAllPageBreaks ' raz
i = 2
Do While i < [A65000].End(xlUp).Row
m = Cells(i, 2)
Do While Cells(i, 2) = m
i = i + 1
Loop
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:Îlls(i, 2)
Loop
ActiveSheet.PrintPreview
End Sub

http://boisgontierjacques.free.fr/pages_site/editions.htm#SPGroupe


JB
http://boisgontierjacques.free.fr/



On 4 oct, 03:51, marcus
Bonjour à vous tous
Je suis à la recherche d'une macro d'impression qui me permettra d'impr imer,
à chaque changement de nom (dans mon exemple, colonne B) sur des pages
différentes. Par contre, je veux imprimer le document au complet, mais sur
des pages différentes pour chacun des noms.

si j'ai dans la colonne B les noms suivants
Julie
Julie
Julie
Karine
Karine
alors j'aimerais imprimer toute les données de Julie sur un même docu ment,
tout en imprimant Karine sur un autre document. Dans la vie, mon fichier
contient 5000 lignes et il est appellé à grossir, cela ajoutera des l ignes
supplémentaires.

Voici mon lien pour mieux comprendre
http://cjoint.com/?kedQEQLNZI

Merci de votre aide

Marc


marcus
Le #4963411
Bonjour JB et MichDenis

Merci à vous deux pour votre aide

Bonne journée

Marc


Bonjour,

http://cjoint.com/?kek2muAc37


Sub SautPage1()
ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"
ActiveSheet.ResetAllPageBreaks ' raz
i = 2
Do While i < [A65000].End(xlUp).Row
m = Cells(i, 2)
Do While Cells(i, 2) = m
i = i + 1
Loop
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:Îlls(i, 2)
Loop
ActiveSheet.PrintPreview
End Sub

http://boisgontierjacques.free.fr/pages_site/editions.htm#SPGroupe


JB
http://boisgontierjacques.free.fr/



On 4 oct, 03:51, marcus
Bonjour à vous tous
Je suis à la recherche d'une macro d'impression qui me permettra d'imprimer,
à chaque changement de nom (dans mon exemple, colonne B) sur des pages
différentes. Par contre, je veux imprimer le document au complet, mais sur
des pages différentes pour chacun des noms.

si j'ai dans la colonne B les noms suivants
Julie
Julie
Julie
Karine
Karine
alors j'aimerais imprimer toute les données de Julie sur un même document,
tout en imprimant Karine sur un autre document. Dans la vie, mon fichier
contient 5000 lignes et il est appellé à grossir, cela ajoutera des lignes
supplémentaires.

Voici mon lien pour mieux comprendre
http://cjoint.com/?kedQEQLNZI

Merci de votre aide

Marc







Publicité
Poster une réponse
Anonyme