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

XL 2013 conversion d'une feuille excel au pdf en vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sitaleb

XLDnaute Nouveau
Salut
j'ai utilisé un code pour sauvegarder mes factures en forme PDF et et les transférer les informations a une deuxième feuille ,mais toujours l'Excel m'indique qu'il y'a une erreur dans le code dans la dernière ligne, que je n'arrive pas a corriger.
 

Pièces jointes

Dernière édition:
Re : conversion d'une feuille excel au pdf en vba

Salut, et pourtant c'est le B A BA.

Code:
Option Explicit

Sub transfert()
Dim myfile As String
    '........
    'sauvegarder la facture en pdf
    If NomFichierValide(myfile) Then
        Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, Filename:=myfile
    Else
        MsgBox "Nom de fichier invalide !", vbCritical + vbOKOnly, "Nom de fichier"
    End If
End Sub

Private Function NomFichierValide(sChaine As String) As Boolean
Dim i As Long
Const CaracInterdits As String = """*/:<>?[\]|"
    NomFichierValide = True
    If Len(sChaine) = 0 Then
        NomFichierValide = False
        Exit Function
    End If
    For i = 1 To Len(CaracInterdits)
        If InStr(sChaine, Mid$(CaracInterdits, i, 1)) > 0 Then
            NomFichierValide = False
            Exit Function
        End If
    Next i
End Function
 
Dernière édition:
Re : conversion d'une feuille excel au pdf en vba

Re, pour être plus complet, auquel on pourrait rajouter une vérif de l'existence du dossier et la non existence de doublons pdf.
Code:
Option Explicit

Sub transfert()
Dim myfile As String
Dim LRow As Long, sNom As String

    sNom = Sheets(1).Range("F12") & " - " & Format(Sheets(1).Range("G6"), "dd mmm yyyy")
    myfile = "D:\factures\" & sNom & ".pdf"
    
    LRow = Sheets(2).Range("a" & Rows.Count).End(xlUp).Row + 1

    Sheets(2).Range("a" & LRow).Value = Sheets(1).Range("G6").Value
    Sheets(2).Range("b" & LRow).Value = Sheets(1).Range("F12").Value
    Sheets(2).Range("c" & LRow).Value = Sheets(1).Range("F15").Value
    Sheets(2).Range("d" & LRow).Value = Sheets(1).Range("G34").Value

    Sheets(2).Hyperlinks.Add anchor:=Sheets(2).Range("e" & LRow), Address:=myfile, TextToDisplay:=myfile

    'sauvegarder la facture en pdf

    If NomFichierValide(sNom) Then
        Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, Filename:=myfile
    Else
        MsgBox "Nom de fichier invalide !", vbCritical + vbOKOnly, "Nom de fichier"
    End If
End Sub

Private Function NomFichierValide(sChaine As String) As Boolean
Dim i As Long
Const CaracInterdits As String = """*/:<>?[\]|"
    NomFichierValide = True
    If Len(sChaine) = 0 Then
        NomFichierValide = False
        Exit Function
    End If
    For i = 1 To Len(CaracInterdits)
        If InStr(sChaine, Mid$(CaracInterdits, i, 1)) > 0 Then
            NomFichierValide = False
            Exit Function
        End If
    Next i
End Function
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
931
Réponses
2
Affichages
667
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…