Dim.Reichart
XLDnaute Occasionnel
Bonjour,
Je débute en VBA (j'ai commencé ce matin, merci à l'enregistrement auto de macro), mais la j'ai du mal.
Donc, je vous explique:
-En AF4, j'ai une liste déroulante de mois de l'année
-En AJ4, une liste déroulante des années
-Sur G9:AN16, un tableau de planning, la ligne 16 est celle des totaux
-le nom de l'agent en M6
Donc, voici ce que j'ai pour l'instant:
Le bouton doit
-imprimer le planning en PDF (plus les fioritures autour, la plage est plus large, c'est normal), nommé "Pointage Mois Année Agent"
-créer un lien vers le PDF imprimé en E3, ou dessous si la cellule est pleine
-copier le planning du mois en dessous, en laissant une ligne vide,
-copier le mois et l'année sur la case équivalente à g9 à l'emplacement de copie
-vider le tableau, sur G11:AN15, AF4 et AJ4
Alors d'une part, je pense qu'il y a pas mal d'erreurs dans mon code, mais surtout, il ne veut pas valider l'hyperlien vers le PDF, il me donne une erreur "erreur de compilation. Attendu: expression"... autant dire que c'est du chinois pour moi à l'heure actuelle...
Dans un monde parfait, le PDF serait créé dans un dossier portant le nom de l'année concernée, et un sous dossier avec le nom de l'agent.
Voila, je pense n'avoir rien oublié, je vous remercie d'avance pour toute aide, explication ou autre forme d'empathie à l'égard de mon soucis...
Je débute en VBA (j'ai commencé ce matin, merci à l'enregistrement auto de macro), mais la j'ai du mal.
Donc, je vous explique:
-En AF4, j'ai une liste déroulante de mois de l'année
-En AJ4, une liste déroulante des années
-Sur G9:AN16, un tableau de planning, la ligne 16 est celle des totaux
-le nom de l'agent en M6
Donc, voici ce que j'ai pour l'instant:
VB:
Private Sub CommandButton1_Click()
'
' Imprimer_pointage Macro
'
'
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "$G$1:$AN$16"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.708661417322835)
.RightMargin = Application.InchesToPoints(0.708661417322835)
.TopMargin = Application.InchesToPoints(0.748031496062992)
.BottomMargin = Application.InchesToPoints(0.748031496062992)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Application.PrintCommunication = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Range("E3").Select
ActiveSheet.Hyperlinks.Add Anchor:=cells.Find("","e3",,,xlbycolumns,xlNext,,,), Address:= _
"Pointage%20"& aj4 &af4 &m6& ".pdf", TextToDisplay:= _
"Pointage " &aj4& " " &af4& " " &m6
Dim lig As Long, haut As Long
lig = Range("g" & Rows.Count).End(xlUp).Row + 4
haut = Cells.Find("", "g9", xlByColumns, xlNext)
Range("G9:AN" & haut).Select
Selection.Copy
Range("G" & lig).Select
ActiveSheet.Paste
ActiveCell.FormulaR1C1 = af4 & aj4
Range("G11:AN15,AF4,AJ4").Select
Selection.ClearContents
End Sub
Le bouton doit
-imprimer le planning en PDF (plus les fioritures autour, la plage est plus large, c'est normal), nommé "Pointage Mois Année Agent"
-créer un lien vers le PDF imprimé en E3, ou dessous si la cellule est pleine
-copier le planning du mois en dessous, en laissant une ligne vide,
-copier le mois et l'année sur la case équivalente à g9 à l'emplacement de copie
-vider le tableau, sur G11:AN15, AF4 et AJ4
Alors d'une part, je pense qu'il y a pas mal d'erreurs dans mon code, mais surtout, il ne veut pas valider l'hyperlien vers le PDF, il me donne une erreur "erreur de compilation. Attendu: expression"... autant dire que c'est du chinois pour moi à l'heure actuelle...
Dans un monde parfait, le PDF serait créé dans un dossier portant le nom de l'année concernée, et un sous dossier avec le nom de l'agent.
Voila, je pense n'avoir rien oublié, je vous remercie d'avance pour toute aide, explication ou autre forme d'empathie à l'égard de mon soucis...
Dernière édition: