Enregistrement en pdf + msg box si nom existant et pouvoir le renommer

Bonjour,

je souhaiterais pouvoir enregistrer sur le bureau une feuille excel en pdf, et lui attribuer le nom à partir de deux cellules se trouvant dans celui-ci (B5 et E15 par exemple).

Au cas ou le nom serait déjà utiliser, une petite boîte de dialogue préviendrait l’utilisateur, et lui donnerait la possibilité de la renommer…
A la fin de l’enregistrement, ouvrir le .pdf.

Merci à vous.

Bonjour Marclebio

ATTENTION ! Merci de lire la charte du forum [A LIRE AVANT DE POSTER] et notamment

  • Ne postez pas la même question sur un autre forum pour éviter de faire perdre bêtement du temps aux membres sur un problème qui peut être déjà résolu sur l'autre forum. L'inverse est également valable, si vous avez déjà posé votre question sur un autre forum, ne créez pas un doublon sur ce forum (à moins d'avoir clôturé le sujet sur l'autre forum).

Sinon pour votre problématique

1) définir le nom d'enregistrement du fichier

2) Tester si le nom existe

3 ) Si existe demander de saisir le nouveau nom (inputbox)

Sub Test()
  Dim CheminBureau As String, sNomFic As String, sPathFic As String
  Dim oWSHShell As Object
  ' Définir le nom du fichier selon les 2 valeurs
  sNomFic = Range("B5") & " " & Range("E15") & ".pdf"
  ' Récupérer le chemin du bureau
  Set oWSHShell = CreateObject("WScript.Shell")
  CheminBureau = "": CheminBureau = oWSHShell.SpecialFolders("Desktop")
  ' Vérifier si le fichier n'existe pas déjà
  sPathFic = CheminBureau & sNomFic
  Do While Dir(CheminBureau & sNomFic) <> ""
    sNomFic = InputBox("Donner un autre nom au fichier :", "NOUVEAU NOM", sNomFic)
    If Right(sNomFic, 4) <> ".pdf" Then sNomFic = sNomFic & ".pdf"
    sPathFic = CheminBureau & sNomFic
  Loop
  ' Exporter en PDF
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPathFic, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=True
End Sub

Pour le nom, j'ai choisi un Inputbox() mais on pourrait très bien utiliser

sNomFic = Application.GetSaveAsFilename(InitialFileName:=sPathFic, fileFilter:="PDF Files (*.pdf), *.pdf", Title:="Sauvegarde du fichier")

@+

Bonjour,

au temps pour moi, toute mes excuses. Je ne voulais pas enfreindre le règlement.

Je cherchais des solutions à mon problème, je ne voulais faire de tort, ni faire perdre de temps à qui que ce soit.

Merci pour votre solution, c'est super sympa.

Re,

Cross posting à ne pas reproduite SVP

Rechercher des sujets similaires à "enregistrement pdf msg box nom existant pouvoir renommer"