Imprimer en Pdf des feuilles sous condition de valeur de cellule

Bonjour à tous .

Je suis nouveau et surtout novice, et je viens de passer la journée sur mon problème....

La personne qui à crée ce fichier n'ai plus dans ma société, et j'aimerai l'améliorée.

A l'origine, on imprimait au format PDF, que 2 feuilles. "1" et "2".

J'ai rajouter 2 autres feuilles, ce qui me fait 4 feuilles : "1", "2", "DynamiqueAvantAjustage", "DynamiqueAprèsAjustage"

J'aimerai imprimer les feuille 1 et 2 tout le temps,

mais la feuille "DynamiqueAvantAjustage" que si ma cellule R113 = 1 et ma feuille "DynamiqueAprèsAjustage" que si ma cellule R113 = 1

J'ai rajouté mes 2 feuilles, mais ça me les imprimes tout le temps.

La personne avait créer ça (ne pas tenir compte de mes 2 feuilles), et ça fonctionnait très bien :

(Sub pdf()

Sheets(Array("1", "2", "DynamiqueAvantAjustage", "DynamiqueAprèsAjustage")).Select
Sheets("1").Activate

Dim NomFichier As String

FileSaveName = Application.GetSaveAsFilename

FileSaveName = Range("BB109") & Range("BK109") & Range("BM109") & " - " & Range("Q32") & " - " & Range("Q34") & "-" & Range("Q36") & "-" & Range("Q38")

If FileSaveName <> False Then

Sheets("1").ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileSaveName, Quality:=lQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

End If

'Message Box non obligatoire,
'MsgBox ("PDF")

Sheets("1").Select

If Range("'2'!N98") = "X" Then MsgBox ("ATTENTION NON CONFORME")

Call impact

End Sub

SI vous pouviez m'aider.

Bonjour,

Pour une aide adaptée, joindre un classeur (pas une image!) anonymisé et représentatif

Slts

Bonjour PLC, boss_68, le forum,

Un essai (à tout hasard) après quelques recherches le net...

Il conviendra de définir le zoom ainsi que la zone à imprimer de chaque feuille....vu que tes données vont jusqu'à la colonne BM, pas certain que cela tienne sur une feuille

Sub PDF()
 Dim F1 As Worksheet, F2 As Worksheet, F3 As Worksheet, F4 As Worksheet
 Dim feuillesAImprimer As Collection
 Dim feuille As Worksheet
 Dim feuillesArray()

 ' Définir les feuilles
  Set F1 = ThisWorkbook.Sheets("1")
  Set F2 = ThisWorkbook.Sheets("2")
  Set F3 = ThisWorkbook.Sheets("DynamiqueAvantAjustage")
  Set F4 = ThisWorkbook.Sheets("DynamiqueAprèsAjustage")

   FileSaveName = Application.GetSaveAsFilename
   FileSaveName = F1.Range("BB109") & F1.Range("BK109") & F1.Range("BM109") & " - " & F1.Range("Q32") & " - " & F1.Range("Q34") & "-" & F1.Range("Q36") & "-" & F1.Range("Q38")

    If FileSaveName <> False Then

    'Créer un tableau pour stocker les feuilles à imprimer
     Set feuillesAImprimer = New Collection
    'Ajouter les feuilles 1 et 2
     feuillesAImprimer.Add F1
     feuillesAImprimer.Add F2
     'Ajouter les autres feuilles si =1
     If F3.Range("R113").Value = 1 Then feuillesAImprimer.Add F3
     If F4.Range("R113").Value = 1 Then feuillesAImprimer.Add F4

    'Définir feuilles pour PDF
     ReDim feuillesArray(0 To feuillesAImprimer.Count - 1)
      For i = 1 To feuillesAImprimer.Count
       Set feuille = feuillesAImprimer(i)
        feuillesArray(i - 1) = feuille.Name
      Next i

    'Exporter en PDF
     ThisWorkbook.Sheets(feuillesArray).Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FileSaveName, Quality:=lQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
   End If
 F1.Select
 MsgBox "Les feuilles ont été imprimées en PDF avec succès !", vbInformation
End Sub

Cordialement,

Bonjour,

@boss_68, Je viens de comprendre votre post en regardant celui de X-OR.

C'est pour faire comme X-OR avec le fond gris.

Par contre, je ne sais pas comment vous faite pour mettre le classeur ? J'ai fait que copier collé dont l'image...

@Xorsankukai, Je te remercie de ton aide le shérif . Déjà j'adore ton pseudo X-or.

Je vais essayer et je reviendrais t'informer du résultat.
Merci beaucoup.

Bonjour,

Comme promis voici mon retour concernant ton aide X-OR. Tout fonctionne super bien. Merci beaucoup.

J'ai modifié la localisation de certaines cellules qui ont bougées de part mes modifs, et rajouté des messages d'alertes d'informations sur les non-conformités.

Par contre avant quand j'imprimais, mon PDF final s'ouvrait, et plus maintenant.Il y a t il une raison ? Mais ce n'est pas très grave.

Voici la programmation finale. (Dslé, je ne sais faire que copier coller)

Sub PDF()
Dim F1 As Worksheet, F2 As Worksheet, F3 As Worksheet, F4 As Worksheet
Dim feuillesAImprimer As Collection
Dim feuille As Worksheet
Dim feuillesArray()

' Définir les feuilles
Set F1 = ThisWorkbook.Sheets("1")
Set F2 = ThisWorkbook.Sheets("2")
Set F3 = ThisWorkbook.Sheets("DynamiqueAvantAjustage")
Set F4 = ThisWorkbook.Sheets("DynamiqueAprèsAjustage")

FileSaveName = Application.GetSaveAsFilename
FileSaveName = F1.Range("BB110") & F1.Range("BK110") & F1.Range("BM110") & "-" & F1.Range("Q33") & "-" & F1.Range("Q35") & "-" & F1.Range("Q37") & "-" & F1.Range("Q39")

If FileSaveName <> False Then

'Créer un tableau pour stocker les feuilles à imprimer
Set feuillesAImprimer = New Collection
'Ajouter les feuilles 1 et 2
feuillesAImprimer.Add F1
feuillesAImprimer.Add F2
'Ajouter les autres feuilles si =1
If F3.Range("N113").Value = 1 Then feuillesAImprimer.Add F3
If F4.Range("N113").Value = 1 Then feuillesAImprimer.Add F4

'Définir feuilles pour PDF
ReDim feuillesArray(0 To feuillesAImprimer.Count - 1)
For i = 1 To feuillesAImprimer.Count
Set feuille = feuillesAImprimer(i)
feuillesArray(i - 1) = feuille.Name
Next i

'Exporter en PDF
ThisWorkbook.Sheets(feuillesArray).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FileSaveName, Quality:=lQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

'Message Box non obligatoire,
'MsgBox ("PDF")
Sheets("1").Select

If F2.Range("N98") = "X" Then MsgBox ("ATTENTION NON CONFORME en Statique")
If F3.Range("N86") = "X" Then MsgBox ("ATTENTION NON CONFORME en Dynamique Avant Ajustage")
If F4.Range("N86") = "X" Then MsgBox ("ATTENTION NON CONFORME en Dynamique Après Ajustage")

F1.Select
MsgBox "Les feuilles ont été imprimées en PDF avec succès !", vbInformation

Call impact

End Sub

Bonjour PLC, le forum,

Merci pour le retour 🙂

Par contre avant quand j'imprimais, mon PDF final s'ouvrait, et plus maintenant.Il y a t il une raison ?

Essaie :

OpenAfterPublish:=True

Cordialement,

Rechercher des sujets similaires à "imprimer pdf feuilles condition valeur"