Imprimer une fiche et sauvegarder une fiche

hello

J’ai créer une fiche pour enregistrer des notes de frais. J’aimerai pouvoir faire deux choses mais je suis bloquée a cause de mes connaissances VBA qui sont faible ( je débute):
1/ imprimer cette fiche quand elle est remplie, via un bouton et une macro associée.
2/ sauvegarder cette fiche (image PDF) dans un classeur spécifique en fonction du remplissage d’une case : la société. J’ai créer un folder par société et j’aimerai que la fiche soit enregistree dans le bon folder en fonction du nom inscrit dans la case societe.

j’ai écris ce code

'Déclaration des variables
Dim NomDossier As String
Dim CheminDossier As String

'Nom de dossier
NomDossier = Application.InputBox(“Dossier Enregistrement :”, “Dossier”)
CheminDossier = “Z:\Documentation generale\Note de frais” & NomDossier & “”

If NomDossier = “” Then Exit Sub

'Enregistrement au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=_
CheminDossier & “Formulaire_” & Range(“D4,I4”).Value & “.pdf”, quality:=_
xlQualityStandard , includedocproperties:=True, ignoreprintarea:=False,_
from:=1, to:=1, openafterpublish:=False

mais la partie enregistrement au format PDF bug…;j ai bien une petite fenetre qui me demande le nom du dossier mais apres j ai une erreur debogage…je suis perdue ! :frowning:

J’espere que mes explications sont claires :slight_smile:

merci beaucoup de votre aide !

eve

Bonjour,
Fallait continuer sur le même post

Les deux macros (pour PDF et Impression)

Option Explicit

Sub EnregistrePDF()
'Déclaration des variables
Dim NomDossier$, CheminDossier$

On Error GoTo 1
'Nom de dossier
NomDossier = Application.InputBox("Dossier Enregistrement:", "Dossier")
CheminDossier = "Z:\Documentation generale\Note de frais" & NomDossier & "\"
If NomDossier = "" Then Exit Sub
'Enregistrement au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
CheminDossier & "Formulaire_" & Range("C4").Value & "_" & Range("I4").Value & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, ignoreprintareas:=False, _
From:=1, To:=1, OpenAfterPublish:=False 'OpenAfterPublish:=True --> affiche le PDF
1
End Sub

Sub Imprime()
  Worksheets("Formulaire").PrintOut
End Sub

fiche de remboursement 2 (1).xlsm (33,4 Ko)

hello

l’impression fonctionne nickel.
cependant, lorsque je lance ma macro apres avoir défini le folder ou je voulais qu’elle s’enregistre (le nom de la société), rien n’est enregistré. Je ne retrouve pas le formulaire.

Une solution serait de mettre OpenAfterPublish:=True et d’enregistrer le document dans le bon folder…
mais ne serait-il pas possible de la faire automatiquement?
c’est peut être avec le nom de dossier que cela bug?

eve

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.