Enregistre un pdf avec le nom de la feuil que je viens de creer macro
Nikki_6969
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour Je suis en train de faire un document pour mon mari avec des code vba ..... j Y connaissait rien au début de la semaine mais maintenant que j ai presque fini j arrive pas a régler mon dernier petit problème que voici
j essais d enregistrer une copie pdf avec le nom de la page que je viens de créer … j arrive a faire l enregistrement a l endroit voulu mais seulement si j inscris manuellement un nom dans mon vba .. j arrive as a trouver le code pour le faire automatiquement la derniere partie a la fin du chemin_pdf .... dans mon code et ce que je dois inscrire a la main pour réussir a enregistrer ...... Quelqu un peut m aider svp
merci
' enregristrer_bondecommande_pdf Macro
'
'
Columns("A:G").Select
Range("A2").Activate
Selection.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
ActiveSheet.Name = [C10] & "_" & [C5]
Application.CutCopyMode = False
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = ""
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.75)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Application.PrintCommunication = True
Range("H16").Select
' idendifier nom du PDF
Dim sFilename As String
sFilename = " date"
' identifer chemin d'acces du PDF a creer
chemin_pdf = "C:\Users\14385\OneDrive\Bureau\BON COMMANDE\PDF a envoyer chez Ali-Monde\sFilename"
'identifier onglet
Set onglet = Worksheets("bon de commande")
'selectionner la feuille a enregistrer en PDF
onglet.Select
' creer le PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin_pdf, _
quality:=xlQualityStandar, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("Bon de commande").Select
Range("C15").Select
End Sub
j essais d enregistrer une copie pdf avec le nom de la page que je viens de créer … j arrive a faire l enregistrement a l endroit voulu mais seulement si j inscris manuellement un nom dans mon vba .. j arrive as a trouver le code pour le faire automatiquement la derniere partie a la fin du chemin_pdf .... dans mon code et ce que je dois inscrire a la main pour réussir a enregistrer ...... Quelqu un peut m aider svp
merci
' enregristrer_bondecommande_pdf Macro
'
'
Columns("A:G").Select
Range("A2").Activate
Selection.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
ActiveSheet.Name = [C10] & "_" & [C5]
Application.CutCopyMode = False
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = ""
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.75)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Application.PrintCommunication = True
Range("H16").Select
' idendifier nom du PDF
Dim sFilename As String
sFilename = " date"
' identifer chemin d'acces du PDF a creer
chemin_pdf = "C:\Users\14385\OneDrive\Bureau\BON COMMANDE\PDF a envoyer chez Ali-Monde\sFilename"
'identifier onglet
Set onglet = Worksheets("bon de commande")
'selectionner la feuille a enregistrer en PDF
onglet.Select
' creer le PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin_pdf, _
quality:=xlQualityStandar, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("Bon de commande").Select
Range("C15").Select
End Sub
A voir également:
- Enregistre un pdf avec le nom de la feuil que je viens de creer macro
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
3 réponses
Bonjour,
Pour une meilleure lisibilité du code (coloration syntaxique + n° de ligne), utiliser l'outil approprié et choisir le langage dans la liste. En l'occurrence Basic pour le VBA
L eproblème vient d'ici, il faut intégrer le contenu de la variable dans le chemin
chemin_pdf = "C:\Users\14385\OneDrive\Bureau\BON COMMANDE\PDF a envoyer chez Ali-Monde\" & sFilename
Pour une meilleure lisibilité du code (coloration syntaxique + n° de ligne), utiliser l'outil approprié et choisir le langage dans la liste. En l'occurrence Basic pour le VBA
L eproblème vient d'ici, il faut intégrer le contenu de la variable dans le chemin
chemin_pdf = "C:\Users\14385\OneDrive\Bureau\BON COMMANDE\PDF a envoyer chez Ali-Monde\" & sFilename
chemin_pdf = "C:\Users\14385\OneDrive\Bureau\BON COMMANDE\PDF a envoyer chez Ali-Monde\" & sFilename
Nikki_6969
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
WOW merci beaucoup beaucoup beaucop ....... vous me sauvez ca fait deux jours que j essais de régler le problème ..... vous sembler caller .... j aimerais savoir si vous connaissez la formule je voudrais que l enregistrement pdf porte le nom de la feuille que je crée avec le même macro es ce possible ?
WOW merci beaucoup beaucoup beaucoup ....... vous me sauvez ca fait deux jours que j essais de régler le problème ..... vous sembler caller .... j aimerais savoir si vous connaissez la formule je voudrais que l enregistrement pdf porte le nom de la feuille que je crée avec le même macro es ce possible ?
Bonjour,
Merci mais vous trouverez bien plus calé que moi ici :-) !
Vous pourrez donner automatiquement le nom que vous voulez depuis la macro du moment qu'il est valide pour votre OS (Windows).
Il faut cependant clarifier ce que vous voulez faire :
pour l'instant tous les fichiers s'appelleront date(.pdf) puisque c'est le contenu de la variable sFilename. Donc une impression en écrasera une autre.
Que voulez-vous ? que le fichier s'appelle "Bon de commande" ?
Il serait plus judicieux qu'il prennent un nom unique intégrant le n° du bon de commande ou le nom du client avec un horodatage. 'D'où peut-être le nom "date" contenu dans votre variable ?
Précisez donc votre besoin : c'est important pour vous comme pour nous.
PS : pour poster le code comme il faut, c'est par ce menu
Et si possible mettez à disposition une version de votre fichier sans données confidentielles (données fictives si besoin mais dans le bon format de votre fichier) en le mettant en ligne ici par exemple https://cjoint.com/ puis en copiant-collant le lien obtenu dans votre réponse du forum.
Merci mais vous trouverez bien plus calé que moi ici :-) !
Vous pourrez donner automatiquement le nom que vous voulez depuis la macro du moment qu'il est valide pour votre OS (Windows).
Il faut cependant clarifier ce que vous voulez faire :
pour l'instant tous les fichiers s'appelleront date(.pdf) puisque c'est le contenu de la variable sFilename. Donc une impression en écrasera une autre.
Que voulez-vous ? que le fichier s'appelle "Bon de commande" ?
Il serait plus judicieux qu'il prennent un nom unique intégrant le n° du bon de commande ou le nom du client avec un horodatage. 'D'où peut-être le nom "date" contenu dans votre variable ?
Précisez donc votre besoin : c'est important pour vous comme pour nous.
PS : pour poster le code comme il faut, c'est par ce menu

Et si possible mettez à disposition une version de votre fichier sans données confidentielles (données fictives si besoin mais dans le bon format de votre fichier) en le mettant en ligne ici par exemple https://cjoint.com/ puis en copiant-collant le lien obtenu dans votre réponse du forum.