Bouton impression PDF

Bonjour,

J'ai un fichier qui lorsque est analysé par la macro devrait afficher un bouton PDF à l'onglet "Article 19".

C'est juste quand je clique sur ce bouton, je reçois le message d'erreur suivant:

Pour que la macro fonctionne faut préalablement enregistrer les chemins des deux fichiers : TableEmploi.xls et ProcédureEmploi.xls (voir capture d'écran)

Puis il faut appuyer sur le bouton "Exécuter procédure" pour sélectionner le fichier que la macro doit analyser, par exemple: Fichier départ_VM-18-VACA-754320-1.xls.

Est-il possible de faire fonctionner le bouton en question ?

11procedureemploi.zip (16.54 Ko)
12tableemploi.zip (25.44 Ko)
17macro.zip (104.71 Ko)

Bonjour,

j'ai testé cela fonctionne si le fichier macro.xls est en extension .xlms

ci-joint, à voir

EDIT: oups j'ai du mal lire la question sorry

crdlt,

André

23macro.xlsm (96.27 Ko)

Bonsoir Andre13,

Merci d'avoir testé, mais comme t'as dû le constater le bouton PDF ne fonctionne pas, n'est-ce pas ?

Bonjour,

j'ai testé apparemment cela fonctionne sur la feuille 'Instructions du classeur Macro.xlsm j'ai juste changé le Integer en String de la variable de la macro

j'ai ajouté un bouton

Sub CreationPDFfile()
    Dim PDFname As String, ans As String
    PDFname = "Tableau 19.09 cc_" & Range("b6").Value
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=ActiveWorkbook.Path & "\" & PDFname
    ans = MsgBox("Le fichier PDF a été créé, voulez-vous l'afficher ?", vbYesNo)
    If ans = vbYes Then OpenPDF ActiveWorkbook.Path & "\" & PDFname & ".pdf"
End Sub

si j'ai compris ?

z5000
7tableemploi.zip (25.44 Ko)
12macro.xlsm (102.76 Ko)

Bonjour Andre13,

En fait, ce n'est pas tout à fait ça le problème.

J'ai fait une vidéo qui reproduit le problème rencontré, http://sendvid.com/v4ylpbel

J'espère que c'est clair pour toi

Merci.

Bonjour toutes et tous

Ah oui c'est différent, je comprend mieux le problème,

donc, j'ai effectué un test, comme cela dit la création de ce nouveau bouton pdf, j'ai juste mis dans le module Daniel

ceci : (je pense qu'il y a beaucoup plus simple est plus adapté)

voir celui qui nous interresse c'est le bt.OnAction il faut lui donner sur quel classeur se trouve la macro afin de pouvoir l’exécuter ce fameux pdf

bt.OnAction = "Macro.xls!CreationPDFfile"

, je suis sur une version d'Excel 2007 un peu obsolète qui me marque parfois des lignes d'erreurs mais , c'est à tester

Sub CreatePDFmacroButton()
    Dim bt As Variant
    If Application.Version <= 11 Then Exit Sub 'la procédure PDF n'est pas ajouté si version XL 2003
    Set bt = ActiveSheet.Buttons.Add(658.5, 49.5, 64.5, 23.25)
    bt.Characters.Text = "PDF"
    With bt.Characters(Start:=1, Length:=3).Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 10
        .Bold = True
    End With
    bt.Width = 40
    bt.Height = 20
   bt.Top = 10
   bt.Left = 675
   bt.OnAction = "Macro.xls!CreationPDFfile"
End Sub

EDIT : la mise en page du pdf est a recalculé car dépassement des marges de la feuille

crdlt,

André

Bonjour Forum, Andre13,

Tout d'abord, je m'excuse du délai de réponse.

J'ai fait le test et ça semble fonctionner à merveille. Merci de m'avoir expliqué le problème.

Dernière chose, est-ce que je peux jouer avec la mise en page dans la macro ?

Bonjour,

Pas de souci, sur la feuille à modifier je ne pense pas sur la macro la dernière car c'est juste le bouton rien à voir avec la mise en page de ton futur pdf

à voir tester et sauvegarder avant toute modification

crdlt,

André

Re-bonjour,

Est-ce que ce bout du code détient la réponse quant à la mise en page ?

Sub FormatSheets()
    Dim NbCandidats As Integer, i As Integer, NbColumns As Integer, sh As Worksheet, wb As Workbook

    For Each sh In ActiveWorkbook.Worksheets
        If sh.Name <> "Article 19" And sh.Visible = xlSheetVisible Then
            sh.Activate
            ActiveWindow.DisplayGridlines = False
            sh.PageSetup.FitToPagesWide = 1
            sh.PageSetup.FitToPagesTall = False
            Cells.RowHeight = 18.75
            Cells.VerticalAlignment = xlCenter
            Range("a1").EntireRow.AutoFit
            Range("a1").Select
        End If
        If sh.Name = "Analyse" Then
            sh.PageSetup.PaperSize = xlPaperLegal
        End If
    Next sh

    On Error Resume Next
    Sheets("Article 19").Activate
    If Err = 0 Then
        ActiveWindow.LargeScroll Down:=-3
        Rows("11:11").Select
        ActiveWindow.FreezePanes = True
        Range("a1").Select
    Else
        Err.Clear
    End If

Bonjour,

je pense que oui mais incertain

car je vois : sh.PageSetup.PaperSize = xlPaperLegal

https://msdn.microsoft.com/en-us/library/office/aa221100(v=office.11).aspx (légèrement plus bas au milieu)

crdlt,

André

Rechercher des sujets similaires à "bouton impression pdf"