Enregistrement automatique Excel
Bonjour à tous,
J'ai un code comme celui si. Il marche parfaitement le probleme c'est que je souhaite enregistrer en format excel. ça doit être tout con mais pas moyens de trouver...
Sub piece_a_commander()
With ActiveSheet.PageSetup
.Orientation = xlLandscape
Worksheets("Fiche de réparation").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\Users\TECH\Desktop\enregistrement2 PDF.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
If .Orientation = xlLandscape Then
.Orientation = xlPortrait
End If
.Orientation = xlLandscape
End With
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim olFormatHTML As String
FileAttach = "C:\Users\TECH\Desktop\enregistrement2 PDF.pdf" _
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
strbody = "Information sur la mise à jour"
On Error Resume Next
With OutMail
.To = ""
.BCC = ""
.Subject = "commande piece "
.BodyFormat = olFormatHTML
.HTMLBody = "Bonjour, <BR><BR>Ce message vous informe que " & Worksheets("Fiche de réparation").Cells(3, "I") & " demande la commande des pièces suivantes:<BR><BR><BR> " & Worksheets("Fiche de réparation").Cells(30, "A") & " <BR> pour la pièce " & Worksheets("Fiche de réparation").Cells(2, "I") & " .<BR><BR>" _
& "<A href=" & """" & "\\Nom_serveur\Repertoire\nom_ficihier.xls" & """" & "></A>" & Chr(10) & "<BR><BR>Cordialement"
.Attachments.Add enregistrement2_PDF
.Attachments.Add (FileAttach)
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End SubMerci de votre aide
Bonjour,
que voulez-vous enregistrer en format excel ?
Le document qui s'enregistre actuellement en format PDF à savoir "enregistrement2 PDF" Le programme marche mais je souhaite l’avoir en excel et non pdf.
merci
Bonjour babuf , Exceleurs(es),
ActiveWorkbook.Save
permet d'enregistre ton classeur.
Salut,
merci de ta réponse Mais je souhaite enregistrer une partie de page, par un miracle j'ai réussi en pdf mais pas en excel. Peut tu me dire à partir de ma macro ce qu'il faut modifier stp
babuf,
Que veux tu dire ? par
,Mais je souhaite enregistrer une partie de page
le bout code tu peux le placer ou tu veux
par une partie de page j'entends feuille 2 de la cellule D4 à I9 par exemple ...
je le place ou je veux dans ma macro l'enregistrement sera fait et le lien mis dans le mail?
babuf,
Sur la procédure piece_a_comander() la feuille sur laquelle est positionnée la procédure est "Fiche de réparation"
Worksheets("Fiche de réparation"). Tu veux enregistrer une plage de donnée est non le classeur en entier?
Je résume tu envoies un email, dans cet email se trouve le fichier pdf et dans le corps de l'email il y a un lien qui fait référence au fichier excel. Qui est ce bout de code
"<A href=" & """" & "\\Nom_serveur\Repertoire\nom_ficihier.xls" & """" & "></A>" Donc si tu souhaites juste enregistre une plage de donnée d'une feuille à partir d'un classeur sa va être hot!!!!!
j'aime les défis... j'ai défini une "zone d'impression" ce qui fait que j’envoie la zone qui m’intéresse. Ce qui me bloque encore et toujours, c'est le format excel. tu l'as bien vu dans ma macro c'est des . PDF partout quand je remplace par . xlsx ça ne marche plus tu peux me dire pourquoi? Si jamais tu es motivé et plein de bonne volonté, peux tu directement modifier la macro que j'ai copié dans le 1 er message stp
Merci pour l'aide que tu m'apportes
babuf,
tu veux juste envoyer ta zone d'impression pourquoi ne pas créer un fichier excel où tu vas copier ta zone d'impression tu l'enregistres et tu l'envoies.
je reviens concocter sa
PS: tu comprends ta macro ou pas type:=xlTypePDF c'est pour sa que tu ne peux pas changer l'extension
C'est une bonne idée mais je me retrouve toujours avec mon probleme de PDF ... j'ai pas l'outil la fonction pour envoyer un excel...
babuf,
tu es en train de m'embrouiller;
je me retrouve toujours avec mon probleme de PDF
tu en as besoins ou pas de l'enregistrement en PDF.
j'ai pas l'outil la fonction pour envoyer un excel.
ton fichier excel est bien enregistré quelques part, vu que tu le mets en lien dans l'email.
ou tu veux aussi envoyer en fichier excel en plus du pdf?
ou juste enregistre la zone d'impression dans un fichier excel et donner le chemin dans ton email?
la fonction pour enregistre
c'est le bout de code
après faire ce que j'ai dit copier ta zone d'impression dans un nouveau classeur l'enregistrer c'est faisable.
ta macro tu sais ce qu'elle fait ou pas ?
pour tout resituer, j'ai dans mon premier message envoyer ce code.
Sub piece_a_commander()
With ActiveSheet.PageSetup
.Orientation = xlLandscape
Worksheets("Fiche de réparation").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\Users\TECH\Desktop\enregistrement PDF.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
If .Orientation = xlLandscape Then
.Orientation = xlPortrait
End If
.Orientation = xlLandscape
End With
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim olFormatHTML As String
FileAttach = "C:\Users\TECH\Desktop\enregistrement PDF.pdf" _
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
strbody = "Information sur la mise à jour"
On Error Resume Next
With OutMail
.To = "test@hotmail.fr"
.BCC = ""
.Subject = "commande piece "
.BodyFormat = olFormatHTML
.HTMLBody = "Bonjour, <BR><BR>Ce message vous informe que " & Worksheets("Fiche de réparation").Cells(3, "I") & " souhaite commander des pièces:<BR><BR>" _
& "<A href=" & """" & "\\Nom_serveur\Repertoire\nom_ficihier.xls" & """" & "></A>" & Chr(10) & "<BR><BR>Cordialement"
.Attachments.Add enregistrement2_PDF
.Attachments.Add (FileAttach)
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Subce code marche parfaitement mais il envoie une pièce jointe en PDF et je la veux en excel.
Je suppose que ça se passe à ce niveau
Worksheets("Fiche de réparation").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\Users\TECH\Desktop\enregistrement PDF.pdf", _
Mais pas moyen de trouver comment enregistrer sous format excel. c'est juste ça mon probleme
J’espère avoir su m'exprimer de manière plus simple .
Et pour répondre a ta question ma macro enregistre une partie de la feuille en format pdf , elle va ensuite écrire un mail et joindre l'enregistrement dans le mail.
Merci par avance
ok ok c'est une mauvaise compréhension que j'ai eu de ta problématique.
alors c'est plus simple tu veux joindre ton fichier excel.
Sub piece_a_commander()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim olFormatHTML As String
' ici se trouve le chemin pour joindre le fichier donc si ton fichier excel se trouve sur ton bureau
FileAttach = "C:\Users\TECH\Desktop\fichier.xls"
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
strbody = "Information sur la mise à jour"
On Error Resume Next
With OutMail
.To = "test@hotmail.fr"
.BCC = ""
.Subject = "commande piece "
.BodyFormat = olFormatHTML
.HTMLBody = "Bonjour, <BR><BR>Ce message vous informe que " & Worksheets("Fiche de réparation").Cells(3, "I") & " souhaite commander des pièces:<BR><BR>" _
& "<A href=" & """" & "\\Nom_serveur\Repertoire\nom_ficihier.xls" & """" & "></A>" & Chr(10) & "<BR><BR>Cordialement"
.Attachments.Add (FileAttach)
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End SubBonjour,
remplacer
Worksheets("Fiche de réparation").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\Users\TECH\Desktop\enregistrement2 PDF.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=Falsepar
Worksheets("Fiche de réparation").Copy
ActiveWorkbook.Save "C:\Users\TECH\Desktop\enregistrement2 PDF.xlsx"en tous cas de mon cotés sa fonctionne bien il prépare l'email reste plus qu'a l'envoyer
le code de sabV ne fonctionneras pas
Medas avec ta solution je n'ai plus de pièce jointe dans le mail...
SabV : nombre d'argument incorrect a ce niveau "ActiveWorkbook.Save "C:\Users\TECH\Desktop\enregistrement2 PDF.xlsx"" qu'est ce que nca veut dire?
Sub piece_a_commander()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim olFormatHTML As String
FileAttach = "A MODIFIER"
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
strbody = "Information sur la mise à jour"
On Error Resume Next
With OutMail
.To = "A MODIFIER"
.BCC = ""
.Subject = "commande piece "
.BodyFormat = olFormatHTML
.HTMLBody = "Bonjour, <BR><BR>Ce message vous informe que " & Worksheets("A MODIFIER").Cells(3, "I") & " demande la commande des pièces suivantes:<BR><BR><BR> " & Worksheets("Fiche de réparation").Cells(30, "A") & " <BR> pour la pièce " & Worksheets("A MODIFIER").Cells(2, "I") & " .<BR><BR>" _
& "<A href=" & """" & "A MODIFIER" & """" & "></A>" & Chr(10) & "<BR><BR>Cordialement"
.Attachments.Add (FileAttach)
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End SubMODIFIER LE CODE POUR QUE SA FONCTIONNE CHEZ TOI
SabV : nombre d'argument incorrect a ce niveau "ActiveWorkbook.Save "C:\Users\TECH\Desktop\enregistrement2 PDF.xlsx"" qu'est ce que nca veut dire?
la propriété save sauvegarde il lui manque sauvegarde à
donc si tu veux utiliser sont bout de code il faut le corriger
ActiveWorbook.SaveAs filename c\....