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
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" a écrit dans le message de news:
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
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" <marcus@discussions.microsoft.com> a écrit dans le message de news:
D8A557B5-1E3C-46F8-8CAB-BEA253D7DC2B@microsoft.com...
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
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" a écrit dans le message de news:
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
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
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
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
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
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
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:=Cells(i, 2)
Loop
ActiveSheet.PrintPreview
End Sub
On 4 oct, 03:51, marcus <mar...@discussions.microsoft.com> wrote:
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
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
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
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
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
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
On 4 oct, 03:51, marcus <mar...@discussions.microsoft.com> wrote:
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
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
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