Macro enregistrer en PDF [Résolu/Fermé]

Messages postés
38
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
29 décembre 2016
- - Dernière réponse :  Laloue - 18 oct. 2016 à 22:17
Bonjour

J'ai un modèle de document que j'utilise comme bon de commande.

J'aimerais ajouter a ce modèle un bouton qui m'enregistre ce document sous le format PDF dans un dossier spécifique avec un nom de fichier spécifique (correspondant a une cellule excel).

si vous avez une solution...

merci
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
14762
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 octobre 2019
1174
5
Merci
Re,

Sub Export_PDF()
Dim fichier As String

Date_F = Format(Date, "ddmmmm_")
'adaptez le nom de la feuille
With Worksheets("Feuil1")
fichier = "\" & Date_F & .Range("B7") & ".pdf"
Dossier = "C:\Users\Vincent\Documents\Commande DNA"
Chemin = Dossier & fichier
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
End Sub


reste a savoir quelle feuille vous voulez enregistrer en pdf

Dire « Merci » 5

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61031 internautes nous ont dit merci ce mois-ci

Messages postés
14762
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 octobre 2019
1174
3
Merci
Re,

pour le chemin, vous n'avez besoin que de Dossier et Fichier et pas besoin de rep
Messages postés
38
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
29 décembre 2016
6
1
Merci
Merci mais je suis un peu largé!!

Je souhaite que le nom du fichier soir sous la forme jourmois_nom (15novembre_tartenpion).
La date du jour se trouve en cellule B3 (selon la formule aujourdhui) et le nom en B7

Le dossier se trouve dans mes documents sous le nom "commande DNA"

si tu peux encore m'aider...

merci
Messages postés
14762
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 octobre 2019
1174
1
Merci
Re,

le chemin des "Mes Documents" n'est pas le meme suivant l'OS, a vous de trouver ce chemin. Dans l'exemple, c'est la feuil1 qui est sauvegardee, vous c'est ????

Sub Export_PDF()
Dim fichier As String

Date_F = Format(Date, "ddmmmm_")
'adaptez le nom de la feuille
With Worksheets("Feuil1")
fichier = "\" & Date_F & .Range("B7") & ".pdf"
'pensez a ecrire le chemin
Dossier = "\commande DNA"
'Mes Documents a adapter a votre PC
rep = "C:\Users\SWF"
Chemin = rep & Dossier & fichier
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
End Sub
Messages postés
38
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
29 décembre 2016
6
1
Merci
j'obtient

erreur d'execution 5
argument ou appel de procedure incorect

debogage: (partie en jaune)

.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Messages postés
38
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
29 décembre 2016
6
1
Merci


j'ai Excel 2007. Voila une capture du message.
Messages postés
38
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
29 décembre 2016
6
1
Merci
comme ceci?



Ça ne marche pas mieux...
Messages postés
38
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
29 décembre 2016
6
1
Merci
Ne faut il pas un add-on ou plugin pour la concersion PDF?
Quand je souhaite enregistrer, le format PDF ne m'est pas proposé.
Messages postés
38
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
29 décembre 2016
6
1
Merci
Ca y est ca marche!!!

Merci pour l'aide et la patience...
Bonjour,

J'ai aussi un problème d'erreur 5.

La macro tourne pour les 6 premiers onglets sur 29 qu'elle enregistre en PDF puis bug, impossible de comprendre pourquoi ?!

Si vous avez une idée pour m'aider je suis preneur.


Sub Enregistrer_PDF()
'Chemin contiendra le chemin de la sélection et
'choix prendra la valeur 0 pour rechercher uniquement les dossiers et
'n'importe quel autre valeur (de 1 à 255) pour rechercher un dossier ou un fichier.
'choix repertoire
Dim choix As Byte
choix = 0
Chemin = ChoixDossierFichier(choix)
If Chemin <> "" Then
For X = 1 To Worksheets.Count
NO = Worksheets(X).Name
Worksheets(NO).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & NO & " Commission " & Format(Date, "yyyy-mm") & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Next X
End If
End Sub

'code trouve sur internet pour selection repertoire ou/et fichier
Function ChoixDossierFichier(SelType As Byte) As String
Dim objShell As Object, objFolder As Object
Dim Chemin As String, Msg As String
Dim FlagChoix As Long, NbPoint As Integer

If SelType = 0 Then
FlagChoix = &H1
Msg = "Selectionner un dossier :"
Else
FlagChoix = &H4000
Msg = "Selectionner un fichier :"
End If

Set objShell = CreateObject("Shell.Application")
' &h1
' 1er paramètre toujours 0 (zéro). Il représente le handle de la fenêtre parent
' 2ème paramètre Titre de la boite, en dessous de la barre de titre
' 3ème paramètre options de BrowseForFolder
' 4ème paramètre Facultatif. Répertoire de début d'exploration
On Error Resume Next
Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
'Si l 'objet retourné est valide, on teste son contenu (item.title)
'Si on a sélectionné la racine d'une partition, il se compose du nom de la partition,
' suivi de sa lettre et ":" entre parenthèses NbPoint = InStr(objFolder.Title, ":")
If NbPoint = 0 Then
'Sinon, il se compose du nom du dossier uniquement, sans le chemin précédent
'On récupère ce chemin à l'aide des propriété et méthode ParentFolder.ParseName
Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & ""
Else
'si racine on récupère la lettre du lecteur et les 2 points
Chemin = Mid(objFolder.Title, NbPoint - 1, 2)
End If
ChoixDossierFichier = Chemin
End Function


Merci d'avance
> Adrien -
Si ça peut aider quelqu'un j'ai résolu mon problème qui venait du fait que j'avais des onglets cachés qui stoppaient le fonctionnement de la macro.
Bonsoir,

Moi j'aurais besoin de la même base, sauf qu'il faudrait que cela ne concerne que la feuille active et non les autres... Comment faire?
Messages postés
14762
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 octobre 2019
1174
0
Merci
Bonjour,

un exemple:

Sub Export_PDF()
Dim fichier As String
'adaptez le nom de la feuille
With Worksheets("Feuil1")
fichier = "Devis n°" & .Range("B12") & .Range("B13") & ".pdf"
'pensez a ecrire le chemin
Chemin = rep & "\" & fichier
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
End Sub
Messages postés
14762
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 octobre 2019
1174
0
Merci
Re,

chez moi ca marche, avez-vous adapte le chemin du fichier ??????

quel excel avez-vous?
Messages postés
38
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
29 décembre 2016
6
0
Merci
Reprenons,

J'ai progresser en installant le plug in et avec l'enregistreur de macro.
il me reste a ce que le fichier se nome seul selon la cellule K4
pouvez vous m'inserer la fonction?

Sub pdf()
'
' pdf Macro
'

'
ChDir "C:\Users\Vincent\Documents\Commande DNA"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Vincent\Documents\Commande DNA\Modele commande.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub