XL pour MAC Export pdf

delube

XLDnaute Nouveau
Je travaille sur Excel pour Mac, Office 365
Bonjour,
Je suis depuis 2 jours sur un problème d'export que je n'arrive pas à résoudre..
Le but est d'exporter une feuille Excel en "pdf" , feuille qui contient les séries d'une compétition en piscine
Tout se passe très bien tant que l'export n'a pas lieu, c'est à dire que la feuille est formatée comme il faut, que les sauts de page sont là où il faut etc...
Si je fais "manuellement" Fichier --> imprimer --> PDF --> Ouvrir dans Aperçu, c'est parfait.
Par contre, dans la macro à partir de la ligne :
.ExportAsFixedFormat _
etc., tout le formatage est perdu, c'est à dire qu'il me sort 20 pages au lieu de 5 !
Voici le code complet :


Sub impressionseriesCombine()

ActiveSheet.ResetAllPageBreaks
' Declaration des variables
Dim nblignesbassin As Integer, nbseries As Integer, comp As Integer, break As Integer
Dim Repertoire As String, Fichier As String, impseries As String

'Initialisation des variables
nblignesbassin = Application.VLookup(Range("B2"), Sheets("Infos").Range("I7:M16"), 5, False)
nbseries = Application.WorksheetFunction.Count(Range("C4:C303"))
comp = nbseries * (nblignesbassin * 2)
Repertoire = ThisWorkbook.Path & Application.PathSeparator & "Séries" & Application.PathSeparator
Fichier = Repertoire & "Series_" & ActiveSheet.Name & ".pdf"

Select Case nblignesbassin
Case Is = 2
break = 60
Case Is = 3
break = 60
Case Is = 4
break = 56
End Select

'Mise en forme
With ActiveSheet
If comp <= 68 Then
.Rows(break + 4).PageBreak = xlPageBreakManual
impseries = Range(Cells(1, 2), Cells((comp + 3), 9)).Address
ElseIf comp > 68 And comp <= 128 Then
.Rows(break + 4).PageBreak = xlPageBreakManual
.Rows(break * 2 + 4).PageBreak = xlPageBreakManual
impseries = Range(Cells(1, 2), Cells((comp + 3), 9)).Address
ElseIf comp > 128 And comp <= 188 Then
.Rows(break + 4).PageBreak = xlPageBreakManual
.Rows(break * 2 + 4).PageBreak = xlPageBreakManual
.Rows(break * 3 + 4).PageBreak = xlPageBreakManual
impseries = Range(Cells(1, 2), Cells((comp + 3), 9)).Address
ElseIf comp > 183 And comp <= 248 Then
.Rows(break + 4).PageBreak = xlPageBreakManual
.Rows(break * 2 + 4).PageBreak = xlPageBreakManual
.Rows(break * 3 + 4).PageBreak = xlPageBreakManual
.Rows(break * 4 + 4).PageBreak = xlPageBreakManual
impseries = Range(Cells(1, 2), Cells((comp + 3), 9)).Address
ElseIf comp > 248 Then
.Rows(break + 4).PageBreak = xlPageBreakManual
.Rows(break * 2 + 4).PageBreak = xlPageBreakManual
.Rows(break * 3 + 4).PageBreak = xlPageBreakManual
.Rows(break * 4 + 4).PageBreak = xlPageBreakManual
.Rows(break * 5 + 4).PageBreak = xlPageBreakManual
impseries = Range(Cells(1, 2), Cells(303, 9)).Address
End If

With .PageSetup
.Orientation = xlPortrait
.Zoom = 72
.LeftMargin = Application.CentimetersToPoints(0.5)
.RightMargin = Application.CentimetersToPoints(0.5)
.TopMargin = Application.CentimetersToPoints(3#)
.BottomMargin = Application.CentimetersToPoints(0)
.HeaderMargin = Application.CentimetersToPoints(0.5)
.CenterHorizontally = True
.FitToPagesWide = 1
.LeftFooter = "&""calibri""&12" & "Edition au : " & Format(Now, "DD/MM/YYYY HH:MM")
.PrintTitleRows = "$1:$3"
.PrintArea = impseries
End With

'C'est à partir de là que tout se complique!!!
.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:=Fichier, _
Quality:=xlQualityMinimum, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End With

End Sub

Si quelqu'un aurait une idée, pour le moment j'ai un peu tout essayé sans trouver la solution
Merci d'avance
Bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 338
Membres
103 191
dernier inscrit
camiux