XL 2016 Exportation au format PDF à l'aide d'une macro : erreur 1004 'Document non enregistré'

Vermithor

XLDnaute Nouveau
Bonjour à tous,

Je viens solliciter vos lumières à cause d'un problème que je n'arrive pas à résoudre.
Je suis novice en macros.
J'ai voulu créer une macro pour éditer automatiquement des factures puis les exporter en pdf mais ma macro s'arrête à cette partie du code
VB:
Sheets("TITRE").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=chemin & Facture_numero & "_" & Facture_pv & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

et m'oppose un message d'erreur " erreur 1004, document non enregistré. Le document est peut être ouvert ou une erreur s'est produite lors de l'enregistrement.
Je ne trouve pas de solution. Pourriez-vous m'aider s'il vous plait ?

Je vous joins ma base de données réduite : la première feuille contient la base, la seconde la facture à éditer et exporter.

Et voici l'intégralité du code
VB:
Sub editionfactures()
Dim Ligne As Long
Dim chemin As String

Application.ScreenUpdating = False

'Indiquer le chemin où vont être enregistrés les titres de facturation au format PDF
chemin = Sheets("PARAMETRES").Range("A1").Value


Feuil1.Select
For Ligne = Range("A20000").End(xlUp).Row To 2 Step -1

    If Cells(Ligne, 20).Value <> "EDITER" Then
    
    
 Facture_numero = Sheets("FACTURATION").Cells(Ligne, 1)
 Facture_pv = Sheets("FACTURATION").Cells(Ligne, 11)
        
'Aller récupérer dans la base de données les éléments pour les intégrer à la facture'

'La date'
Feuil9.Range("H39").Value = Cells(Ligne, 13).Value

'Le numéro de PV
Feuil9.Range("F30").Value = Cells(Ligne, 11).Value

'la date de l'entrée du corps'
Feuil9.Range("G30").Value = Cells(Ligne, 4).Value

'Le temps de gardiennage jusqu'à destruction
 
Feuil9.Range("I30").Value = Cells(Ligne, 16).Value


'Le temps de gardiennage jusqu'à sortie
Feuil9.Range("H30").Value = Cells(Ligne, 17).Value

'Montant pour destruction
Feuil9.Range("D30").Value = Cells(Ligne, 23).Value
    
    
'Montant pour sortie
Feuil9.Range("C30").Value = Cells(Ligne, 22).Value

'Le Numéro de scellé
Feuil9.Range("B30").Value = Cells(Ligne, 7).Value

'ID Autopsie
Feuil9.Range("A10").Value = Cells(Ligne, 1).Value

'______________________________________________________________'

Feuil1.Cells(Ligne, 20).Value = "EDITER"

Sheets("TITRE").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=chemin & Facture_numero & "_" & Facture_pv & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

 
    End If
Next Ligne

Application.ScreenUpdating = True


End Sub

Un grand merci à vous par avance.

Vermi
 

Pièces jointes

  • BASEPOURAIDE.xlsm
    36.2 KB · Affichages: 9
Solution
Bonjour @Vermithor

Ton pb vient d'ici

1698187600724.png


Sheets("TITRE").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=chemin & Facture_numero & "_" & Facture_pv & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Remplace

15/2018 par 15-2018
et
2018/8888 par 2018-8888

Et miracle cela refonctionne ;)

Explication :
Tu as utilisé des caractères interdits dans le nom du chemin pour ton fichier

Merci pour ton retour

Phil69970

XLDnaute Barbatruc
Bonjour @Vermithor

Ton pb vient d'ici

1698187600724.png


Sheets("TITRE").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=chemin & Facture_numero & "_" & Facture_pv & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Remplace

15/2018 par 15-2018
et
2018/8888 par 2018-8888

Et miracle cela refonctionne ;)

Explication :
Tu as utilisé des caractères interdits dans le nom du chemin pour ton fichier

Merci pour ton retour
 

Vermithor

XLDnaute Nouveau
Bonjour,

Merci beaucoup, j'ai appliqué vos conseil mais maintenant il m'oppose une nouvelle erreur:
erreur d'exécution 1004: erreur définie par l'application ou par l'objet, et il pointe cette ligne

VB:
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
 

Phil69970

XLDnaute Barbatruc
Re
Edit Bonjour Bruno


erreur d'exécution 1004: erreur définie par l'application ou par l'objet, et il pointe cette ligne

Si tu as juste ceci de pointer c'est que tu as séparé des lignes en effet ces 3 lignes vont ensemble

Sheets("TITRE").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=chemin & Facture_numero & "_" & Facture_pv & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
 

Phil69970

XLDnaute Barbatruc
@Vermithor

Quand je donne une réponse en principe je l'ai essayé sur mon PC avant sinon je précise non testé
Donc quand je lis ceci :

je l'ai extraite pour dire que la flèche indiquait seulement cette ligne sur les trois.
Bien que je connaisse le résultat j'ai fait l'essai et tu vas rire c'est impossible o_O
Une erreur sur n’importe quel élément comme
chemin
Facture_numero

Facture_p
ou n'importe ou dans ces 3 lignes


Donne ceci comme résultat

1698308620242.png


ET ne peut pas donner une erreur ici car je le répétè c'est impossible
1698309625690.png


Idem une erreur sur le chemin
C'était une erreur dans le chemin.

Ne peut toujours pas faire mettre le débogueur comme tu le décris !!!

Pour excel (VBA) une erreur n'importe ou dans les 3 lignes VBA s’arrête et surligne en jaune la totalité des 3 lignes
 

Vermithor

XLDnaute Nouveau
@Vermithor

Quand je donne une réponse en principe je l'ai essayé sur mon PC avant sinon je précise non testé
Donc quand je lis ceci :


Bien que je connaisse le résultat j'ai fait l'essai et tu vas rire c'est impossible o_O
Une erreur sur n’importe quel élément comme
chemin
Facture_numero
Facture_p
ou n'importe ou dans ces 3 lignes


Donne ceci comme résultat

Regarde la pièce jointe 1181980

ET ne peut pas donner une erreur ici car je le répétè c'est impossible
Regarde la pièce jointe 1181981

Idem une erreur sur le chemin


Ne peut toujours pas faire mettre le débogueur comme tu le décris !!!

Pour excel (VBA) une erreur n'importe ou dans les 3 lignes VBA s’arrête et surligne en jaune la totalité des 3 lignes
C'est dument noté. Je pensais que la flèche jaune indiquait que l'erreur était spécifique à la ligne pointée. Comme vous le soulignez, si le chemin ne peut pas donner ce genre d'erreur, je suis incapable de dire comment je l'ai résolu, j'ai oublié ce que j'ai fait précisément, il me semblait que c'était dans la rédaction de l'arborescence. Une fois encore merci pour votre aide. Je pense m'être mal expliqué d'où le quiproquo.
 
Dernière édition:

mrcooll

XLDnaute Nouveau
Bonjour à tous,

Je viens solliciter vos lumières à cause d'un problème que je n'arrive pas à résoudre.
Je suis novice en macros.
J'ai voulu créer une macro pour éditer automatiquement des factures puis les exporter en pdf mais ma macro s'arrête à cette partie du code
VB:
Sheets("TITRE").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=chemin & Facture_numero & "_" & Facture_pv & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

et m'oppose un message d'erreur " erreur 1004, document non enregistré. Le document est peut être ouvert ou une erreur s'est produite lors de l'enregistrement.
Je ne trouve pas de solution. Pourriez-vous m'aider s'il vous plait ?

Je vous joins ma base de données réduite : la première feuille contient la base, la seconde la facture à éditer et exporter.

Et voici l'intégralité du code
VB:
Sub editionfactures()
Dim Ligne As Long
Dim chemin As String

Application.ScreenUpdating = False

'Indiquer le chemin où vont être enregistrés les titres de facturation au format PDF
chemin = Sheets("PARAMETRES").Range("A1").Value


Feuil1.Select
For Ligne = Range("A20000").End(xlUp).Row To 2 Step -1

    If Cells(Ligne, 20).Value <> "EDITER" Then
   
   
 Facture_numero = Sheets("FACTURATION").Cells(Ligne, 1)
 Facture_pv = Sheets("FACTURATION").Cells(Ligne, 11)
       
'Aller récupérer dans la base de données les éléments pour les intégrer à la facture'

'La date'
Feuil9.Range("H39").Value = Cells(Ligne, 13).Value

'Le numéro de PV
Feuil9.Range("F30").Value = Cells(Ligne, 11).Value

'la date de l'entrée du corps'
Feuil9.Range("G30").Value = Cells(Ligne, 4).Value

'Le temps de gardiennage jusqu'à destruction
 
Feuil9.Range("I30").Value = Cells(Ligne, 16).Value


'Le temps de gardiennage jusqu'à sortie
Feuil9.Range("H30").Value = Cells(Ligne, 17).Value

'Montant pour destruction
Feuil9.Range("D30").Value = Cells(Ligne, 23).Value
   
   
'Montant pour sortie
Feuil9.Range("C30").Value = Cells(Ligne, 22).Value

'Le Numéro de scellé
Feuil9.Range("B30").Value = Cells(Ligne, 7).Value

'ID Autopsie
Feuil9.Range("A10").Value = Cells(Ligne, 1).Value

'______________________________________________________________'

Feuil1.Cells(Ligne, 20).Value = "EDITER"

Sheets("TITRE").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=chemin & Facture_numero & "_" & Facture_pv & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

 
    End If
Next Ligne

Application.ScreenUpdating = True


End Sub

Un grand merci à vous par avance.

Vermi
Ton problème est simple, il s'agit d'une erreur sur la nom de ton fichier généré. j'ai donc prix ton document j'ai changé sur ta feuille PARAMETRES le chemin, j'ai mis un chemi simple "D:\" en l’occurrence, j'ai eu la même erreur car le nom long de ton fichier est le suivant : "D:\15/2018_2018/8888.pdf" tu utilise un '/' au lieu de '\'.
je te propose d’écrire ton ID_AUTOPSIE comme suit : 15-2018 et ton PV 2018-8888 ça résoudra ton problème
 

mrcooll

XLDnaute Nouveau
@mrcooll

Ce n'est pas une question de compétition mais quand on poste une solution sur un fil marqué comme résolu la moindre des choses c'est d'aller voir la solution que le demandeur à choisi !
Et tu aurais vu que la solution que tu présente est la même.
Il suffit de lire ! ;)
On se perd notre temps inutilement là, vaut mieux que tu te concentre sur des vrais pb
bon merci quand même et bonne soirée
 

Discussions similaires

Statistiques des forums

Discussions
313 315
Messages
2 097 056
Membres
106 822
dernier inscrit
jolost2