Enregistrer en format pdf sous VBA
Bonjour à tous ,
j'ai un problème que je n'arrive pas à solutionner car je ne comprend ma faute,
quelqu’un pourrais m'aider SVP, je vous en remercie d'avance.
Voici le code :
sheets(4).Range("c11") = Me.Label_info.Caption
sheets(4).ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:= " C:\Users\Steve\Documents\Gestion des stocks.pdf" & Me.Cbx_fournisseur & "-" Me.Label_info.Caption, _
openafterpublish = TrueBonjour,
Malheureusement ... il peut y avoir plus d'une erreur ...
surtout compte tenu du très peu de détails que tu donnes ...
La première chose qui surprend ... c'est que tu as placé l'extension pdf ...
en plein mileu de ton instruction ...
Merci james007 de ta réponse rapide voici le nouveau code qui malheureusement ne fonctionne pas
sheets(4).Range("c11") = Me.Label_info.Caption
sheets(4).ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:= " C:\Users\Steve\Documents\Gestion des stocks\" & Me.Cbx_fournisseur & "-" Me.Label_info.Caption, _
openafterpublish = TrueRe,
Ce que tu devrais faire ... au strict minimum ...
1. Poster la totalité de ta macro ...
et
2. Indiquer la ligne ou l'instruction qui bloque ...
ok déso , voici ci dessous le macros entier et la ligne qui bloque c'est juste après next ligne +/- vers le milieu
Option Explicit
Public memoire As Integer
Private Sub CommandButton1_Click()
Dim part_name As String
Dim part_prix As Currency
If Me.Cbx_article.ListIndex >= 0 And Me.Txt_nombre <> "" Then
If Me.List_order.ListCount = 20 Then 'si il ya plus de 20 articles
MsgBox "trop d'article pour cette commande il faut créer une autre commande "
Else
'rechercher dans article
part_name = WorksheetFunction.VLookup(Me.Cbx_article, sheets(2).Range("b:i"), 2, 0)
part_prix = WorksheetFunction.VLookup(Me.Cbx_article, sheets(2).Range("b:i"), 4, 0)
'remplire la zone de liste
With Me.List_order
.AddItem
.List(memoire, 0) = Me.Cbx_article
.List(memoire, 1) = part_name
.List(memoire, 2) = CCur(part_prix)
.List(memoire, 3) = Me.Txt_nombre
End With
memoire = memoire + 1
'vider l'article et le nombre
Me.Cbx_article = ""
Me.Txt_nombre = ""
End If
End If
End Sub
Private Sub CommandButton2_Click()
Dim nombre_ligne As Integer
Dim ligne As Integer
Dim dl As Integer
If Me.List_order.ListCount > 0 And Me.Cbx_fournisseur.ListIndex >= 0 Then
'demander une confirmation de la commande .
If MsgBox(" Voulez-vous passer la commande ?", vbYesNo) = vbYes Then
nombre_ligne = Me.List_order.ListCount - 1
For ligne = 0 To nombre_ligne
sheets(3).ListObjects(1).ListRows.Add
dl = sheets(3).Range("b9999").End(xlUp).Row
'afficher nos information dans la base de donnée order
sheets(3).Range("B" & dl) = Me.Label_info.Caption
sheets(3).Range("C" & dl) = CDate(Now())
sheets(3).Range("D" & dl) = Me.List_order.List(ligne, 0)
sheets(3).Range("E" & dl) = Me.List_order.List(ligne, 1)
sheets(3).Range("G" & dl) = CCur(Me.List_order.List(ligne, 2))
sheets(3).Range("F" & dl) = CInt(Me.List_order.List(ligne, 3))
sheets(3).Range("I" & dl) = Me.Cbx_fournisseur
Next ligne
'Sauvegarder le fichier pdf
sheets(4).Range("c11") = Me.Label_info.Caption
sheets(4).ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:= " C:\Users\Steve\Documents\Gestion des stocks\" & Me.Cbx_fournisseur & "-" Me.Label_info.Caption, _
openafterpublish = True
sheets(8).Range("d20") = sheets(8).Range("d20") + 1
Unload Add_order
End If
Else
MsgBox "pas de commande disponible"
End If
End Sub
Private Sub Label3_Click()
End Sub
Private Sub Label4_Click()
End Sub
Private Sub Label6_Click()
End Sub
Private Sub List_order_Change()
End Sub
Private Sub List_order_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If MsgBox("Voulez-vous supprimer cette entrée", vbYesNo) = vbYes Then
Me.List_order.RemoveItem Me.List_order.ListIndex
memoire = memoire - 1
End If
End Sub
Private Sub Txt_nombre_Change()
If Not IsNumeric(Txt_nombre) And Txt_nombre <> "" Then
MsgBox "uniquement des chiffres !"
Txt_nombre = ""
End If
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub UserForm_Initialize()
Me.Label_info.Caption = sheets(8).Range("e20")
End SubRe,
Merci ...
Je vais supposer que tu as déjà vérifié toutes tes variables ...et leur contenu respectif ...
Cela dit ... tu pourrais tester :
'Sauvegarder le fichier pdf
Sheets(4).Range("c11") = Me.Label_info.Caption
Sheets(4).ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=" C:\Users\Steve\Documents\Gestion des stocks\" & Me.Cbx_fournisseur & "-" & Me.Label_info.Caption & ".pdf", _
OpenAfterPublish:=TrueEn espèrant que cela t'aide
Un tout grand merci james007 cela fonctionne et encore merci de ton professionnalisme
Re,
Content que tout fonctionne ...
Merci pour tes remerciements ...