Sélectionner toute les feuil dans un Array

Bonjour, j'ai une macro qui produit un fichier pdf et qui fonctionne très bien. Mon petit soucis est que je voudrait sélectionner toutes les feuilles du workbook puisque j'en ai certaine qui sont crée par des macros avec des dates exemple "Riverview lundi 09h11". J'ai essayé avec sheets.select et plusieurs autre méthode mais sans succès. voici mon bout de code trouvé sur internet et manipuler pour convenir à mes besoins.

Sub createPDFfiles()
    Dim ws As Worksheet
    Dim Fname As String
    Dim newdate As String

    ' crée un groupe de travail pour la création d'un SEUL fichier PDF
    ThisWorkbook.Sheets(Array("Acceuil", "Temp", "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", _
    "Calcul", "Pains", "Fromage", "Legumes", "Carousel", "Sherby", "Breuvages", "Riverview", "Paperasse", "Divers", "Annuaire")).Select
    newdate = Sheets("Dimanche").Range("a4") + 6

    On Error Resume Next 'Continue s'il y a erreur

    ' crée le nom du fichier PDF ainsi que son PATH
    Fname = "C:\Users\Luc\Desktop\Rapport Hebdomadaire\Rapport Hebdomadaire Boucherville " & Format(newdate, "yyyy-mm-dd")

    ' crée le PDF
    ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=Fname, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False

Application.ScreenUpdating = False

' ce code sert à sortir du mode: groupe de travail
With Sheets("Impression")
    .activate
    .Range("A1") = "1"
    .Range("A1") = ""
End With
With Sheets("Acceuil")
    .Select
End With

' ce code sert à retirer les lignes blanches des sauts de page que crée le pdf
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
wks.DisplayPageBreaks = False
Next

Application.ScreenUpdating = True
End Sub

Bonjour et bienvenu(e)

A tester

Option Explicit

Sub createPDFfiles()
Dim Fname As String, Chemin As String
Dim newdate As String

  'Chemin = ThisWorkbook.Path & "\"
  Chemin = "C:\Users\Luc\Desktop\Rapport Hebdomadaire\"
  Fname = "Rapport Hebdomadaire Boucherville " & Format(newdate, "yyyy-mm-dd") & ".pdf"

  newdate = Sheets("Dimanche").Range("a4") + 6

  'Fichier déjà présent ?
  If Dir(Chemin & Fname) <> "" Then
    If MsgBox("Le document suivant existe déjà :" & vbLf & vbLf & Fname & _
              vbLf & vbLf & "Voulez-vous le remplacer ?", vbYesNo + vbQuestion, "Doublon") <> vbYes Then Exit Sub
  End If

  Application.ScreenUpdating = False

  'Sheets(Array("Feuil1", "Feuil2", "Feuil3", "Dimanche")).Copy
  Sheets(Array("Acceuil", "Temp", "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", _
        "Calcul", "Pains", "Fromage", "Legumes", "Carousel", "Sherby", "Breuvages", "Riverview", "Paperasse", "Divers", "Annuaire")).Copy

  ' crée le PDF
  With ActiveWorkbook
    Application.DisplayAlerts = False
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Fname, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False
    .Close savechanges:=False
  End With
End Sub

Si cela fonctionne tu pourras enlever les lignes en remarque

Merci Banzai64 de ta réponse. ton code fonctionne mais malheureusement il sélectionne seulement les sheets inscrite dans l'array et non toute les sheets du workbook. L'array = toutes les sheets du classeur + créer le pdf pour avoir un seul fichier. Exemple: une fois la sheet RIVERVIEW complété ma macro crée une deuxième sheet et la renomme RIVERVIEW LUNDI 09H00 et vide l'original. RIVERVIEW LUNDI 09H00 doit être dans le pdf, mais je ne sais comment l'insérer dans l'array.

Bonjour

A tester

Option Explicit

Sub createPDFfiles()
Dim Fname As String, Chemin As String
Dim newdate As String, Ws As Worksheet

  newdate = Sheets("Dimanche").Range("a4") + 6
  'Chemin = ThisWorkbook.Path & "\"
  Chemin = "C:\Users\Luc\Desktop\Rapport Hebdomadaire\"
  Fname = "Rapport Hebdomadaire Boucherville " & Format(newdate, "yyyy-mm-dd") & ".pdf"

  'Fichier déjà présent ?
  If Dir(Chemin & Fname) <> "" Then
    If MsgBox("Le document suivant existe déjà :" & vbLf & vbLf & Fname & _
              vbLf & vbLf & "Voulez-vous le remplacer ?", vbYesNo + vbQuestion, "Doublon") <> vbYes Then Exit Sub
  End If

  Application.ScreenUpdating = False

  ' crée le PDF
  Application.DisplayAlerts = False
  ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Fname, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False

  For Each Ws In Sheets
    Ws.DisplayPageBreaks = False
  Next Ws

End Sub

Merci de ta réponse matinale. Je vais tester cela ce soir!

Bonsoir à toi Banzai64, ton code fonctionne à merveille. Mille merci

Rechercher des sujets similaires à "selectionner toute feuil array"