imprimer zone identique sur plusieurs onglets

mix770

XLDnaute Impliqué
Bonjour le forum,
j'ai un fichier avec 52 onglets (nom 1; nom 2; etc) sur chaque onglet il y a des zones (janvier, fevrier, etc) je n'arrive pas a faire une macro qui imprime une zone (A1:M46) sur l'ensemble des onglets en 1 fichier PDF.

j'ai cherché et même essayé en passant par l'enregistrement de macro je n'ai qu'une feuille qui s'imprime.
ce qui est bizarre c'est que cela fonctionne quand j'enregistre la macro, j'ai bien 52 pages, mais quand je ré exécute la macro ensuite de nouveau je n'ai qu'une feuille.
si quelqu’un peut m'aider
merci beaucoup

ci dessous la macro:

Sub test_imprim_5()

Sheets(Array("Nom 1", "Nom 2", "Nom 3", "Nom 4", "Nom 5", "Nom 6", "Nom 7", "Nom 8", _
"Nom 9", "Nom 10", "Nom 11", "Nom 12", "Nom 13", "Nom 14", "Nom 15", "Nom 16", "Nom 17" _
, "Nom 18", "Nom 19", "Nom 20", "Nom 21", "Nom 22", "Nom 23", "Nom 24", "Nom 25", "Nom 26", "Nom 27", "Nom 28", "Nom 29", "Nom 30", "Nom 31", "Nom 32", _
"Nom 33", "Nom 34", "Nom 35", "Nom 36", "Nom 37", "Nom 38", "Nom 39", "Nom 40", _
"Nom 41", "Nom 42", "Nom 43", "Nom 44", "Nom 45", "Nom 46", "Nom 47", "Nom 48", _
"Nom 49", "Nom 50", "Nom 51", "Nom 52")).Select Replace:=True
Range("A1:M47").Select
Selection.PrintOut
Sheets("Accueil Service continu").Select
End Sub
 

Cousinhub

XLDnaute Barbatruc
Re : imprimer zone identique sur plusieurs onglets

Bonjour,

Bon, j'ai un peu bricolé, mais ça a l'air de fonctionner...

Je supprime tous les noms contenant "Print_Area"

Je sélectionne la 1ère feuille dont le nom est différent de "Accueil...." ou "DATA"....

Puis je déroule de nouveau le code précédent....

Comme l'onglet actif était toujours l'onglet "Accueil...", ça l'imprimait quant même....

PS, Tu peux utiliser ce code pour tous tes boutons de l'USF, en mettant par exemple dans le code de chaque bouton :

Code:
Private Sub Envoi_Janvier_Click()
Call Impr
Unload Me
End Sub

et le code d'impression, dans un module standard :

Code:
Sub Impr()
Dim Sh As Worksheet
Dim Nms As Name
Application.ScreenUpdating = False
For Each Nms In Names
    If InStr(1, Nms.Name, "Print_Area") > 0 Then
        Nms.Delete
    End If
Next Nms
For Each Sh In Sheets
    If Sh.Name <> "Accueil Service continu" And Sh.Name <> "DATA" Then
        Sh.Select
        Exit For
    End If
Next Sh
For Each Sh In Sheets
    If Sh.Name <> "Accueil Service continu" And Sh.Name <> "DATA" Then
        Sh.PageSetup.PrintArea = "$A$1:$M$46"
        Sh.Select False
    End If
Next Sh
ActiveWorkbook.Windows(1).SelectedSheets.PrintPreview 'a remplacer par PrintOut
Sheets("Accueil Service continu").Select
'Unload Me
End Sub

Bon courage
 

Si...

XLDnaute Barbatruc
Re : imprimer zone identique sur plusieurs onglets

salut

cela ne sufirait-il pas ?

Code:
Private Sub CommandButton1_Click()
  Dim Sh As Worksheet
  For Each Sh In Sheets
    If Sh.Name <> "accueil service continu" And Sh.Name <> "DATA" Then
      Sh.PageSetup.PrintArea = "$A$58:$M$103"
      MsgBox Sh.Name 'pour contrôle donc à supprimer
      'Sh.PrintOut pour ne pas imprimer inutilement sinon déplacer ' après Out
    End If
  Next
  Unload Me
End Sub
 

Cousinhub

XLDnaute Barbatruc
Re : imprimer zone identique sur plusieurs onglets

Re-,

Bonjour Si...

Effectivement, mais le désir premier de notre ami était :

j'ai un fichier avec 52 onglets (nom 1; nom 2; etc) sur chaque onglet il y a des zones (janvier, fevrier, etc) je n'arrive pas a faire une macro qui imprime une zone (A1:M46) sur l'ensemble des onglets en 1 fichier PDF.

Donc il faut imprimer tous les onglets in 1 fichier pdf...

Bonne journée
 

mix770

XLDnaute Impliqué
Re : imprimer zone identique sur plusieurs onglets

re bonjour,
j'ai avancé un peu mais reste cette page accueil qui s'imprime je ne sais plus quoi faire, j'ai paramètrer pour imprimer avec pdf par default
ci dessous la macro, si quelqu'un se sent l'âme d'un sauveur ;-))
merci d'avance

Private Sub Envoi_Février_Click()
Dim Sh As Worksheet
Application.ScreenUpdating = True
For Each Sh In Sheets
If Sh.Name <> "Accueil Service continu" Then
Sh.PageSetup.PrintArea = "$A$58:$M$103"
Sh.Select False
End If
Next Sh
Application.ActivePrinter = "PDFCreator sur Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator sur Ne00:", Collate:=True
Sheets("Accueil Service continu").Select
Unload Me
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : imprimer zone identique sur plusieurs onglets

Bonsoir à tous


Pourquoi ne pas utiliser l'export PDF d'Excel si version supérieur à 2007
Code:
Sub mWKB2PDF()
Dim sh As Worksheet, Chemin$
Chemin = ActiveWorkbook.Path & "\"
For Each sh In ThisWorkbook.Worksheets
    If Sh.Name <> "Accueil Service continu" And Sh.Name <> "DATA" Then
        sh.PageSetup.PrintArea = "$A$1:$M$46"
        sh.Select False
        Else
        sh.Visible = False
    End If
Next sh
ActiveWorkbook.ExportAsFixedFormat xlTypePDF, strPath & "NOMFichierPDF.pdf"
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 764
Messages
2 091 859
Membres
105 079
dernier inscrit
Biscot_399