Créer FICHIER PDF avec nom récupérer dans une cellule

Fermé
marco - Modifié le 23 janv. 2020 à 10:36
 marco - 24 janv. 2020 à 11:45
Bonjour,

étant novice en macro, je me tourne vers vous pour vous demander de l'aide.
Voilà je souhaite enregistrer mon fichier en pdf dans le même répertoire que mon fichier excell en récupérant son nom dans une cellule.
Je précise deux choses, le fichier excell se trouve sur un serveur interne (je ne sais pas si ça une importance)
La cellule où se trouve le nom à récupérer utilise la fonction
=CONCATENER(E11;" "; B12;" "; E12)
pour créer le nom.
Merci d'avance pour votre aide !

Configuration: Windows / Firefox 72.0

3 réponses

cs_Le Pivert
Messages postés
7822
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 septembre 2022
716
23 janv. 2020 à 10:42
Bonjour,

comme ceci:

Sub savepdf()
Dim nom As String ' nom du pdf
Dim chemin As String 'chemin du dossier d'enregistrement
nom = Range("A1").Value 'adapter cellule
chemin = ActiveWorkbook.Path & "\"  ' même dossier que le classeur
 'enregistrement en PDF
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
       chemin & nom, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
       False
End Sub


0
Bonjour,

merci pour votre réponse et votre réactivité.
Effectivement ça marche très bien !!!
Je voudrais pousser un peu le truc si c'est possible.
Je m'explique. Pourrais-t'il y avoir un message d'erreur s'il existe déjà dans le répertoire un fichier PDF portant le même nom ?
Merci encore !
0
cs_Le Pivert
Messages postés
7822
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 septembre 2022
716 > marco
23 janv. 2020 à 11:10
Tu as automatiquement un message d'erreur si le fichier existe déjà dans le dossier.

Par contre si tu veux tester avant d’enregistrer voir ceci:

https://excel-malin.com/codes-sources-vba/vba-verifier-si-le-fichier-existe/

@+ Le Pivert
0
Bonjour,

merci pour ta réponse, mais concernant le code de vérification où dois-je le mettre ?
0
cs_Le Pivert
Messages postés
7822
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 septembre 2022
716
23 janv. 2020 à 12:04
comme ceci:

Option Explicit
Public Function FichierExiste(MonFichier As String)
'par Excel-Malin.com ( https://excel-malin.com )
 If Len(Dir(MonFichier)) > 0 Then
      FichierExiste = True
   Else
      FichierExiste = False
   End If
End Function
Private Sub CommandButton1_Click()
'par Excel-Malin.com ( https://excel-malin.com )
Dim MonFichier As String
Dim nom As String ' nom du pdf
Dim chemin As String 'chemin du dossier d'enregistrement
nom = Range("A1").Value 'adapter cellule
chemin = ActiveWorkbook.Path & "\"  ' même dossier que le classeur
MonFichier = chemin & nom
If FichierExiste(MonFichier) = True Then
        MsgBox "Le fichier existe..."
    Else
        'Le fichier n'existe pas on peut enregistrer
        'enregistrement en PDF
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
       chemin & nom, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
       False
    End If

End Sub


@+ Le Pivert
0
marco > cs_Le Pivert
Messages postés
7822
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 septembre 2022

24 janv. 2020 à 09:54
merci encore mais j'ai mal formulé ma question, ce code doit-il être rajouter à la suite du code que vous m'avez donné pour la création du PDF ?
0
cs_Le Pivert
Messages postés
7822
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 septembre 2022
716 > marco
Modifié le 24 janv. 2020 à 11:40
C'est bien expliqué avec les commentaires(en vert)

C'est à mettre à la place si tu as un bouton nommé "CommandButton1" sinon il faut mettre à la place le nom de ton bouton!

voir ceci pour démarrer

https://support.microsoft.com/fr-fr/office/assigner-une-macro-%c3%a0-un-formulaire-ou-%c3%a0-un-bouton-de-contr%c3%b4le-d58edd7d-cb04-4964-bead-9c72c843a283?ui=fr-fr&rs=fr-fr&ad=fr

@+ Le Pivert
0
ok parfait merci !!!
Bonne journée
0