impression excel vers pdf (macro)

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dam44

XLDnaute Nouveau
'Bonsoir à tous
'besoin un ptit coup de main

'recherche macro pour imprimer plusieur feuille d'un classeur excel au format pdf'

'Attention le nom du classeur est "Détermination.xls" et je veux le Renommer 'avec Référence ce trouvant dans un cellule.
'est ce possible de renommer ce fichier temporairement sans fermer ou 'enregistrer le classeur(Détermination.xls) afin de le renommer avec les 'fonctions Enregistrer Sous car la macro sera activer d'un "Userform".


'SVP aider moi je suis partit de cette formule pour mes essais:'


Function NomDest$()
Dim F, N$
N = Worksheets("Feuil1").Range("A1")
N = "Devis " & Replace(N, "/", "")
F = Application.GetSaveAsFilename(N, "fichier pdf,*.pdf")
If F <> False Then NomDest = F
End Function

Sub ImprimePDF()
Dim F, N$
N = NomDest
If N <> "" Then
Sheets(Array("Feuil1")).Select 'Selectionne le Feuille à Imprimer'
Application.ActivePrinter = "CutePDF Writer sur CPW2:" 'Selectionne Imprimante'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"CutePDF Writer sur CPW2:"
End If
End Sub

'Mon Probleme c'est lors de l'enregistrement du fichier au format PDF le Nom du fichier est celui du Classeur "Détermination3 au lieu de la "Référence" 'ce trouvant Feuil1(A1)'
 
Re : impression excel vers pdf (macro)

Bonjour Dam44.
Je suis ton fil avec attention. Je désire faire sensiblement la même chose que toi avec cutepdf. Je suis surpris que plus de 34 personnes on vu le message et qu'on a pas eu de solution a ton problème. Je crois qu'on est nombreux a chercher. Moi c'est un range de cellules que je veut traiter de cette facon.

Il ne manque que très peu de chose a ton code pour qu'il fasse le travail.
Je suis malheureusement pas très ferré en VBA...mais j'apprend.

Yves
 
Re : impression excel vers pdf (macro)

VE2LY à dit:
Bonjour Dam44.
Je suis ton fil avec attention. Je désire faire sensiblement la même chose que toi avec cutepdf. Je suis surpris que plus de 34 personnes on vu le message et qu'on a pas eu de solution a ton problème. Je crois qu'on est nombreux a chercher. Moi c'est un range de cellules que je veut traiter de cette facon.

Il ne manque que très peu de chose a ton code pour qu'il fasse le travail.
Je suis malheureusement pas très ferré en VBA...mais j'apprend.

Yves

Merci à toi VE2LY enfin une personne qui repond présent sur cette attente d'impression j'ai quasi réussi ma macro mai pour ce faite j'ai utilisé acrobat pdf standard (domage d'en arrivé là, non!)
y a t il une autre imprimante pdf gratuite autre que

CutePDF qui demande pas le nom du fichier pdf
PDF Creator trop complexe

je cherche juste à imprimer en pdf (convertir sans aucune modif ensuite à apporter sur le fichier pdf)

Merci de votre attention public du forum
 
Re : impression excel vers pdf (macro)

Bonjour

Pour ma part "j'imprime" presque tout en pdf: photos, fichiers Excel ....

J'utilise jawspdf creator. Le logiciel crée une imprimante pdf, il suffit de déterminer que c'est l'imprimante par défaut.

Pour excel c'est mieux que créer un fichier pour envoyer en faisant des copier coller valeurs .

A+
 
Re : impression excel vers pdf (macro)

Moi j'utilise Cutepdf a cause de sa petite taille, de sa simplicitée et
qu'il est déja installé et roule #1. Avec PDFcreator je ne pourrai l'installer car le systeme est en réseau et je n'ai pas les autorisations ADMIN pour le faire.

Yves
 
Re : impression excel vers pdf (macro)

Salut ,

si ça peut t'aider et répondre à ton besoin:

Sub impress_pdf()

Application.ActivePrinter = "PDFCreator sur Ne01:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator sur Ne01:", Collate:=True
End Sub


>>macro générée par l'outil enregistrement macro de Crosoft : sur l'exemple le doc est enregistrée sur le Bureau.
 
Re : impression excel vers pdf (macro)

Bonjour à tous,

Je cherche aussi une solution pour une impression via macro sous Excel...
Je souhaite automatiser l'impression de bulletins, donc à l'heure actuelle, le bulletin se crée lorsqu'on choisit un nom dans une liste (fait à partir de l'outil validation). Ce que j'aimerai c'est que la macro balaye la liste et imprime en pdf chaque bulletin avec pdf creator et l'idéal serait que les impressions soient mises en attente de façon à pouvoir avoir un seul fichier à lancer sur mon imprimante physique...

Pour le balayage de la liste, je pensais à une boucle for, mais pour l'impression, je ne vois pas comment faire...
Une idée les gens?? 🙂
 
Re : impression excel vers pdf (macro)

Bonjour à tous,

Personnelement j'utilise PDF CREATOR qui ne m'a pas causer de souci, voici le code que j'utilise pour mes impression pdf :
reference pdfcreator a activer.

Code:
Sub ImprPdf()
Dim pdfjob As Object, myprint As String, Port As Integer, Q As String, NoMFichier As String, fichname As String
Dim Destin As String, txt As String, NomPdf As String, DefaultPrinter As String
Q = ""
For Port = 0 To 9 ' test tous les port imprimantes pour activer pdfCreator en imprimante active
        
        myprint = "PDFCreator sur Ne0" & Port & ":"
        On Error Resume Next
        ActivePrinter = myprint
        If ActivePrinter = myprint Then
            
            Exit For
        End If
    Next
 Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
    With pdfjob
        If .cstart("/NoProcessingAtStartup") = False Then ' démarre Pdf Creator en cas de probleme il te le dit
            MsgBox " PDFCreator n'a pu être démarrer.", vbCritical + vbOKOnly, "PrtPDFCreator"
            Exit Sub
        End If
    End With



    NoMFichier = "Récapitulatif Ibis Tarbes " & mois & " " & année ' détermine le non de ton fichier
    fichname = ThisWorkbook.Path & "\" & NoMFichier & ".pdf" ' tu choisit où tu veux que ton fichier soit enregistrer
    Destin = fichname
    txt = Dir(Destin, vbNormal) ' test te permettant de savoir si un fichier du m^me nom existe déja
    If txt <> "" Then
        MsgBox "Ce récapitulatif existe déja"
        Exit Sub
    End If
    
       
            
            NomPdf = NoMFichier & ".pdf"
            
            
                With pdfjob ' application de la configuration demandé plus haut ( nom et chemin du fichier)
                    .cOption("UseAutosave") = 1
                    .cOption("UseAutisaveDirectory") = 1
                    .cOption("AutosaveDirectory") = (ThisWorkbook.Path)
                    .cOption("AutosaveFilename") = NomPdf
                    .cOption("AutosaveFormat") = 0
                    .cClearCache
                    DefaultPrinter = .cDefaultprinter
                End With
            
           
            ThisWorkbook.Worksheets("Récapitulatif").PrintOut Copies:=1, ActivePrinter:=Q & myprint & Q
           
            
                Do Until pdfjob.cCountOfPrintjobs = 1
                    DoEvents
                Loop
                pdfjob.cPrinterStop = False
                Do Until pdfjob.cCountOfPrintjobs = 0
                    DoEvents
                Loop
                Call Sleep(750)
                With pdfjob
                    .cDefaultprinter = DefaultPrinter
                    .cClearCache
                End With
                Set pdfjob = Nothing
                MsgBox ("Le nom de votre fichier : " & NomPdf)
                MsgBox (" Le chemin de ce fichier est : " & ThisWorkbook.Path)
End Sub
ce code a été issue d'un message de ce forum, qui m'avait bien dépanner.
Bon week end a tous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
580
Réponses
6
Affichages
2 K
Réponses
7
Affichages
2 K
Retour