Definition zone d'impression pdf VBA
Bonjour bonjour,
donc j'ai ce code qui me permet d'imprimer et d'envoyer un mail de ce qui est print
Mais j'aimerais etre capable de definir une zone de ce qui doit être imprimer
par exemple toutes les lignes de la colonne A la colonne I
est ce que quelqu'un pet m'y aider ?
Sub print_mail()
'Fonctionne sous excel 2000-2013
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim OutApp As Object
Dim OutMail As Object
Dim S As Shape
Dim Range
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set Sourcewb = ActiveWorkbook
'Copie la feuille active comme nouvelle feuille
ActiveSheet.Copy
Set destwb = ActiveWorkbook
'Désactiver fenêtre de compatibilité
Application.DisplayAlerts = False
'----------------------------------------------------------------------------
'Sauvegarde la nouvelle feuille/L'envoie par mail/La supprime
'----------------------------------------------------------------------------
TempFilePath = Environ$("temp") & "\"
TempFileName = ActiveSheet.Name
Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)
With destwb
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=TempFilePath & TempFileName & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False ' sauvegarde du fichier au format pdf
On Error Resume Next
With OutMail
.To = ""
.CC = "" 'qui mettre en copie
.bcc = ""
.Subject = "FCM Allocation"
.Attachments.Add TempFilePath & TempFileName & ".pdf"
.Body = "Hello, please find in attached the current FCM allocation"
.display 'ou alors utiliser
'.Send 'pour envoi
End With
On Error GoTo 0
.Close savechanges:=False
End With
'Effacer le fichier envoyé
'Kill TempFilePath & TempFileName & ".pdf"
'Set OutMail = Nothing
'Set OutApp = Nothing
'With Application
' .ScreenUpdating = True
' .EnableEvents = True
' End With
End Sub
Hello
With destwb
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=TempFilePath & TempFileName & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False ' sauvegarde du fichier au format pdf
On parle de ce bout du coup ?
IgnorePrintAreas:=False du coup as-tu définis t'a zone d'impréssion ?
Bonjour, merci pour ta reponse.
Oui je crois bien mais je n'arrive pas a lui dire de ne pas print TOUTE la feuille, juste une partie
sais tu ce que je dois ajouter ou changer ?
Meric encore
Encore moi,
peut-être en définissant la zone d’impression avant de l'exporter sous pdf
tu peut le faire manuellement avec les menus ou directement dans la macro
ActiveSheet.PageSetup.PrintArea = TA ZONE A IMPRIMER
et pour définir ta zone à imprimer tu utilise
dim colonne_1 as string
dim colonne_2 as string
dim ligne_1 as integer
dim ligne_2 as integer
colonne_1 =
colonne_2 =
ligne_1 =
ligne_2 =
ActiveSheet.PageSetup.PrintArea = "$" & colonne_1 & "$" & ligne_1 & ":$" & colonne_2 & "$"& ligne_2
tu met les numeros/lettres de lignes et de colonnes du début et de la fin de ta zone à imprimer après les = et tu test ^^
en attente de ton retour ^^
ps : le code est à rallonge mais les vendredis la flemme devient grande pour expliquer tous les détails ^^