Exporter en PDF les lignes d'un tableau selon un "critère"

Bonjour à tous,

Je suis en train de travailler sur une checklist et je souhaiterais ajouter une macro permettant d'exporter en PDF (sur le bureau de l'utilisateur) les lignes du tableau selon le contenu présent dans la colonne "CHECK".

Je souhaite 3 résultats (un PDF par résultat si possible reprenant: l'état de la checklist [à faire/fait/non utilisé]; le nom du client ["M.CLIENT"] et le code postal [75001]):

  1. Ce qui a été fait ("X" dans la cellule de la colonne CHECK)
  2. Ce qui reste à faire (la cellule de la colonne CHECK reste vide)
  3. Ce qui n'est pas utilisé (autrement dit, ce qui n'est pas à faire. "NU" dans la cellule de la colonne CHECK)

Plutôt qu'une explication compliquée et floue j'ai fait 3 onglets avec la forme des résultats attendus, je pense que ça sera plus clair.

Je reste dans le coin pour les questions

Merci beaucoup pour votre aide !

17checklist-test.xlsx (19.37 Ko)

Petit up, en attendant des réponses, j'ai commencé à bricoler un petit peu et du coup à revoir aussi mon affichage (maudit cellule fusionnée...).

Des avis ? Peut-on optimiser ? Ou est ce que ça paraît viable ? (en tout cas, ça fonctionne)

Dim MONDOCUMENT As String
    Dim CHEMIN As String

    ActiveSheet.Range("$B$4:$J$20").AutoFilter Field:=9, Criteria1:="nu"

CHEMIN = "C:\Users\" & Environ("username") & "\Desktop\"
MONDOCUMENT = "CHECKLIST NON UTILISE" & " " & Range("G2").Value & " " & Range("I2").Value & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
CHEMIN & MONDOCUMENT, Quality:=xlQualityMinimum _
, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

    ActiveSheet.Range("$B$4:$J$20").AutoFilter Field:=9, Criteria1:="x"

    CHEMIN = "C:\Users\" & Environ("username") & "\Desktop\"
MONDOCUMENT = "CHECKLIST FAIT" & " " & Range("G2").Value & " " & Range("I2").Value & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
CHEMIN & MONDOCUMENT, Quality:=xlQualityMinimum _
, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

    ActiveSheet.Range("$B$4:$J$20").AutoFilter Field:=9, Criteria1:="="

    CHEMIN = "C:\Users\" & Environ("username") & "\Desktop\"
MONDOCUMENT = "CHECKLIST A FAIRE" & " " & Range("G2").Value & " " & Range("I2").Value & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
CHEMIN & MONDOCUMENT, Quality:=xlQualityMinimum _
, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
    ActiveSheet.Range("$B$4:$J$20").AutoFilter Field:=9
33checklist-test.xlsm (32.19 Ko)

Bonjour,

Voici un essai avec une boucle :

sub Export()

CHEMIN = "C:\Users\" & Environ("username") & "\Desktop\"
tcrit = array("nu", "x", "=") 'critères
tlib = array("NON UTILISE", "FAIT", "A FAIRE") 'libellé correspondant repris dans nom pdf

with ActiveSheet
    for i = lbound(tcrit) to ubound(tcrit) 'pour chaque critère
        MONDOCUMENT = "CHECKLIST " & tlib(i) & " " & Range("G2").Value & " " & Range("I2").Value & ".pdf" 'lib
        .Range("$B$4:$J$20").AutoFilter Field:=9, Criteria1:=tcrit(i) 'filtre
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:=CHEMIN & MONDOCUMENT, IgnorePrintAreas:=False
    next i
end with

end sub

Cdlt,

Rechercher des sujets similaires à "exporter pdf lignes tableau critere"