Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
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
188
Réponses
7
Affichages
351
Réponses
2
Affichages
523
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…