Macro - Boutons imprimer et enregistrer dans le même dossier

plingx Messages postés 144 Statut Membre -  
plingx Messages postés 144 Statut Membre -
Bonjour,

Je n'y connais rien en macro, j'ai suivi 2 questions trouvé sur CCM et 2 tutos sur deux autres sites et je n'y comprend rien, ça ne marche jamais !

Je voudrais avoir un bouton qui enregistre l'onglet de mon fichier en pdf dans un dossier qui se trouve au même endroit que mon fichier exel.
Mais le pdf doit porter le nom de la cellule F4, et selon si la cellule E1 est "FACTURE" ou "DEVIS", l'enregistrer dans le dossier facture ou devis ...

Je fais ce document pour ma mère, je vais être honnête avec vous, je ne cherche pas a savoir le faire, je n'en aurait plus jamais l'utilité et sans pratique, j'oublierai.

Merci pour votre aide
A voir également:

7 réponses

julia Namor Messages postés 532 Statut Membre 33
 
Bonsoir

Avec un peu de retard, voilà si j'ai bien compris ta demande

https://www.cjoint.com/c/GBdtUlX66RA

cdt
0
plingx Messages postés 144 Statut Membre 20
 
Bonjour,

Vraiment merci beaucoup ! j'ai pu l'adapter a mon document en changeant le nom "feuil1" !
J'ai cependant 2 problèmes :

- Il enregistre tout le quadrillage même si je le désactive dans l'onglet "affichage" et je voudrais qu'il enregistre uniquement les bordures que j'ai mis.

- Il enregistre sur une deuxième page la partie a droite de mon tableau avec notamment le bouton du macro. J'aimerai doc qu'il enregistre uniquement mon tableau de A1:F45 (compris)

Merci pour ton aide !
0
julia Namor Messages postés 532 Statut Membre 33
 
Bonjour

Comme ça?

https://www.cjoint.com/c/GBgoZyJwNXA

cdlt
0
plingx Messages postés 144 Statut Membre 20
 
Et non ... Car les bordures que j'ai faites ne s'affiche plus, ainsi que le logo et les couleurs ... Je te donne un document neutre pour que tu comprenne mieux ce dont j'ai besoin :

http://www.cjoint.com/c/GBgq11d37eZ

Merci pour ton aide en tout cas !
0
julia Namor Messages postés 532 Statut Membre 33
 
Bonjour
M'enfin je comprends mieux
ci-dessous le code mis à jour
Tu le colles à la place de l'ancien

Sub pdf_export()
Application.ScreenUpdating = False
Call RépertoireExiste(ThisWorkbook.Path & "\" & Sheets("Facture & Devis").Range("E1").Value)

ThisWorkbook.Worksheets.Add After:=Worksheets(Worksheets.Count)
Sheets("Facture & Devis").Range("A1:F45").Copy
With ActiveSheet
'Sheets("Facture & Devis").Range("A1:F45").Copy

ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

ActiveSheet.Range("A1:F45").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Sheets("Facture & Devis").Range("E1").Value & "\" & Sheets("Facture & Devis").Range("F4").Value & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

MsgBox "le Fichier " & Sheets("Facture & Devis").Range("F4").Value & " a été bien exporté dans le dossier " & Sheets("Facture & Devis").Range("E1").Value

End With
Application.DisplayAlerts = False
Worksheets(Worksheets.Count).Delete
Sheets("Facture & Devis").Activate
Application.ScreenUpdating = True
End Sub



Cordialement
0
plingx Messages postés 144 Statut Membre 20
 
J'aurai du commencer par envoyer le document, je n'y ai pas pensé !

Le problème que je rencontre ce coup-ci, c'est qu'il enregistre le document en mettant toutes les cellules a la même dimension, du coup les textes n’apparaissent pas entier ...

Je n'aurai pas cru que ce serait si compliqué, je suis désolé de te déranger encore une fois !
0
julia Namor Messages postés 532 Statut Membre 33
 
Bonsoir
Une approche qui réglera définitivement tous les soucis ... du moins je l’espère
Tu le colles à la place de l'ancien

Sub pdf_export()
ActiveWindow.DisplayGridlines = False
Worksheets("Facture & Devis").Range("A1:F45").CopyPicture xlScreen, xlBitmap
Application.DisplayAlerts = False
Call RépertoireExiste(ThisWorkbook.Path & "\" & Sheets("Facture & Devis").Range("E1").Value)
Set new = Worksheets.Add
With ActiveSheet.PageSetup
.Zoom = 95
End With
With new
.Paste
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Sheets("Facture & Devis").Range("E1").Value & "\" & Sheets("Facture & Devis").Range("F4").Value & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
.Delete
MsgBox "le Fichier " & Sheets("Facture & Devis").Range("F4").Value & " a été bien exporté dans le dossier " & Sheets("Facture & Devis").Range("E1").Value
End With
Sheets("Facture & Devis").Activate
End Sub


Cdlt
0
plingx Messages postés 144 Statut Membre 20
 
Décidément... J'ai une "erreur de compilation : erreur de syntaxe" sur le Sub pdf_export().
Je comprend pas trop vu que c'est belle et bien le même que sur le code juste avant ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
julia Namor Messages postés 532 Statut Membre 33
 
Oup'ss c'est ma faute
remplacer le "new" par "nw"

Sub pdf_export_image()
ActiveWindow.DisplayGridlines = False
Worksheets("Facture & Devis").Range("A1:F45").CopyPicture xlScreen, xlBitmap
Application.DisplayAlerts = False
Call RépertoireExiste(ThisWorkbook.Path & "\" & Sheets("Facture & Devis").Range("E1").Value)
Set nw = Worksheets.Add
With ActiveSheet.PageSetup
.Zoom = 95
End With
With nw
.Paste
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & Sheets("Facture & Devis").Range("E1").Value & "\" & Sheets("Facture & Devis").Range("F4").Value & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
.Delete
MsgBox "le Fichier " & Sheets("Facture & Devis").Range("F4").Value & " a été bien exporté dans le dossier " & Sheets("Facture & Devis").Range("E1").Value
End With
Sheets("Facture & Devis").Activate
End Sub
0
plingx Messages postés 144 Statut Membre 20
 
Effectivement ca venait de la, et malheureusement ça ne marche toujours pas car ca enregistre sur 4 pages différentes désormais ...
0
julia Namor Messages postés 532 Statut Membre 33
 
Modifie le
.Zoom = 95

a
.Zoom = 50


pour voir

quelle version de excel utilises tu ?
0
plingx Messages postés 144 Statut Membre 20
 
Ah yes ! je vais chercher le bon nombre !
j'utilise office2013.

Si je peux t’embêter encore une fois, ça ne prend pas les bordures verticales tout a gauche, c'est possible de régler ça ? Il y a une partie du code qui gères les réglages avec lesquels je pourrais jouet pour améliorer la qualité du pdf ?
0
julia Namor Messages postés 532 Statut Membre 33
 
bonsoir

Une approche avec libération de la colonne A et de la ligne 1 pour plus d'esthétique ( à mon gout)
Attention aux cellules liées les formules risquent d’être faussées.
A essayer

https://www.cjoint.com/c/GBhvl2cIIxA

Cdt
0
plingx Messages postés 144 Statut Membre 20
 
Désolé pour le retard, c'est effectivement mieux merci ! Si je comprend bien, il fait plus ou moins une capture d’écran qu'il agrandit après ? Je dis ça par ce que ça donne un fichier un peu pixelisé, j'ai cherché les différents réglages mais je n'ai rien trouvé, je n'ai d’ailleurs trouvé aucun post qui parle de ce "flou", ça m'étonne...
0