XL pour MAC Export pdf

  • Initiateur de la discussion Initiateur de la discussion delube
  • Date de début Date de début

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

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
473
Réponses
3
Affichages
424
Réponses
2
Affichages
352
Réponses
16
Affichages
935
Réponses
0
Affichages
426

Statistiques des forums

Discussions
315 283
Messages
2 118 013
Membres
113 408
dernier inscrit
lausablk