Code VBA
IMESYS
Messages postés
4
Statut
Membre
-
via55 Messages postés 14391 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14391 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
je débute en codage VBA et aurait besoin d'un coup de main.
quelqu'un pourrait il m'aider pour créer un code afin de pouvoir imprimer une facture sur un classeur Excel 2007 dans un dossier dont le chemin est le suivant.
C:\Users\imesy\Documents\Dossier Factures
J'ai essayé ce code, mais ça m'imprime la facture sous le n° O.PDF dans mes documents C:\.
j'aurais voulu qu'elle soit enregistrée dans le bon dossier et avec le bon n° de facture qui est dans la cas C8 de ma facture.
Merci à vous tous.
je débute en codage VBA et aurait besoin d'un coup de main.
quelqu'un pourrait il m'aider pour créer un code afin de pouvoir imprimer une facture sur un classeur Excel 2007 dans un dossier dont le chemin est le suivant.
C:\Users\imesy\Documents\Dossier Factures
Sub EnregistreFacture()
'Déclaration des Variables
Dim NomDossier As String
Dim CheminDossier As String
On Error GoTo 1
'nom Dossier
NomDossier = Application.InputBox("Dossier Enregistrement : ", "Dossier")
CheminDossier = "C:\Users\imesy\Documents\Dossier Factures \" & NomDossier & "\"
If NomDossier = "" Then Exit Sub
'Enregistrement au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
from:=1, to:=1, openafterpublish:=False
1
End Sub
J'ai essayé ce code, mais ça m'imprime la facture sous le n° O.PDF dans mes documents C:\.
j'aurais voulu qu'elle soit enregistrée dans le bon dossier et avec le bon n° de facture qui est dans la cas C8 de ma facture.
Merci à vous tous.
4 réponses
-
Bonsoir
Essaie :
nomcomplet=nomdossier & range("C8") &".pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ nomcomplet, Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ OpenAfterPublish:=False
Cdlmnt
Via-
- j'ai fait comme indiqué. Cela fonctionne mais j'ai un souci, la facture ne s'enregistre pas dans "Dossier Factures" mais dans mes Documents.
le dossier de sauvegarde est "C:\Users\imesy\Documents\Dossier Factures \"
Il manque quelque close à la commande dans le chemin dossier.
Merci de ton aide.
IMESYS
-
j'ai fait comme indiqué. Cela fonctionne mais j'ai un souci, la facture ne s'enregistre pas dans "Dossier Factures" mais dans mes Documents.
le dossier de sauvegarde est "C:\Users\imesy\Documents\Dossier Factures \"
Il manque quelque close à la commande dans le chemin dossier.
Merci de ton aide.
IMESYSSub EnregistrementFactures() 'Déclaration des Variables Dim NomDossier As String Dim CheminDossier As String On Error GoTo 1 'nom Dossier NomDossier = Application.InputBox("Dossier Enregistrement : ", "Dossier") CheminDossier = " C:\Users\imesy\Documents\Dossier Factures\" & NomDossier & "\" If NomDossier = "" Then Exit Sub 'Enregistrement au format PDF nomcomplet=nomdossier & range("C8") &".pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ nomcomplet, Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ OpenAfterPublish:=False 1 End Sub
-
-
Oh oui; étourderie de ma part j'ai omis de réintégrer aussi le chemin
nomcomplet=CheminDossier & NomDossier & range("C8") &".pdf"
-
Merci pour la réponse.
Mais après modification, hélas je n'ai plus rien qui s'enregistre dans l'ordinateur.
Je suis revenu à nomcomplet=NomDossier & range("C8") &".pdf" et j'ai essayé de mettre mon fichier excel sur le disque D:\ avec chemin dossier "D:\ Documents\Dossier Factures\"
lorsque je veux sauvegarder la facture je retrouve mon PDF sur C:\ Documents.
Je n'y comprends plus rien.
-
-
L'erreur provient sans doute de l'espace entre le " et C dans ta déclaration de CheminDossier (voir ton post n° 4)
Essaie ainsi :Sub EnregistrementFactures() 'Déclaration des Variables Dim NomDossier As String Dim CheminDossier As String On Error GoTo 1 'nom Dossier NomDossier = InputBox("Dossier Enregistrement : ", "Dossier") CheminDossier = "C:\Users\imesy\Documents\Dossier Factures \" & NomDossier & "_" & Range("C8") & ".pdf" If NomDossier = "" Then Exit Sub 'Enregistrement au format PDF ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ CheminDossier, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True Exit Sub 1 End Sub
Cela marche parfaitement chez moi (avec un chemin bien sûr)
-
Vérifie qu'il n'y a pas d'autres espaces
et que NomDossier est correct
(tu peux tester ce que retourne lINPUTBOX en rajoutant une ligne en-dessous :
MsgBox NomDossier)
Idem quand tu as le chemin MsgBox CheminDossier te permettra sans doute de trouver l'erreur