Sauvegarder factures en PDF
Fermé
simkmil
Messages postés
434
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
13 mars 2024
-
23 mai 2020 à 11:12
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 2 juin 2020 à 16:23
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 2 juin 2020 à 16:23
A voir également:
- Facture boulanger pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Save as pdf - Télécharger - Bureautique
- Comment faire un pdf - Guide
- Comment modifier un pdf - Guide
- Comment réduire la taille d'un pdf - Guide
4 réponses
M-12
Messages postés
1333
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2023
299
23 mai 2020 à 11:35
23 mai 2020 à 11:35
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
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
23 mai 2020 à 12:22
23 mai 2020 à 12:22
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
simkmil
Messages postés
434
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
13 mars 2024
34
24 mai 2020 à 10:47
24 mai 2020 à 10:47
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
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
>
simkmil
Messages postés
434
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
13 mars 2024
Modifié le 24 mai 2020 à 11:34
Modifié le 24 mai 2020 à 11:34
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
M-12
Messages postés
1333
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2023
299
>
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
24 mai 2020 à 13:11
24 mai 2020 à 13:11
Re,
Si tu veut enregistrer en PDF, commence déjà par modifier (comme préciser dans mon post) dans ta ligne
Type:=xlTypexlsx en Type:=xlTypePDF
Si tu veut enregistrer en PDF, commence déjà par modifier (comme préciser dans mon post) dans ta ligne
Type:=xlTypexlsx en Type:=xlTypePDF
simkmil
Messages postés
434
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
13 mars 2024
34
>
M-12
Messages postés
1333
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2023
24 mai 2020 à 20:21
24 mai 2020 à 20:21
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.
simkmil
Messages postés
434
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
13 mars 2024
34
25 mai 2020 à 10:03
25 mai 2020 à 10:03
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
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
25 mai 2020 à 10:43
25 mai 2020 à 10:43
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
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
>
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
Modifié le 25 mai 2020 à 11:30
Modifié le 25 mai 2020 à 11:30
J'ai mis ThisWorkbook.Path comme chemin. Cela va enregistrer dans le même dossier que le classeur.
C'est pour te démontrer que le code fonctionne.
L'avantage c'est que cela fonctionne sur n'importe quelle machine!
https://www.cjoint.com/c/JEzjAIQ5jRQ
Voilà
@+ Le Pivert
C'est pour te démontrer que le code fonctionne.
L'avantage c'est que cela fonctionne sur n'importe quelle machine!
https://www.cjoint.com/c/JEzjAIQ5jRQ
Voilà
@+ Le Pivert
simkmil
Messages postés
434
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
13 mars 2024
34
>
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
Modifié le 25 mai 2020 à 20:44
Modifié le 25 mai 2020 à 20:44
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;
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
>
simkmil
Messages postés
434
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
13 mars 2024
26 mai 2020 à 07:53
26 mai 2020 à 07:53
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
simkmil
Messages postés
434
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
13 mars 2024
34
1 juin 2020 à 12:18
1 juin 2020 à 12:18
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.
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
2 juin 2020 à 11:10
2 juin 2020 à 11:10
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
simkmil
Messages postés
434
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
13 mars 2024
34
>
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
2 juin 2020 à 16:23
2 juin 2020 à 16:23
Merci beaucoup, j'essaie cela ce soir. Maintenant, il fait trop chaud !
j'envoie le retour des que possible
Bon après midi ensoleillée.
j'envoie le retour des que possible
Bon après midi ensoleillée.
23 mai 2020 à 23:04
Je vais essayer çela dès demain matin.
Bonne soirée
24 mai 2020 à 10:45
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.