Enregistrer sous PDF

Bonjour à tous,

Je pense que sa a déjà été demandé mais bon...

J'aimerais une macro avec un bouton "Enregistrer" qui m'envoie sur l'onglet enregistrer et qu'il me mètte le format en pdf.

L’intérêt pour moi serais de pouvoir enregistrer ma feuille1 avec le nom que je veux.

Le pdf s'enregistrera ici : Y:\ASSISTANT QUALITE\Calcul des Indicateurs

(J'ai essayé de le faire avec l'enregistreur de macro et le résultat n'est pas concluent)

Merci d'avance! Et bon weekend à tous.

Bonjour toutes et tous

ton image on ne voit pas bien l'intérieur de la zone sélectionnée de couleur bleu dans le champ destination

ici macro enregistrer sous pdf

à tester :

remplacer celle du vba par :

Option Explicit
Sub facture_PDF()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "Y:\ASSISTANT QUALITE\Calcul des Indicateurs" 
End Sub

crdlt,

André

Bonjour Andre18

Message d'erreur lorsque j'introduis la ligne :/

Erreur d'execution '-2147024773 (800 700 7b)'

Document non enregistré.

Mon code :

Option Explicit
Sub enregistrer()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "Y:\ASSISTANT QUALITE\Calcul des Indicateurs"

End Sub

re,

à tester

Edit : c'est un sous repertoire 'Calcul des Indicateurs ou c'est à remplacer par Calcul des ODT ?

Option Explicit
Sub enregistrer()
Dim nompdf As String

On Error GoTo erreur

    nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\" & ActiveSheet.Name & "_Calcul des ODT"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Exit Sub

erreur:

    MsgBox "Erreur : " & Err.Number & vbLf & Err.Description

End Sub

Super sa fonctionne !

Je vais adapter maintenant avec mes cellules pour le nom du PDF.

Grand merci à toi pour ton aide et ta rapidité ! <3

(Si j'y arrive pas je re posterai )

re,

aussi non :

remplace celle de dessus par celle-ci

nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs" & "\" & "_Calcul des ODT"

çà doit ressembler à un truc comme çà

il y a trop d'exemples sur le site pour enregistrer au format .pdf

crdlt,

André

J'essaye merci.

Et si je veux que mon pdf prenne les valeurs (texte) des cellules B12, B13 et B14 comme ceci :

B12_B13_B14.pdf

Je fais comment s'il te plait? j'ai essayé ceci : mais pas concluent :/

nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\" & Range("B12").Value & "_" & Range("B13").Value & "_" & Range("B14").Value

Edit j'ai pas réussi lol

Re

Edit : super tu as trouvés cool

avec la date

nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs" & "_" & "Calcul des ODT" & "_" &  Range("B12").Value & "_" & Format(Date, "dd_mm_yyyy") 

ou

sans la date

nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs" & "_" & "Calcul des ODT" & "_" &  Range("B12").Value & "_" &  Range("B13").Value & "_" & Range("B14").Value

Erreur 1004

Document non enregistré.Le document est peut-être ouvert ou une erreur s'est produite lors de l'enregistrement.

nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs" & "_" & "Calcul des ODT" & "_" &  Range("B12").Value & "_" &  Range("B13").Value & "_" & Range("B14").Value

Ahhhh que faire?

Je bloque sur un truc bête j'en suis sur!

Re,

a) Tu veux enregistrer sur ton bureau ? dans le sous- répertoire Calcul des Indicateurs

b) La lettre Y correspond-elle au chemin spécifiée ?

c) Que contiennent les cellules B12,13 et B14 ? (attention aux caractères interdits et date)

nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\" & "Calcul des ODT" & "_" &  Range("B12").Value & "_" &  Range("B13").Value & "_" & Range("B14").Value

le slash ou barre oblique (\) j'pense

crdlt,

André

Non je veux pas enregistrer sur mon bureau c’était une image comme sa on va dire pour illustrer mes propos.

Oui le Y c'est le chemin, je veux que mon pdf soit enregistrer ici : Y:\ASSISTANT QUALITE\Calcul des Indicateurs

B12 -> texte que je choisie avec un menu déroulant (exemple ici j'ai : Mecafondo Client)

B13 -> texte que je choisie avec un menu déroulant (exemple ici j'ai : Airbus)

B14 -> Date que je choisie avec un menu déroulant (exemple ici j'ai : sept-17)

Je voudrais que mon pdf soit enregistrer sous le nom des cellules (exemple ici : Mecafondo Client_Airbus_sept-17.pdf)

Edit: Si le menu déroulant pose problème je peux mettre la valeur des cellules sur d'autres cellules.

Exemple AB2=B12

AB3=B13

AB4=B14

Re,

ne t’inquiètes pas nous allons y arrivé, juste que le matin mon cerveau le temps qu'il se mette en service lol

tu m'avais dit que celui du 2ème post était presque bon

EDIT celulle B14 c'est une date

si ci-dessous cela ne fonctionne pas

juste supprimer ==>

& Range("B14").Value

<==

pour voir

Option Explicit
Sub enregistrer()
Dim nompdf As String

On Error GoTo erreur

    nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\" & "Calcul des ODT" & ActiveSheet.Name &  "_" &  Range("B12").Value & "_" &  Range("B13").Value & "_" & Range("B14").Value
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Exit Sub

erreur:

    MsgBox "Erreur : " & Err.Number & vbLf & Err.Description

End Sub

Ne t'inquiète pas le mien est aussi embrumé.

Avec ton nouveau code sa ne fonctionne pas, même message d'erreur 1004. :/

re,

il contient une date personnalisée c'est pour cela que çà bug

faudrait juste enlever cette partie du code ci-dessus

plusieurs tests à effectuer

Test en changeant la ligne :

feuille active

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

par

ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

et pour la date cellule B14

à remplacer

& Range("B14").Value

par

 & Format ([B14], "dd_mm_yyyy") 

ou

 & Format ([B14], "dd_mm")

Effectivement sa fonctionne maintenant ! merci

J'ai enlevé ceci car je n'en avait pas besoin:

 & "Calcul des ODT" & ActiveSheet.Name &  "_" 

Tu pense que y'a un moyen de mètre cette date ou pas? (si non, je ferai sans ! hihi)

et pour la date cellule B14

à remplacer

& Range("B14").Value

par

 & Format ([B14], "dd_mm_yyyy") 

ou

 & Format ([B14], "dd_mm")

Edit, pas bu mon 2ème café lol n’hésite pas à mettre le code comme tu as mis, en cas si besoin pour un autre user

crdlt,

André

SUPER GENIAL TOPISSIME!!!! merci beaucoup vraiment!

Le code en entier :

Option Explicit
Sub enregistrer()
Dim nompdf As String

On Error GoTo erreur

    nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\" & Range("B12").Value & "_" & Range("B13").Value & "_" & Format([B14], "mmmm_yyyy")
    ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Exit Sub

erreur:

    MsgBox "Erreur : " & Err.Number & vbLf & Err.Description

End Sub

Mon fichier est enregistré comme ceci : "Mecafondo Client_Airbus_septembre_2017.pdf" c'est exactement ce que je voulais!

Grand merci à toi! <3

re,

cool super c'est un grand merci à dire à toutes celles et ceux qui code car sans eux moi je n'y serais jamais arrivé mais le but c'est de comprendre et un grand merci à eux et tout les participant(es)

j'ai juste cherché à droite et gauche recherché dans tout les posts pour trouver une bonne combinaison c'est tout

EDIT: tu peux mettre à False pour ne pas ouvrir le document au format .pdf

OpenAfterPublish:=True

True à False

Merci également pour votre aide. Ce code m'aide beaucoup également. Par contre, en partant du code entier publié par Lasgalen j'aimerais bien y ajouter une vérification. Si le nom du fichier que l'on veut enregistrer existe déjà, j'aimerais qu'il nous indique un message box pour m'en aviser et que je change mon nom de fichier dans ma feuille excel.

Quelqu'un peux m'aider? merci beaucoup!

Rechercher des sujets similaires à "enregistrer pdf"