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 Sub

Merci 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

Help me

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 Sub

ce 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 Sub

Bonjour,

remplacer

Worksheets("Fiche de réparation").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="C:\Users\TECH\Desktop\enregistrement2 PDF.pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

par

Worksheets("Fiche de réparation").Copy
ActiveWorkbook.Save "C:\Users\TECH\Desktop\enregistrement2 PDF.xlsx"

J'essaye de ce pas merci

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 Sub

MODIFIER 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\....

Rechercher des sujets similaires à "enregistrement automatique"