Sauvegarder factures en PDF
simkmil
Messages postés
504
Statut
Membre
-
simkmil Messages postés 504 Statut Membre -
simkmil Messages postés 504 Statut Membre -
Bonjour,
J'ai encore besoin d'un petit coup de main pour l'élaboration de la facture d'un ami, monteur de pneus.
J'ai bien avancé (beaucoup grâce à l'aide du forum de CCM !)
J'ai maintenant toute ma facture qui s'automatise :
Les noms dans une liste déroulante. Le reste de l'adresse va se chercher automatiquement.
Je sais vider mes cellules et augmenter mon numéro de facture.
Je sauvegarde également ma facture dans un "Historique factures" équivalent à un facturier de sortie.
Mais maintenant, je voudrais sauver ma facture en pdf, afin de pouvoir - l'envoyer par mail au client
- pouvoir l'imprimer à nouveau en cas de demande.
et c'est là que je cale.
J'ai suivi le tutoriel de Naël sur YouTube, mais la partie permettant de sauvegarder en pdf ne fonctionne pas.
Je vous joins mon code pour cette partie, saurez vous m'aider ?
Sub EnregistrementFacture()
'je d?clare mes variables
Dim NomDossier As String
Dim Chemin As String
'je nomme le dossier et donne le chemin
NomDossier = Application.InputBox("ArchivageFactures:", "Ann?e ?")
Chemin = "C:\Documents\ArchivageFactures\" & NomDossier & "\"
If NomDossier = "" Then Exit Sub
'j'enregistre au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypexlsx, Filename:= _
Chemin & "FactureNumero_" & Range("B10").Value & ".pdf", quality:= _
xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
from:=1, to:=1, openafterpublish:=False
End Sub
J'ai encore besoin d'un petit coup de main pour l'élaboration de la facture d'un ami, monteur de pneus.
J'ai bien avancé (beaucoup grâce à l'aide du forum de CCM !)
J'ai maintenant toute ma facture qui s'automatise :
Les noms dans une liste déroulante. Le reste de l'adresse va se chercher automatiquement.
Je sais vider mes cellules et augmenter mon numéro de facture.
Je sauvegarde également ma facture dans un "Historique factures" équivalent à un facturier de sortie.
Mais maintenant, je voudrais sauver ma facture en pdf, afin de pouvoir - l'envoyer par mail au client
- pouvoir l'imprimer à nouveau en cas de demande.
et c'est là que je cale.
J'ai suivi le tutoriel de Naël sur YouTube, mais la partie permettant de sauvegarder en pdf ne fonctionne pas.
Je vous joins mon code pour cette partie, saurez vous m'aider ?
Sub EnregistrementFacture()
'je d?clare mes variables
Dim NomDossier As String
Dim Chemin As String
'je nomme le dossier et donne le chemin
NomDossier = Application.InputBox("ArchivageFactures:", "Ann?e ?")
Chemin = "C:\Documents\ArchivageFactures\" & NomDossier & "\"
If NomDossier = "" Then Exit Sub
'j'enregistre au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypexlsx, Filename:= _
Chemin & "FactureNumero_" & Range("B10").Value & ".pdf", quality:= _
xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
from:=1, to:=1, openafterpublish:=False
End Sub
Configuration: Windows / Edge 17.17134
A voir également:
- Facture boulanger pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Save as pdf office 2007 - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Darty ou boulanger - Guide
- Réglo mobile facture ✓ - Forum Autres opérateurs mobiles
4 réponses
Bonjour,
Teste comme ceci
Teste comme ceci
Sub EnregistrementFacture()
'je d?clare mes variables
Dim NomDossier As String
Dim Chemin As String
'je nomme le dossier et donne le chemin
NomDossier = Application.InputBox("ArchivageFactures:", "Année ?")
Chemin = "C:\Documents\ArchivageFactures\" & NomDossier & "\"
If NomDossier = "" Then Exit Sub
'j'enregistre au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Chemin & "FactureNumero_" & Range("B10").Value & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
End Sub
Bonjour,
Tu as oublié de créer un nouveau dossier comme ceci:
Tu as oublié de créer un nouveau dossier comme ceci:
Sub EnregistrementFacture()
'je déclare mes variables
Dim NomDossier As String
Dim Chemin As String
'je nomme le dossier
NomDossier = Application.InputBox("ArchivageFactures:", "Année ?")
'je crée le dossier
MkDir "C:\Documents\ArchivageFactures\" & NomDossier
'je donne le chemin
Chemin = "C:\Documents\ArchivageFactures\" & NomDossier & "\"
If NomDossier = "" Then Exit Sub
'j'enregistre au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypexlsx, Filename:= _
Chemin & "FactureNumero_" & Range("B10").Value & ".pdf", quality:= _
xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
from:=1, to:=1, openafterpublish:=False
End Sub
Bonjour,
je viens d'essayer … et ça ne fonctionne toujours pas !
j'ai pourtant fait un copier-coller de ce que tu m'as envoyé, et toujours la partie ActiveSheet…. qui se met en jaune.
Je vais tenter de t'envoyer l'entièreté de mon fichier via cijoint.
Merci d'avance de regarder où j'ai fait une erreur (ou plusieurs)
sur la facture j'ai mis des boutons :
Sauvegarder m'envoie les données sur Historique_Facture
Imprimer : m'imprime deux exemplaires
Enregistrement facture en pdf : c'est là que ça cloche !
Nouvelle facture et effacement des données : fonctionne correctement.
Mon projet serait également de ne faire qu'un seul bouton pour l'enregistrement en pdf et la sauvegarde.
voici mon fichier : https://cjoint.com/c/JEyiTawLSeR
je viens d'essayer … et ça ne fonctionne toujours pas !
j'ai pourtant fait un copier-coller de ce que tu m'as envoyé, et toujours la partie ActiveSheet…. qui se met en jaune.
Je vais tenter de t'envoyer l'entièreté de mon fichier via cijoint.
Merci d'avance de regarder où j'ai fait une erreur (ou plusieurs)
sur la facture j'ai mis des boutons :
Sauvegarder m'envoie les données sur Historique_Facture
Imprimer : m'imprime deux exemplaires
Enregistrement facture en pdf : c'est là que ça cloche !
Nouvelle facture et effacement des données : fonctionne correctement.
Mon projet serait également de ne faire qu'un seul bouton pour l'enregistrement en pdf et la sauvegarde.
voici mon fichier : https://cjoint.com/c/JEyiTawLSeR
C'est ton chemin qui n'est pas bon, il manque des éléménts
celui-ci qui doit être bon
et celui là
où il manque
corrige le , ça devrait fonctionner
Mon projet serait également de ne faire qu'un seul bouton pour l'enregistrement en pdf et la sauvegarde.
appeler ces macros dans le même bouton:
voilà
@+ Le Pivert
celui-ci qui doit être bon
ChDir "C:\Users\bs382\OneDrive\Documents\Archivage Factures\2020"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\bs382\OneDrive\Documents\Archivage Factures\2020\Facturier_DHoe.xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
et celui là
"C:\Documents\ArchivageFactures\" & NomDossier & "\"
où il manque
C:\Users\bs382\OneDrive
corrige le , ça devrait fonctionner
Mon projet serait également de ne faire qu'un seul bouton pour l'enregistrement en pdf et la sauvegarde.
appeler ces macros dans le même bouton:
Sub EnregistrementFacture()
'enregistrement PDF
'je déclare mes variables
Dim NomDossier As String
Dim Chemin As String
'je nomme le dossier et donne le chemin
NomDossier = Application.InputBox("ArchivageFactures:", "Année ?")
If NomDossier = "" Then Exit Sub
'je crée le dossier
MkDir "C:\Users\bs382\OneDrive\Documents\ArchivageFactures\" & NomDossier
'je donne le chemin
Chemin = "C:\Users\bs382\OneDrive\Documents\ArchivageFactures\" & NomDossier & "\"
'j'enregistre au format PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypexlsx, Filename:= _
Chemin & "FactureNumero_" & Range("B10").Value & ".pdf", quality:= _
xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
from:=1, to:=1, openafterpublish:=False
End Sub
Sub Enregistrement()
'sauvegarde
ChDir "C:\Users\bs382\OneDrive\Documents\Archivage Factures\2020"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\bs382\OneDrive\Documents\Archivage Factures\2020\Facturier_DHoe.xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
voilà
@+ Le Pivert
Merci, merci, merci !!!
Je vais mettre cela en route dès demain matin (car aujourd'hui j'ai suffisamment "joué" avec mon PC !)
C'est une chose formidable que cette aide que l'on peut trouver ici.
Je suis à la retraite, et je tente de faire un petit programme pour un ami. J'ai de bonnes connaissances en Excel, mais peu d'expérience en VBA. J'ai bien suivi des cours (en cours du soir) mais cela fait quand même quelques années …
J'espère à mon tour pouvoir aider prochainement quelqu'un à l'aide de mes petites connaissances.
Merci, continuez bien, vous êtes formidables.
Je vais mettre cela en route dès demain matin (car aujourd'hui j'ai suffisamment "joué" avec mon PC !)
C'est une chose formidable que cette aide que l'on peut trouver ici.
Je suis à la retraite, et je tente de faire un petit programme pour un ami. J'ai de bonnes connaissances en Excel, mais peu d'expérience en VBA. J'ai bien suivi des cours (en cours du soir) mais cela fait quand même quelques années …
J'espère à mon tour pouvoir aider prochainement quelqu'un à l'aide de mes petites connaissances.
Merci, continuez bien, vous êtes formidables.
Bonjour, hélas j'ai toujours mon problème !
si je lance la sauvegarde en pdf j'ai la ligne MkDir … qui se met en jaune
je lui met un apostrophe (pour l'éviter) et c'est le bloc ActiveSheet.Export… qui se met en jaune.
J'ai également changé le type en pdf.
Enfin je pense avoir suivi toutes vos indications ?? où alors je me suis planté quelque part ?
Je vous renvoie par cjoint mon fichier actuel (légèrement changé par rapport à celui de hier puisque j'y ai introduit vos changements.
voici le lien : https://cjoint.com/c/JEzicVX0tkR
encore merci de votre aide
si je lance la sauvegarde en pdf j'ai la ligne MkDir … qui se met en jaune
je lui met un apostrophe (pour l'éviter) et c'est le bloc ActiveSheet.Export… qui se met en jaune.
J'ai également changé le type en pdf.
Enfin je pense avoir suivi toutes vos indications ?? où alors je me suis planté quelque part ?
Je vous renvoie par cjoint mon fichier actuel (légèrement changé par rapport à celui de hier puisque j'y ai introduit vos changements.
voici le lien : https://cjoint.com/c/JEzicVX0tkR
encore merci de votre aide
Cela ne sert à rien d'envoyer ton fichier, le problème vient de ton chemin!
Et nous sur notre machine, ton chemin on ne peut pas le tester!
Tu vas te servir de l’enregistreur de macro.
Tu enregistres ton classeur en PDF manuellement et là tu auras ta macro avec le chemin correct. il te suffira de mettre cette macro dans ton projet
Voilà, c'est ce que tu aurais dû faire dès le départ
Et nous sur notre machine, ton chemin on ne peut pas le tester!
Tu vas te servir de l’enregistreur de macro.
Tu enregistres ton classeur en PDF manuellement et là tu auras ta macro avec le chemin correct. il te suffira de mettre cette macro dans ton projet
Voilà, c'est ce que tu aurais dû faire dès le départ
Bonsoir,
d'abord merci beaucoup pour le mal que tu te donnes, mais j'ai toujours un problème.
J'ai pris ton exemplaire et ai sauvegardé une première facture : OK tout fonctionne et j'ai une inscription : "facture enregistrée"; là, je me dis … Super ! ça fonctionne et du coup je fais une seconde facture et … patatra ça cale au niveau du MKdir
Je me demande si c'est normal que l'on crée un directory à chaque facture ? je pense que une fois créé il est bon pour toutes les factures.
Je l'ai mis entre apostrophes et paf, c'est la partie ActiveSheet qui se met en jaune.
J'ai créé mon chemin en utilisant l'enregistreur de macro, cela donne :
ChDir "E:\Essai Factures"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"E:\Essai Factures\Facturier_DHoe.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
et je retrouve uniquement ma première facture, mais sans son numéro (utile pour la retrouver)
encore une fois, merci de ton aide. Il n'y a pas urgence, je ne reviendrai sur le PC que demain dans la journée.
en tant que retraité confiné, je n'ai pas une minute à moi. Tel par exemple, cet après midi aller à Bruxelles (100 km de chez moi) pour y chercher un duplicata pour le permis de conduire de mon petit fils, ayant égaré l'original et il était impossible de recevoir cela par mail… pourtant nous sommes au XXI siècle.
Bonne soirée;
d'abord merci beaucoup pour le mal que tu te donnes, mais j'ai toujours un problème.
J'ai pris ton exemplaire et ai sauvegardé une première facture : OK tout fonctionne et j'ai une inscription : "facture enregistrée"; là, je me dis … Super ! ça fonctionne et du coup je fais une seconde facture et … patatra ça cale au niveau du MKdir
Je me demande si c'est normal que l'on crée un directory à chaque facture ? je pense que une fois créé il est bon pour toutes les factures.
Je l'ai mis entre apostrophes et paf, c'est la partie ActiveSheet qui se met en jaune.
J'ai créé mon chemin en utilisant l'enregistreur de macro, cela donne :
ChDir "E:\Essai Factures"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"E:\Essai Factures\Facturier_DHoe.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
et je retrouve uniquement ma première facture, mais sans son numéro (utile pour la retrouver)
encore une fois, merci de ton aide. Il n'y a pas urgence, je ne reviendrai sur le PC que demain dans la journée.
en tant que retraité confiné, je n'ai pas une minute à moi. Tel par exemple, cet après midi aller à Bruxelles (100 km de chez moi) pour y chercher un duplicata pour le permis de conduire de mon petit fils, ayant égaré l'original et il était impossible de recevoir cela par mail… pourtant nous sommes au XXI siècle.
Bonne soirée;
Je me demande si c'est normal que l'on crée un directory à chaque facture ? je pense que une fois créé il est bon pour toutes les factures.
Si tu enregistres dans le même dossier, alors à quoi te sert cette ligne de code?
et je retrouve uniquement ma première facture, mais sans son numéro (utile pour la retrouver)
dans le chemin il manque quelque chose!
il manque ceci:
Voilà il suffit de corriger ces 2 points et cela devrait être opérationnel
@+ Le Pivert
Si tu enregistres dans le même dossier, alors à quoi te sert cette ligne de code?
'je nomme le dossier et donne le chemin
NomDossier = Application.InputBox("ArchivageFactures:", "Année ?")
et je retrouve uniquement ma première facture, mais sans son numéro (utile pour la retrouver)
dans le chemin il manque quelque chose!
"E:\Essai Factures\Facturier_DHoe.pdf"
il manque ceci:
"FactureNumero_" & Range("B10").Value
Voilà il suffit de corriger ces 2 points et cela devrait être opérationnel
@+ Le Pivert
Ouf ! ça y est, ça fonctionne.
Je n'ai pas su revenir plus tôt sur ce problème, mais j'avais décidé de m'y remettre ce matin afin de pouvoir en terminer.
Tout (presque) fonctionne.
Je fais ma facture, je l'imprime en deux exemplaires, je l'inscrit dans l'historique clients puis je la sauvegarde en pdf.
Sauf que en faisant ces deux opérations, j'incrémente deux fois et je voudrais diminuer le nombre de boutons afin de simplifier l'utilisation de celui qui s'en servira.
J'ai un module 1
archiver : il écrit dans l'historique clients, vide le corps de facture , vide le nom et incrémente le nouveau numéro de facture.
le module 2 permet d'imprimer deux exemplaires : OK
le module 3 incrémente le numéro de facture : je pense que je devrais le supprimer
le module 4 enregistre en pdf
le module 5 enregistre en pdf serait à supprimer.
Il faut que je sauvegarde dans l'historique client les données telles qu'elles sont, mais je dois également sauvegarder "l'image" de la facture avec son numéro afin de pouvoir procéder à une réimpression plus tard ou simplement de l'envoyer au client par pdf.
Je suis un peu perdu, et j'ai peur d'oter des choses essentielles...
Merci d'encore un peu m'aider.
Bonne journée à vous.
Je n'ai pas su revenir plus tôt sur ce problème, mais j'avais décidé de m'y remettre ce matin afin de pouvoir en terminer.
Tout (presque) fonctionne.
Je fais ma facture, je l'imprime en deux exemplaires, je l'inscrit dans l'historique clients puis je la sauvegarde en pdf.
Sauf que en faisant ces deux opérations, j'incrémente deux fois et je voudrais diminuer le nombre de boutons afin de simplifier l'utilisation de celui qui s'en servira.
J'ai un module 1
archiver : il écrit dans l'historique clients, vide le corps de facture , vide le nom et incrémente le nouveau numéro de facture.
le module 2 permet d'imprimer deux exemplaires : OK
le module 3 incrémente le numéro de facture : je pense que je devrais le supprimer
le module 4 enregistre en pdf
le module 5 enregistre en pdf serait à supprimer.
Il faut que je sauvegarde dans l'historique client les données telles qu'elles sont, mais je dois également sauvegarder "l'image" de la facture avec son numéro afin de pouvoir procéder à une réimpression plus tard ou simplement de l'envoyer au client par pdf.
Je suis un peu perdu, et j'ai peur d'oter des choses essentielles...
Merci d'encore un peu m'aider.
Bonne journée à vous.
pour cela:
mais je dois également sauvegarder "l'image" de la facture avec son numéro
Voilà
@+ Le Pivert
mais je dois également sauvegarder "l'image" de la facture avec son numéro
Option Explicit
'enregistrer facture au nom du client dans le même dossier que ce classeur
Sub savefacture()
Worksheets("Facture").Select
cacherbouton
Worksheets("Facture").Copy
With ActiveWorkbook
.SaveAs Filename:=ThisWorkbook.Path & "\" & Range("E10") & ".xlsx", FileFormat:=xlOpenXMLWorkbook
.Close SaveChanges:=False
End With
reinitialiser
MsgBox "Enregistrer dans le même dossier", vbInformation, "Enregistrement facture"
End Sub
Sub cacherbouton()
Dim Sh As Shape
For Each Sh In ActiveWorkbook.ActiveSheet.Shapes
If Sh.Name <> "Image 1" And Sh.Name <> "Rectangle 2" Then
Sh.Visible = False
End If
Next Sh
End Sub
Sub reinitialiser()
Dim Sh As Shape
For Each Sh In ActiveWorkbook.ActiveSheet.Shapes
Sh.Visible = True
Next
End Sub
Voilà
@+ Le Pivert
Je vais essayer çela dès demain matin.
Bonne soirée
je viens d'essayer … et ça ne fonctionne toujours pas !
j'ai pourtant fait un copier-coller de ce que tu m'as envoyé, et toujours la partie ActiveSheet…. qui se met en jaune.
Je vais tenter de t'envoyer l'entièreté de mon fichier via cijoint.
Merci d'avance de regarder où j'ai fait une erreur (ou plusieurs)
sur la facture j'ai mis des boutons :
Sauvegarder m'envoie les données sur Historique_Facture
Imprimer : m'imprime deux exemplaires
Enregistrement facture en pdf : c'est là que ça cloche !
Nouvelle facture et effacement des données : fonctionne correctement.
Mon projet serait également de ne faire qu'un seul bouton pour l'enregistrement en pdf et la sauvegarde.
voici le lien : https://cjoint.com/c/JEyiTawLSeR
grand merci d'avance.