Enregistrement d'une feuille excel sous format pdf avec nom de la feuille spécifique

rayms

XLDnaute Nouveau
Bonsoir,
Je suis entrain de créer un facturier
Et je voudrai exporter la feuille facture au format PDF avec un nom bien défini
Mais je coince sur un code VBA. Je suis dans l'impossibilité de résoudre le problème du fait de ma connaissance réduite en programmation
Cherche de l'aide merci...
Rayms

Voici le code

Private Sub CommandButton5_Click()
'export facture au format PDF
info1 = Sheets("Facture").Range("M22")
info2 = Sheets("Facture").Range("J22")
info3 = Sheets("Données").Range("B2")
nom = info1 & "-" & info2 & "-" & info3 & "-" & ".xls"
ThisWorkbook.Save
ThisWorkbook.SaveCopyAs nom (Sa bloque à cette endroit ?)
ThisWorkbook.Activate
If MsgBox("Avez vous Valider votre facture afin de generer le numero automatique?", vbYesNo, "Facturier vous informe") = vbYes Then
ChDir "C:\Users\Nico\Desktop\Nouveau dossier"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Quality:= _
xlQualityStandard, incluseDocproperties:=True, IgnorePrintAreas:=False, _
from:=1, to:=1, OpenAfterPublish:=True
End If
End Sub
 

Roland_M

XLDnaute Barbatruc
Re : Enregistrement d'une feuille excel sous format pdf avec nom de la feuille spécif

bonjour,

as-tu essayé de voir à quoi ressemble nom !?
Msgbox NOM
ou
Msgbox info1 & "-" & info2 & "-" & info3 & "-" & ".xls"

car c'est de là que ça vient ! le chemin les noms avec les caractères ...
c'était la première chose à vérifier !

ensuite tes variables sont elles déclarées AS STRING ?
sinon tu mets le signe $ exemple NOM$
car si tu as par exemple en entête de code > DefInt A-Z
alors tes variables sont numériques et entières !
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : Enregistrement d'une feuille excel sous format pdf avec nom de la feuille spécif

SDalut, à titre documentaire, pour tester validité du nom

Code:
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
 

Discussions similaires

Statistiques des forums

Discussions
312 153
Messages
2 085 800
Membres
102 980
dernier inscrit
brossadan