Generer un fichier pdf

Bonjours A tous

Je suis confronter encore a un problème qui est le suivant

En fait je voudrais générer un fichier PDF d'une feuil de mon classeur. En fait je travail sur un projet ou je dois dans ue feuille classeur incrémenté une valeur (C'est en fait le numéro d'un "bordereau de transmission"(Ex BDR_001...BDR_025) courant qui est la feuille en question. Ce numéro s'incrémente a chaque que je clique sur un bouton "Créer un nouveau bordereau" que j'ai codé en VBA).

Donc a chaque clique sur "Créer un nouveau bordereau" nous avons en sortie un fichier PDF de cette feuil excel portant le "numéro du bordereau" courant et les autres spécifications du document bien sur.

Mon soucis est donc a chaque génération de ce fichier PDF je voudrais que le fichier PDF en question porte le du bordereau ( Ex: BDR_001). Aussi, a la prochaine génération d'un nouveau bordereau on n'écrase pas l'ancien mais plutôt on créer un nouveau portant le nom BDR_002, pour avoir au finish dans un répertoire de création de bordereau une liste suivante :

--BDR_001.pdf

--BDR_002.pdf

et ainsi de suite pour chaque génération de PDF pour cette même feuille.

JE DOUTE FORT DE LA FAISABILITE DE LA CHOSE MAIS JE PENSE QUE JE DEVAIS DEMANDER SUR CE FORUM;

MERCI DE BIEN VOULOIR M'AIDER;

Bonjour

Donne un fichier test et on pourra certainement t'aider

Fred

135essaie-app-revb.xlsm (111.83 Ko)
135essaie-app-revb.xlsm (111.83 Ko)

Voici Tout mon projet.

Ce n'est pas bien ficeler je sais... lol J l'est realisé de façon 'expresse... Donc soyez indulgent

re

on est d'accord que le numéro de bordereau qui doit se trouvé dans le nom du fichier doit etre sur l'onglet "BORDEREAU" cellule B6 ??

Re

voici donc ta macro creerpdf() reprise :

Sub CreerPDF()
    Dim sRep As String          'Répertoire de sauvegarde
    Dim sFilename As String     'Nom du fichier

    'sRep = "D:\Users\jesus-kalou.tibe-bi\Desktop" & Application.PathSeparator      'Répertoire de sauvegarde (si non spécifié, répertoire actif par défaut)
    sRep = ThisWorkbook.Path & Application.PathSeparator
    'sFilename = ThisWorkbook.Name      'Nom du fichier
    'sFilename = Left(sFilename, InStr(1, sFilename, ".")) & "pdf"
    sFilename = "BDR_" & Sheets("BORDEREAU").[B6] & ".pdf"

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sRep & sFilename, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub

pour faire un test j'ai mis le répertoire de destination identique ou se trouve ce fichier avec la macro....

j'ai repris rapidement ta sub enregistrement XXX que l'on peut simplifier comme ceci

Sub EnregistrementCB1P1()

Sheets("LIST_PLAN").[A2].Copy Sheets("BORDEREAU").[A11]
Sheets("LIST_PLAN").[B2].Copy Sheets("BORDEREAU").[B11]

'    Sheets("LIST_PLAN").Select
'    Range("A2").Select
'    Selection.Copy
'    Sheets("BORDEREAU").Select
'    Range("A11").Select
'    ActiveSheet.Paste
'    Sheets("LIST_PLAN").Select
'    Range("B2").Select
'    Application.CutCopyMode = False
'    Selection.Copy
'    Sheets("BORDEREAU").Select
 '   Range("B11").Select
 '   ActiveSheet.Paste
End Sub

et on pourrait certainement mieux faire car si je regarde bien tu change uniquement les lignes de list_plan et la ligne de recopie dans bordereau

on pourrais donc utiliser une seule fonction avec arguments :

'appel comme ceci : pour copier la cellule A2,B2 de list_plan dans A11,B11 de bordereau
EnregistrementCBP 2,11

Sub EnregistrementCBP(lgs As Integer, lgd As Integer)
Sheets("LIST_PLAN").Range("A" & lgs).Copy Sheets("BORDEREAU").Range("A" & lgd)
Sheets("LIST_PLAN").Range("B" & lgs).Copy Sheets("BORDEREAU").Range("B" & lgd)
end sub

fred

Edit il y avait une erreur de frappe sur les variable lgd

Merci Fred c'est cool de ta part..

Chapeau a toi

Rechercher des sujets similaires à "generer fichier pdf"