PDF, Dossier & Mail

CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Voila sur la premiere feuille de mon fichier excel il ya des informations de toutes sortes dont un tableau qui fait on va dire D5:K45.
Je souhaiterai créer un bouton qui à la fois:
M'exporte ce table uniquement et non toute la feuille sous format PDF vers un dossier que j'aurai designé à l'avance. et ensuite envoyer ce fichier PDF par mail toujours aux memes destinataires.
Etant très débutant sur VBA, j'ai trouvé un code pour la création du PDF, son enregistrement dans un dossier spécifique et l'envois par mail mais aucun moyen de les lier ensemble donc ca fonctionne pas!
Un volontaire pour m'aider?
Merci.

3 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Mettez votre fichier a dispo sans donnees sensibles de facon a avoir votre code pour le modifier

    Pour transmettre un fichier,
    Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDEBTIELLES
    il faut passer par un site de pièce jointe tel que cjoint.com

    Allez sur ce site : https://www.cjoint.com/
    Clic sur parcourir,
    Cherche ton fichier,
    clic sur ouvrir,
    Clic sur "Créer le lien cjoint",
    Copier le lien,
    Revenir ici le coller dans une réponse...
    0
    1. CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,

      Les codes sont des codes que j'ai trouvé sur différents forums que je n'ai pas pu adapter à mon besoin car faible niveau.
      Vous les voulez quand meme?!
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,

      Ben oui, meme si je ne les reprends pas pour faire ce dont vous avez besoin en ayant une solution plus avantageuse
      Cela permet aussi de voir quel excel mini vous utilisez
      0
    3. CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour voici ce que j'ai trouvé:

      Sub Enregistrer_PDF() 'Devis

      Dim repertoire, fichier As String
      ' Sheets("Feuil1").Select
      repertoire = ThisWorkbook.Path & "\" 'répertoire à adapter
      fichier = [D1] & " " & [E1] & "_" & [E8] & ".pdf" 'Nom du fichier avec le nom du client
      ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      repertoire & fichier, Quality:= _
      xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
      OpenAfterPublish:=False
      MsgBox ("Votre " & [D1] & " " & [E1] & " pour M. " & [E8] & " a été sauvegardé dans ce répertoire.")
      Range("F8").Select
      End Sub



      Sub SendEmail()
      '
      ' SendEmail Macro
      '
      Dim olApp As Outlook.Application
      Set olApp = CreateObject("outlook.application")

      Dim olMail As Outlook.MailItem
      Set olMail = olApp.CreateItem(olMailItem)


      With olMail

      .To = "xxx@yy.com"
      .CC = "zzz@yy.com"
      .Subject = " reporting " & Format(Date - 1, "dd-mm-yyyy")
      .Body = Range("A1").Value & vbCrLf _ ' le fichier comportant la macro devrait avoir les données du corps du mail dans les cellules A1...A4
      & Range("A2").Value & Format(Date - 1, "dd-mm-yyyy") & " ." & vbCrLf & vbCrLf _
      & Range("A3").Value & vbCrLf & vbCrLf _
      & Range("A4").Value

      .Attachments.Add "X:\Reporting.xls"

      .send


      End With


      End Sub


      Application.Goto Reference:="Button1_Click"
      Workbooks.Open Filename:= _
      "\\lhc-wfs-001-p\DataUser$\Home\JedaiT\Downloads\Sofia25164_DEVIS V1.xlsm"
      ActiveWorkbook.Save
      ActiveWindow.Close
      ActiveWorkbook.Save
      End Sub
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,

      Quel Excel avez-vous, car le code est pour Excel2007 et plus et vous sauvegardez en Excel97-2003?????
      0
    5. CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Non je travail et sauvegarde sur la version 2010.
      Toutes mes excuses pour cet oubli!
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    fichier exemple: https://www.cjoint.com/c/FEllCSfufmf

    A+
    0
    1. CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci beaucoup!

      Je n'arrive pas dutout à l'adapter. Je suis vraiment pas bon...
      Si pour simplifier on oublie l'enregistrement et on envois à l'aide d'un bouton la partie "A3:I54" de la feuille concernée en PDF à l'adresse mail se trouvant dans la cellule A17?
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
         
        Re,

        Si pour simplifier on oublie l'enregistrement Ben non, pour envoyer un PDF, il faut qu'il soit enregistrer

        Pouvez-vous mettre votre fichier sans donnees confidentielles(modifie les) a dispo, pour que je fasse les modif

        Pour transmettre un fichier,
        Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
        il faut passer par un site de pièce jointe tel que cjoint.com

        Allez sur ce site : https://www.cjoint.com/
        Clic sur parcourir,
        Cherche ton fichier,
        clic sur ouvrir,
        Clic sur "Créer le lien cjoint",
        Copier le lien,
        Revenir ici le coller dans une réponse...
        0
    2. CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Alors j'ai aucun moyen de le faire car je n'ai pas les capacités pour comprendre.
      Merci de votre aide quand même.
      Une excellente après midi!
      0
  3. CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
     
    Bon j'y ai passé la soirée d'hier et la matinée d'aujourd'hui et je commence à capter...
    Sauf que ca ne fonctionne toujours pas et je ne sais pas pourquoi..
    Voila le message d'erreur:

    "Select Method Of worksheet class failed"

    Et Voila ou j'en suis:

    Sub Enregistrer_PDF() 'ETM.Pdf
    Dim repertoire, fichier As String
    Sheets("ETM").Select 'voir pour la feuille
    repertoire = ThisWorkbook.Path & "\\lhc-wfs-001-p\DataUser$\Home\jedait\Desktop\JACOB" 'répertoire à adapter
    fichier = [C11] & ".pdf" 'Nom du fichier avec le nom du client
    Range("A3:I54").Select
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=repertoire & fichier, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

    MsgBox ("Votre ETM a été sauvegardé dans ce répertoire.- Your ETM has been saved in this folder.")
    Chemin = repertoire & fichier
    Call SendEmail(repertoire & fichier)
    End Sub

    Sub SendEmail(Chemin)
    Dim olApp As Object
    Dim olMail As Object

    Set olApp = CreateObject("outlook.application")
    Set olMail = olApp.CreateItem(olMailItem)
    With olMail
    .To = "A17"
    .CC = ""
    .Subject = " Advice Note " & Format(Date - 1, "dd-mm-yyyy")
    ' le fichier comportant la macro devrait avoir les données du corps du mail dans les cellules A1...A4
    .HTMLBody = "Bonjour" & "Ceci est un mail automatique" & "Cordialement"
    .Attachments.Add Chemin
    .Display 'ouverture de Outlook pour valider ou non l'envoi
    '.send 'sans ouverture de Outlook
    End With

    End Sub

    Voici le fichier
    https://www.cjoint.com/c/FEmjPPWkxX8

    Alors pour ceux qui n'ont pas suivi la discussion:

    C'est l'envois d'un fichier PDF composé du tableau A3:I54 à l'adresse mail qui se trouvera dans la cellule A17. Ce pdf sera enregister dans le l'adresse du dossier mentionner dans le code.

    Voila et encore merci pour les âmes charitable.
    ;)
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Comment ce fait-il que le code ne soit pas dans le fichier que vous mettez a dispo ????
      Pourquoi ce fichier est .xls ald .xlsm puisque vous avez EXCEL2010 ??????????
      0
    2. CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Contraintes de boulot (tous le monde n'est pas sur la meme version....) moi je travail sur .xlsx mais ceux qui utiliseront le fichier sont sur .xls. Donc oui maintenant que tu soulève le point vaut mieux le construire sur .xls
      Sinon oui j'ai oublié de le mettre dans le fichier... Sorry! Je suis trop mauvais :/ :)
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,

      Si il y a de l'EXCEL 2003, faut le dire prestement, car le code fourni ne marche pas du tout avec cet EXCEL

      Et donne ce fichier avec le code......!!!
      0
    4. CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Ok c'est noté!

      Donc je dois trouver un autre code allant sur 2003 c'est ca?
      0
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > CamdenTown Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
       
      Re,

      Non, j'ai ce qu'il faut, mais il faut ajouter du code pour tester la version excel pour prendre soit le code 2007 et plus ou le code pour 2003

      Je regarde la chose

      A+
      0