Créer un PDF à l'enregistrement du Exel
Résolu
David512
-
David512 -
David512 -
A voir également:
- Xltypepdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Comment creer un pdf - Guide
50 réponses
Maintenant avec cette nouvelle version en enregistrant mon fichier excel j'obtient un message d'erreur:
Erreur d'exécution '1004':
Document non enregistré. Le document est peut-etre ouvert ou une erreur s'est produite lors de l'enregistrement.
Erreur d'exécution '1004':
Document non enregistré. Le document est peut-etre ouvert ou une erreur s'est produite lors de l'enregistrement.
Re,
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'repertoire
rep = "P:\etude\Plan\Fiche\" & Left(ThisWorkbook.Name, 1)
'sous-repertoire
Sous_rep = Left(fichier_test, 4) & "00-" & Left(fichier_test, 4) & "99"
Nom_Fichier = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
strCheminComplet = rep & "\" & Sous_rep & "\" & Nom_Fichier & ".PDF"
'sauvegarde eb PDF et xlsx
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'repertoire
rep = "P:\etude\Plan\Fiche\" & Left(ThisWorkbook.Name, 1)
'sous-repertoire
Sous_rep = Left(fichier_test, 4) & "00-" & Left(fichier_test, 4) & "99"
Nom_Fichier = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
strCheminComplet = rep & "\" & Sous_rep & "\" & Nom_Fichier & ".PDF"
'sauvegarde eb PDF et xlsx
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
Re,
J'ai peut être une solution un peu plus simple à vous apportez en changeant ma demande.
Je voudrai toujours générer un PDF à l'enregistrement mais cette fois-ci je voudrai que se soit sur le bureau. Ce PDF devra avoir le même nom que mon fichier excel.
Et j'irai le classer manuellement dans mes répertoires. je pense que se sera plus simple.
J'ai peut être une solution un peu plus simple à vous apportez en changeant ma demande.
Je voudrai toujours générer un PDF à l'enregistrement mais cette fois-ci je voudrai que se soit sur le bureau. Ce PDF devra avoir le même nom que mon fichier excel.
Et j'irai le classer manuellement dans mes répertoires. je pense que se sera plus simple.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Ca marche chez moi, cela doit marcher chez vous.
Pouvez vouz mettre un point d'arret devant cette ligne
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
et en passant le curseur de la souris sur strCheminComplet, vous verrez si le chemin et le nom de fichier est celui que vous attentez.
A+
Ca marche chez moi, cela doit marcher chez vous.
Pouvez vouz mettre un point d'arret devant cette ligne
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
et en passant le curseur de la souris sur strCheminComplet, vous verrez si le chemin et le nom de fichier est celui que vous attentez.
A+
Re,
Une question: le fichier .xls, que vous voulez en PDF, c'est un fichier qui a deja un nom ou il n'a jamais ete enregistre???
Une question: le fichier .xls, que vous voulez en PDF, c'est un fichier qui a deja un nom ou il n'a jamais ete enregistre???
Re,
vous allez mettre le code ci-dessous a la place du code actuel.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'repertoire
rep = "P:\etude\Plan\Fiche\" & Left(ThisWorkbook.Name, 1)
'sous-repertoire
Sous_rep = Left(fichier_test, 4) & "00-" & Left(fichier_test, 4) & "99"
Nom_Fichier = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
strCheminComplet = rep & "\" & Sous_rep & "\" & Nom_Fichier & ".PDF"
'sauvegarde eb PDF et xlsx
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
manip a faire:
le fichier xls ouvert, vous l'enregistrez sans le fermer (enregistrer sous...). ensuite vous fermer le fichier, puis vous nous dites ce qui c'est passe.
vous allez mettre le code ci-dessous a la place du code actuel.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'repertoire
rep = "P:\etude\Plan\Fiche\" & Left(ThisWorkbook.Name, 1)
'sous-repertoire
Sous_rep = Left(fichier_test, 4) & "00-" & Left(fichier_test, 4) & "99"
Nom_Fichier = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
strCheminComplet = rep & "\" & Sous_rep & "\" & Nom_Fichier & ".PDF"
'sauvegarde eb PDF et xlsx
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
manip a faire:
le fichier xls ouvert, vous l'enregistrez sans le fermer (enregistrer sous...). ensuite vous fermer le fichier, puis vous nous dites ce qui c'est passe.
OK ! Alors j'ai un message d'erreur quand je ferme mon fichier ou il m'invite à cliquer sur débogageet quand je clic dessus il m'ouvre ThisWorkBook.
La ligne
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
est surligner en jaune !!!!
+ une fléche jaune devant: OpenAfterPublish:=True
La ligne
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
est surligner en jaune !!!!
+ une fléche jaune devant: OpenAfterPublish:=True
Re,
Avez vous pense a regarder la valeur de strCheminComplet??
La fleche devant OpenAfterPublish:=True indique une erreur sur la ligne
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
OpenAfterPublish:=True ----> c'est pour ouvrir le fichier PDF apres son enregistrement une fois que cela marchera. A conserver ou pas
Avez vous pense a regarder la valeur de strCheminComplet??
La fleche devant OpenAfterPublish:=True indique une erreur sur la ligne
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strCheminComplet _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
OpenAfterPublish:=True ----> c'est pour ouvrir le fichier PDF apres son enregistrement une fois que cela marchera. A conserver ou pas
J'ai créer des nouveaux chemins sous un serveur Z:
Dossier: Diffusions_Plans
Sous dossier: PDF
Sous dossier: FPI
Sous dossier: 7500-7599
donc j'ai modifié le chemin dans le code...
pour essai j'ai enregister sous mon fichier au nom : 7558 sur mon bureau
quand je met mon curseur sur strCheminComplet la valeur est:
"Z:\Diffusion_Plans\PDF\FPI\7\00-99\755.PDF
Dossier: Diffusions_Plans
Sous dossier: PDF
Sous dossier: FPI
Sous dossier: 7500-7599
donc j'ai modifié le chemin dans le code...
pour essai j'ai enregister sous mon fichier au nom : 7558 sur mon bureau
quand je met mon curseur sur strCheminComplet la valeur est:
"Z:\Diffusion_Plans\PDF\FPI\7\00-99\755.PDF
Re,
C'est normal, le code que je vous ai fourni est fait pour un nom de fichier bien cadre: ex: que vous avez donne A28669, donc si vous changez la longueur du nom de fichier ou son appellation cela ne marche plus.
\7\00-99\755.PDF ne correspond pas du tout a votre demande d'origine.
C'est normal, le code que je vous ai fourni est fait pour un nom de fichier bien cadre: ex: que vous avez donne A28669, donc si vous changez la longueur du nom de fichier ou son appellation cela ne marche plus.
\7\00-99\755.PDF ne correspond pas du tout a votre demande d'origine.
J'ai du mal m'exprimé !!!
En fait mon fichier excel que je nomme 7558 correspond à une référence D28628
En gros je parle de la FPI N°7558 de la référence D28628.
Donc quand "j'enregistre sous" 7558.xls je veux que le fichier PDF généré aille se ranger dans "Z:\Diffusion_Plans\PDF\FPI\D\D28600-D28699\D28628\7558.PDF
Pour Info: Il faut savoir que dans mon fichier excel 7558.xls j'ai une cellule fusionné de W2 à Z2 ou je rentre la référence: D28628 et une autre cellule de W4 à Z4 ou je rentre le nom de mon fichier soit 7558.
Si on peut lier tout çà....
J'espére que je suis plus clair et encore désolé ;)
En fait mon fichier excel que je nomme 7558 correspond à une référence D28628
En gros je parle de la FPI N°7558 de la référence D28628.
Donc quand "j'enregistre sous" 7558.xls je veux que le fichier PDF généré aille se ranger dans "Z:\Diffusion_Plans\PDF\FPI\D\D28600-D28699\D28628\7558.PDF
Pour Info: Il faut savoir que dans mon fichier excel 7558.xls j'ai une cellule fusionné de W2 à Z2 ou je rentre la référence: D28628 et une autre cellule de W4 à Z4 ou je rentre le nom de mon fichier soit 7558.
Si on peut lier tout çà....
J'espére que je suis plus clair et encore désolé ;)
Bonjour,
C'est simple, vous m'avez donne un chemin : "P:\etude\Plan\Fiche\" a un moment donne. Maintenant vous definissez un autre chemin "Z:\Diffusion_Plans\PDF\FPI..." qui est (je pense) fonction d'une reference que je ne connais pas.
Donc, comment je fais pour vous donnez satisfaction???
C'est simple, vous m'avez donne un chemin : "P:\etude\Plan\Fiche\" a un moment donne. Maintenant vous definissez un autre chemin "Z:\Diffusion_Plans\PDF\FPI..." qui est (je pense) fonction d'une reference que je ne connais pas.
Donc, comment je fais pour vous donnez satisfaction???
Re,
Bonjour,
Le premier chemin que j'ai spécifié "P:\etude\Plan\Fiche\" est le chemin que j'ai actuellement pour ranger mes pdf !!!
donc je vous l'ai donné comme exemple !!!
Aujourd'hui on me demande de les ranger dans "Z:\Diffusion_Plans\PDF\FPI..." donc le 1er chemin n'existe plus. le code que vous créer doit prendre en compte le nouveau chemin...
Ce que je voudrai aujourd'hui est écrit dans le message du 2 avril 2012 à 16:38 !!
Bonjour,
Le premier chemin que j'ai spécifié "P:\etude\Plan\Fiche\" est le chemin que j'ai actuellement pour ranger mes pdf !!!
donc je vous l'ai donné comme exemple !!!
Aujourd'hui on me demande de les ranger dans "Z:\Diffusion_Plans\PDF\FPI..." donc le 1er chemin n'existe plus. le code que vous créer doit prendre en compte le nouveau chemin...
Ce que je voudrai aujourd'hui est écrit dans le message du 2 avril 2012 à 16:38 !!
Re,
Aprés avoir coller ce code :
Message d'erreur-> Erreur d'execution '9': L'indice n'appartient pas à la selection.
et la ligne: Reference = Worksheets("feuil1").Range("W2") est surligner en jaune !!!
Pour info, j'ai renommer ma "feuil1" en "FPI - Fiche" ; faut'il remplacer Worksheets("feuil1") par Worksheets("FPI - Fiche") ????
Aprés avoir coller ce code :
Message d'erreur-> Erreur d'execution '9': L'indice n'appartient pas à la selection.
et la ligne: Reference = Worksheets("feuil1").Range("W2") est surligner en jaune !!!
Pour info, j'ai renommer ma "feuil1" en "FPI - Fiche" ; faut'il remplacer Worksheets("feuil1") par Worksheets("FPI - Fiche") ????