XL 2019 Changer nom d'export en VBA

Pierre111

XLDnaute Nouveau
Bonjour,

J'ai un code VBA qui me permet d'extraire en PDF l'ensemble des feuilles de mon classeur (sauf la première feuille qui contient des données d'utilisation).
Le nom d'export est celui du nom de la feuille.
Or j'aimerai que le nom d'export soit la concaténation du contenu des cellules A19 (n° de facture) et H11(nom du client).

Pouvez-vous m'aider ?

Merci par avance pour votre aide.
Bonne journée,
Pierre111
VB:
Option Explicit
Sub Generer_Impression_Feuille()
 
'=============================================================================================
' Parcours l'ensemble des feuilles du classeur et genere un fichier PDF au nom de la feuille
'=============================================================================================
        Dim Nom_Fic As String
        Dim Nom_Chemin As String
        Dim Nom_Chemin_Fic As String
        Dim I As Integer
        Dim WS_Count As Integer
        
        
        'nombre de feuilles au total
         WS_Count = ActiveWorkbook.Worksheets.Count
 
 
        'Selection du dossier d'export par l'utilisateur
          With Application.FileDialog(msoFileDialogFolderPicker)
               .Title = "Sélectionnez votre dossier d'export PDF"
               .Show
        
               'Nom du dossier sélectionné
               If .SelectedItems.Count > 0 Then
                   Nom_Chemin = .SelectedItems(1)
               End If
        
           End With
    
         'Parcours de l'ensemble des feuilles
         For I = 2 To WS_Count
            
            Sheets(ActiveWorkbook.Worksheets(I).Name).Select
            Range("A1").Select
            
            'Le nom du fichier sera le nom de la feuille
            Nom_Fic = ActiveWorkbook.Worksheets(I).Name
            
            'On construit le nom global du chemin et le fichier avec l'extension .pdf
            Nom_Chemin_Fic = Nom_Chemin & "\" & Nom_Fic & ".pdf"
            
            'Export PDF de la feuille
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                 Nom_Chemin_Fic _
                , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
                :=False, OpenAfterPublish:=False
        
         Next I
        
End Sub
 

Franc58

XLDnaute Occasionnel
Bonjour,

J'ai un code VBA qui me permet d'extraire en PDF l'ensemble des feuilles de mon classeur (sauf la première feuille qui contient des données d'utilisation).
Le nom d'export est celui du nom de la feuille.
Or j'aimerai que le nom d'export soit la concaténation du contenu des cellules A19 (n° de facture) et H11(nom du client).

Pouvez-vous m'aider ?

Merci par avance pour votre aide.
Bonne journée,
Pierre111
VB:
Option Explicit
Sub Generer_Impression_Feuille()
 
'=============================================================================================
' Parcours l'ensemble des feuilles du classeur et genere un fichier PDF au nom de la feuille
'=============================================================================================
        Dim Nom_Fic As String
        Dim Nom_Chemin As String
        Dim Nom_Chemin_Fic As String
        Dim I As Integer
        Dim WS_Count As Integer
       
       
        'nombre de feuilles au total
         WS_Count = ActiveWorkbook.Worksheets.Count
 
 
        'Selection du dossier d'export par l'utilisateur
          With Application.FileDialog(msoFileDialogFolderPicker)
               .Title = "Sélectionnez votre dossier d'export PDF"
               .Show
       
               'Nom du dossier sélectionné
               If .SelectedItems.Count > 0 Then
                   Nom_Chemin = .SelectedItems(1)
               End If
       
           End With
   
         'Parcours de l'ensemble des feuilles
         For I = 2 To WS_Count
           
            Sheets(ActiveWorkbook.Worksheets(I).Name).Select
            Range("A1").Select
           
            'Le nom du fichier sera le nom de la feuille
            Nom_Fic = ActiveWorkbook.Worksheets(I).Name
           
            'On construit le nom global du chemin et le fichier avec l'extension .pdf
            Nom_Chemin_Fic = Nom_Chemin & "\" & Nom_Fic & ".pdf"
           
            'Export PDF de la feuille
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                 Nom_Chemin_Fic _
                , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
                :=False, OpenAfterPublish:=False
       
         Next I
       
End Sub
Salut, il te suffit de concaténer tes 2 cellules et attribuer le résultat à Nom_Fic.
 

Valky68

XLDnaute Nouveau
Bonsoir Pierre111, voici une proposition :
VB:
Option Explicit
Sub Generer_Impression_Feuille()
 
'=============================================================================================
' Parcours l'ensemble des feuilles du classeur et genere un fichier PDF au nom de la feuille
'=============================================================================================
        Dim Nom_Fic As String
        Dim Nom_Chemin As String
        Dim Nom_Chemin_Fic As String
        Dim I As Integer
        Dim WS_Count As Integer
        
        
        'nombre de feuilles au total
         WS_Count = ActiveWorkbook.Worksheets.Count
 
 
        'Selection du dossier d'export par l'utilisateur
          With Application.FileDialog(msoFileDialogFolderPicker)
               .Title = "Sélectionnez votre dossier d'export PDF"
               .Show
        
               'Nom du dossier sélectionné
               If .SelectedItems.Count > 0 Then
                   Nom_Chemin = .SelectedItems(1)
               End If
        
           End With
    
         'Parcours de l'ensemble des feuilles
         For I = 2 To WS_Count
            
            Sheets(ActiveWorkbook.Worksheets(I).Name).Select
            Range("A1").Select
            
            'Le nom du fichier sera le nom de la feuille
            With ActiveWorkbook.Worksheets(I)
            Nom_Fic = .Range("A19") & .Range("H11")
            
            'On construit le nom global du chemin et le fichier avec l'extension .pdf
            Nom_Chemin_Fic = Nom_Chemin & "\" & Nom_Fic & ".pdf"
            
            'Export PDF de la feuille
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                 Nom_Chemin_Fic _
                , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
                :=False, OpenAfterPublish:=False
        
         Next I
        
End Sub
 

job75

XLDnaute Barbatruc
Bonsoir à tous,

@Valry68 vous avez oublié un End With.

Tout simplement dans le code du post #1 remplacez :
VB:
           'Le nom du fichier sera le nom de la feuille
            Nom_Fic = ActiveWorkbook.Worksheets(I).Name
par :
VB:
          'Nom du fichier PDF
           Nom_Fic = Range("A19") & Range("H11")
Bonne nuit.
 

Discussions similaires

Réponses
3
Affichages
183
Réponses
7
Affichages
293
Réponses
2
Affichages
520

Statistiques des forums

Discussions
313 866
Messages
2 103 087
Membres
108 521
dernier inscrit
manouba