Enregistrement PDF:nom de fichier à entrer dans une fenêtre

Bonjour,

Voilà, mon problème doit vous paraitre très simple. J'ai cherché sur internet, je n'ai pas réussi à apporter moi même de solution.

J'aimerais enregistrer une des feuilles de mon classeur au format PDF : l'utilisateur devra entrer le chemin d'accès (ça j'ai) mais aussi le nom du fichier (ça j'ai pas....), l'déal serait que ces deux variables soient affichées dans la même fenêtre.

Première possibilité :

Actuelleme, j'ai un code qui permet à l'utilisateur de selectionner le dossier dans lequel enregistrer le fichier en PDF (qui récupère le chemin d'accès).

J'aimerais bien que l'utilisateur puisse aussi entrer, dans la même fênetre (fenetre qui propose à l'utilisateur de rentrer le chemin d'accès, voir piece jointe) le nom du fichier. Car actuellement, le nom est défini dans le code.

Je pourrais très bien ouvrir un userform, demander à l'utilisateur d'entrer le nom du fichier, récuperer la variable, mais bon, ça ferait plein de fenêtre, si jamais on peut tout mettre dans une seule, ça serait l'idéal

Deuxième possibilité :

Afficher un aperçu PDF, qui ne s'enregistre pas automatiquement mais qui laisse le choix à l'utilisateur d'enregistrer le fichier ou il veut et de choisir le nom du fichier ou alors imprimer.

La solution qui m'interesse le plus est la deuxième solution. J'ai cherché, mais je n'ai pas trouvé.

INFO : j'aimerais avoir à ne rien installer, du genre PDF créator.

Merci pour votre aide

Bonjour

NFO : j'aimerais avoir à ne rien installer, du genre PDF créator.

Il te faut justement une option imprimante pdf dans tes imprimantes disponibles lors de l'impression.

Avec Excel 2010 il est possible d'imprimer en PDF directement

Il faut définir l'imprimante utilisée avec un genre d'instruction comme ceci :

Application.ActivePrinter = "nom imprimante"

Je n'ai pas encore excel 2010 mais je pense que tu devrais faire l'opération d'impression PDF avec l'enregistreur automatique d'excel. De là on voit mieux le code dont on peut s'inspirer.

A te relire

Merci,

Je ne pensais pas qu'on pouvais utiliser l'enregistreur automatique d'excel pour avoir le code concernant un enregristrement en format PDF. C'est bien pratique.

Le code fonctionne bien, seulement, j'aurais besoin d'aide :

Le code marche pour un nom et un emplacement donnée (celui que j'ai utilisé lors de l'enregistrement automatique).

J'aimerais bien avoir une fenêtre (la même qu'on voit quand on fait manuellement fichier -> enregistrer sous), et que le chemin et le nom du fichier soient des varaibles qui changerait à volonté.

Le nom du fichier, je pourrais faire avec un Userform et un textBox, mais pour le chemin..... plus compliqué ^^

Sub pdf()
'
' pdf Macro
'

'
    ChDir "D:\Documents and Settings\essai\Desktop"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "D:\Documents and Settings\essai\Desktop\Classeur1.pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
End Sub

Comment faire pour que ChDir et Filename changent en fonction de ce que l'utilisateur aura rentré dans la fenêtre ?

Parce que là je retombe sur le même problème que j'avais précédement.

re,

Sans tester car je n'ai pas excel 2010, essaie ceci qui ouvre la boite de dialogue enregistrer sous, ajoute le nom du fichier et clique sur Enregistrer

Dim fichier As String
On Error Resume Next
fichier = Application.GetSaveAsFilename("")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "fichier" & "pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=True

Si ok, clique sur le V vert à coté du bouton Editer pour cloturer le fil

Amicalement

Parfait, c'est exactement ce que je cherchais, vraiment, merci pour tout

Il y a juste une faute (de frappe je suppose) au nieau du Filename :

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "fichier" & "pdf"

au lieu de

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        fichier & "pdf"

Merci encore !

Bonne journée !!!!


Ah, par contre, j'ai un petit souci (encore ^^)

Tout fonctionne bien, seulement quand je veux fermer ou annuler l'enregistrement, ça m'enregistre quand même mon pdf, sous le nom de "fauxpdf".

Est il posible de fermer simplement cette fenêtre, sans génerer aucun pdf ?

re

Essaie en mettant cette instruction juste après "fichier = Application.GetSaveAsFilename("")

If fichier = "Faux" Then Exit Sub

Amicalement

Merci encore une fois, ça marche très bien avec ce rajout de code.

Désolé de répondre un peu tard.

J'ai rajouté en plus un code qui permet de ne pas écraser un fichier qui porterais le même nom.

Si jamais ça interesse quelqu'un, je le met (ok, je pense qu'on peut alleger le code, qu'il y a surement des redondances et qu'on peut surement faire mieux, je n'ai pas la prétention de dire que c'est nickel, mais ça marche pour ce que je veux faire ^^)

Sub pdf_temperature()

Dim fichier As String
On Error Resume Next

fichier = Application.GetSaveAsFilename("")
If fichier = "Faux" Then Exit Sub

If Dir(fichier & "pdf") <> "" Then

    Dim Rep As VbMsgBoxResult
    Rep = MsgBox("Etes-vous sûr de vouloir écraser le fichier existant ?", vbYesNo + vbQuestion, "Confirmation de sauvegarde")

        If Rep = vbYes Then
        'Si oui, on écrase le fichier existant
            Sheets("PDF_eau_sortie").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            fichier & "pdf", Quality:= _
            xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
        End If
        If Rep = vbNo Then
        'Si non, on enregistre pas
            MsgBox "PDF non enregistré"
        End If
Else
    Sheets("PDF_eau_sortie").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            fichier & "pdf", Quality:= _
            xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
    End If

End Sub

Encore merci à toi Dan

Rechercher des sujets similaires à "enregistrement pdf nom fichier entrer fenetre"