Bonjour,

J'ai un petit soucis avec mon code. J'ai mon code qui marche très bien pour l'impression en PDF.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sub IMPRIMER()
 
Dim i As String
 
i = "i pas un nombre"
 
While (IsNumeric(i) = False Or InStr(i, ".") > 0)
i = InputBox("Combien de copies voulez-vous imprimer ?")
If i = "" Then
MsgBox "Impression annulée"
Exit Sub
End If
Wend
 
If CDbl(i) = 0 Then
MsgBox "Impression annulée"
Exit Sub
End If
 
Application.Dialogs(xlDialogPrinterSetup).Show 'Pour choisir l'imprimante
 
With ActiveSheet.PageSetup
    .PrintArea = ("A1:J52")
    .Zoom = False
    .FitToPagesTall = 1
    .FitToPagesWide = 1
End With
ActiveSheet.PrintOut copies:=CDbl(i)
 
End Sub
Jusque là, pas de problème. Là ou ca devient difficile est que je n'arrive pas à inclure la valeur de la cellule I16 pour imprimer en pdf, j'ai essayé ça mais ça ne m'imprime que le contenu de la page 1 même s'il y a 2 en I16 la zone d'impression est toujours celle de "1":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
    If Range("I16").Value = 1 Then ActiveSheet.PageSetup.PrintArea = "A1:I53"
    If Range("I16").Value = 2 Then ActiveSheet.PageSetup.PrintArea = "A1:I106"
    If Range("I16").Value = 3 Then ActiveSheet.PageSetup.PrintArea = "A1:I158"
 
 Dim NomDossier As String
    Dim CheminDossier As String
    On Error GoTo 1
 
    'Nom de dossier
    NomDossier = Application.InputBox("Dossier Enregistrement :", "Dossier")
    CheminDossier = "H:\COMPTABILITE\Factures VE\" & NomDossier & "\"
    If NomDossier = "" Then Exit Sub
 
    'Enregistrement au format PDF
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    CheminDossier & "Facture - " & Range("G6").Value & ".pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    from:=1, To:=1, OpenAfterPublish:=False
 
1
        MsgBox "Facture " & Range("G6").Value & " archivée avec succès."
 
End Sub
Merci pour votre aide