Sauvegarder en pdf ou est l'erreur
onsoir remarquer vu l'heure bonne nuit , ja fait un code pour enregistrer ma feuille courante en pdf et qu'elle soit classée dans le bon dossier archive de mes documents, le code tourene bien jusqu'au moment ou il doit convertir en pdf (mon excel a tous ce qui faut pour le pdf car si je le fait par enregistrer sous ca marche si vous pouvez jeter un oeil expert merci d'avance
Sub ImprimePDF_CLEMENT_BON_COMMANDE()
Dim nomfichier As String, chemin As String
Dim Rep As Integer
fact = Sheets("facture").Range("Q1")
nomfichier = Sheets("facture").Range("I1") & Sheets("facture").Range("J1")
Rep = MsgBox("Voulez-vous sauvegarder en pdf ?", vbYesNo)
If Rep = vbYes Then
With Sheets("facture").Range("B1:J43").Select
If fact = "base_devis" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\christophe\Documents\faturation clément\archive devis" & nomfichier & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
End If
If fact = "base_commande" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\christophe\Documents\faturation clément\archive commandes" & nomfichier & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
End If
If fact = "base_facture" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\christophe\Documents\faturation clément\archive factures" & nomfichier & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
End If
End With
End If
End Subdans toute mes tantative c'est la zone ativesheet.export qui ne tourne pa rond
merci
cedcyr
Hello
Pour ma part j'utilise ce code qui me convertie ma feuil en pdf si toutes fois ca peux aider
Sub enregistrement()
Dim chemin As String, Fichier As String
Sheets("FACTURE").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\Backup Freebox\Boulot\Factures\pdf\facture_" & Sheets("FACTURE").Range("c2").Text & Sheets("FACTURE").Range("b6").Text & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
End SubCordialement
bonjour
je vient de faire un essai avec ton code bien entendu arranger pour mon classeur cela donne ceci :
Sub ImprimePDF_CLEMENT_BON_COMMANDE()
Dim Rep As Integer
fact = Sheets("facture").Range("Q1")
Rep = MsgBox("Voulez-vous sauvegarder en pdf ?", vbYesNo)
If Rep = vbYes Then
End If
If fact = "base_devis" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\christophe\Documents\faturation clément\archive devis\" & Sheets("facture").Range("I1").Text & Sheets("facture").Range("J1").Text & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
End If
If fact = "base_commande" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\christophe\Documents\faturation clément\archive commandes\" & Sheets("facture").Range("I1").Text & Sheets("facture").Range("J1").Text & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
End If
If fact = "base_facture" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\christophe\Documents\faturation clément\archive factures\" & Sheets("facture").Range("I1").Text & Sheets("facture").Range("J1").Text & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
End If
End Submais cela ne fonctionne pas nom plus , donc je met mon classeur avec il y a quelque chose qui ne tourne pas rond mais la je seche
alors que dans mon classeur il y a une macro Sub ImprimePDF_CLEMENT_DEVIS() qui elle fonctionne mais j'ais voulu la refaire car mes doc ne sont pas toujours des devis, mle fichier enregistrer portait toujours le meme nom et donc remplaçait le precedent.
avec le code si-dessus je voulais faire en sorte que si mon doc est une fature il va dans le dossier facture etc... et que le nom du fichier sois le type et le numero du doc. mais excel n'en veut pas
un oiel averti me serai bien utile
merci cedcyr
en faisant tout un tas d'éssai ce qui fait planté mon code c'est :
& Sheets("facture").Range("I1").Text & Sheets("facture").Range("J1").Text & car si je reecrit ma ligne comme suis:
"C:\Users\christophe\Documents\faturation clément\archive devis\devis" & ".pdf"ca mache mais cela ne me renome pas le ficher il porte le nom devis et rien de plus donc cela ecrase toujour le precedent.
comment puis-je réecrire cette ligne pour que l'ors de l'enregistrement mon fichier soit renomer automatiquement
( dans mon doc I1 est egale au type de document et J1 au n° du document)
merci
cedcyr
Bonjour
Je ne peux tester car je n'ai pas 2007
Mais si tu dis que ta macro plante à une certaine ligne, juste avant passe par un msgbox afin que tu saches si le chemin + le nom du fichier est correct
Vérifies bien s'il manque ou en trop des \
Exemple
If fact = "base_devis" Then
MsgBox "C:\Users\christophe\Documents\faturation clément\archive devis\" & Sheets("facture").Range("I1").Text & Sheets("facture").Range("J1").Text & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\christophe\Documents\faturation clément\archive devis\" & Sheets("facture").Range("I1").Text & Sheets("facture").Range("J1").Text & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=Falsecoucou banzai64 j'ai fait le test et d'ailleur je retient l'astuce pour verifier un contenu par ce que ca c'est cool donc dans la mgsbox le chemin est correct en tous point et mon fichier est bien nomé et quand je clique ok il plante c'est a ce tirer une balle ce truc et pour reprendre ton idée si il passe avant comment faire pour qu'il passe après
merci
cedcyr
Bonjour
Comme je te l'ai dit je n'ai pas 2007 donc je ne peux tester
Mais quelle est le libellé de l'erreur ?
Cela va peut être aider à trouver le pourquoi
re pour l'erreur le message est le suivant :
erreur 1004 le document non enregistrer, le document ne peut etre ouvert ou une erreur c'est produit lors de l'enregistrement
c'est ca qui est bizar car sans la formule pour le nom ca fonctionne et de plus je ne leui demande pas de l'ouvrir ! je cherche aussi de mon coter mais dans l'aide microsoft je ne sait pas ou chercher au vue du nombre important de rubique et de mes faible connaissances en excel donc toutes les idées sont bonne a prendre
meric deja pour l'interressement a mon sujet
je cherche aussi de mon coté etant plien de perceverance j'ai espoir !
cedcyr
re moi , banzai64 je vient de tomber sur article web microsoft qui di que on ne peut pas avec excel 2007 enregistrer danc le disque racine sous windows 7 sans une mise a jour office sp3 et 2 autre patch donc je charge et j'essai et je te tien au courant de la suite
ha ce bil ils nous en fait voir de toute les couleur si c'est ca !
merci
cedcyr
Bonjour
Moi je ne peux pas plus t'aider
J'espère pour toi que soit tu y arrives tout seul soit quelqu'un te dépanne
re bonsoir banzai64 j'ai trouver !!!! mais je ne sait pas comment contourner le problème sinon j'ai quand même une solution ,
j'explique ma numerotaion de de doc ce fait comme suit année / 000000, le problme vient du / si je le remplace par un tiret du 6 par exemple cela marche au poil donc je croie que la seule solution est de numeroter differamentmes document car sinon je croix que windows ne le prendra jamais.
patient c'est vrais mais surtout tres bête car si on veut rennomer un dossier sous windows et qu'on mes un \ / etc... on n'a un jolie message qui nous dit non (que je suis con)
merci pour le coup d'oeil et a bientot je vais surement en faire d'autre des comme ca
cedcyr