IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Projet PDF / Mail


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Projet PDF / Mail
    Bonjour à toutes et tous,

    Je souhaitrais rajouter à mon projet actuel de facturation, une option suplémentaire.
    En même temp que la création et l'enregistrement de mes fichiers xlsm, xls et jpg, que j'ai un nouveau fichier qui s'enregistre de la même manière que les autres, mais en PDF et que se PDF soit mis automatiquement dans Outlook en pièce jointe, de même que l'adresse mail soit mis également automatiquement dans la zone d'envoi du mail dans Outlook.

    Cordialement.

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu!...
    bonjour
    tien voila une macro qui enregistre un exemplaire du sheets(1) dans un nouveau classeur nomé "toto"

    et ensuite une autre copie en pdf dans le meme dossier que la copie precedente


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    Sub enregistrer_une_copie()
    Application.DisplayAlerts = False
    Dim chemin As String, nomexcel, nompdf As String
     chemin = "C:\Users\Patrick\Desktop\mes copie en pdf\"
     nomexcel = "toto" & "xls"
     nompdf = "toto" & "pdf"
     
     Sheets("Feuil1").Copy
     
        ActiveWorkbook.SaveAs Filename:=chemin & nomexcel, _
            FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
     
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & nompdf, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
            False
        ActiveWindow.Close
    Application.DisplayAlerts = True
    End Sub

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    bonjour,

    merci pour ton code mais je n'arrive pas à le faire fonctionner.

    j'ai une erreur sur cette partie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     ActiveWorkbook.SaveAs Filename:=chemin & nomexcel, _
            FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
    et une autre sur celle-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & nompdf, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False
    j'ai essayer de l'adapter a ma partie de macro mais je n'y arrive pas.
    avez vous une autre macro disponible dans votre chapeau ?

    merci

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bon reprenons des le début

    tu a préciser que tu tournais avec office 2007

    donc selon toute vraisemblance tu devrai avoir la mise a jour "save pdf je sais plus trop quoi"

    pour le vérifier

    ouvre un nouveau fichier

    et enregistre le sous

    dans le rectangle du bas cherche si tu a "PDF"

    si c'est le cas ça devrai marcher

    si ça n'est pas le cas
    http://www.infos-du-net.com/telechar...0301-6501.html

    tu l'installe et tu réessaies ma macro

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    bonsoir,

    oui j'ai pdf et j'ai aussi pdfcreator et je suis sur seven + office 2007

    merci de ton aide

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour

    moi j'ai utilisé l'adresse de mon bureau

    atu changé l'adresse du chemin

    parceque si tu a copier simplement mon code bien evidement ca ne peut pas marcher



    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    bonsoir,

    de retour sur se petit problème j'était en trein de rajouter une autre option à mon programme de facturation celle d'un calendrier.

    pour en revenir sur le pb précedent oui j'ai bien changer les chemins en mettant bien les miens.

    au plaisir d'avoir des nouvelles

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    bonjour

    ou en est tu avec ton projet est ce que ca fonctionne ou pas a tu un numero d'erreur ect.....

    il semblerait qu'il y est une imcompatibilité avec pdf creator et le pdf de excel

    dance cas la

    si tu prefere pdf creator
    tu na qu a le faire l'operation avec l'enregistreur de macros
    et notoyer ton code obtenu


    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    bonsoir,

    non mon pdfcreator fonctionne bien puisque je l'utilise pour d'autre programmes office,

    à l'heure actuel quand je clique sur mon bouton mon fichier .XLSM s'enregistre sur mon ordi dans un dossier client qui se créer automatiquement si celui-ci n'existe pas, une sauvegarde du fichier.XLSM qui sert à l' exécution se fait sur une cle usb ainsi que le dossier client. Le fichier enregistre automatiquement sous la forme date.facture.xls ''28092010_FACTURE N°_2010_57.xls'' et .....jpg se que je souhaiterais pour conclure mon projet c'est que ce fichier s'enregistre aussi en pdf et que ce pdf soit envoyé par mail.
    voici le macro complète ci dessous.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    Sub Macro_save()
    Dim Plage As Range
    Dim Types$, Client$, Fichier$, Numfact$, jour$, Facturation$, Client1$, Image$, Mail$
    Const Chemin1 = "i:\MENU_Factures\"
    Const Chemin2 = "D:\Users\admin\Desktop\MENU_Factures\"
    Const Chemin3 = "D:\Users\admin\Desktop\MENU_Factures\"
    Const Chemin4 = "i:\MENU_Factures\"
     
    Application.ScreenUpdating = False
    With Sheets("Facture")
        jour = Format(Now, "ddmmyyyy")
        Client = .Range("d4")
        Client1 = .Range("c1")
        Numfact = .Range("d3")
        Types = .Range("c3")
        Mail = .Range("f9")
     
        Fichier = jour & "_" & Types & "_" & Numfact & ".xls"
        Image = jour & "_" & Types & "_" & Numfact & ".jpg"
     
        ' Création et Enregistrement du client sur la clé USB
        If Dir(Chemin1 & Client, 16) = "" Then MkDir Chemin1 & Client
        ThisWorkbook.SaveAs Chemin1 & Client & "\" & Fichier
     
        ' Ecrasement de" 1 - Menu de Facturation Radio Pluriel.xlsm" sur l'ordi bureau
        If Dir(Chemin2 & Client1, 16) = "" Then MkDir Chemin2 & Client1
        ThisWorkbook.SaveAs Chemin2 & Client1 & "\" & Client1
     
        ' Enregistrement sur ordi maison dossier client
        If Dir(Chemin3 & Client, 16) = "" Then MkDir Chemin3 & Client
        ThisWorkbook.SaveAs Chemin3 & Client & "\" & Fichier
     
        ' Ecrasement de" 1 - Menu de Facturation Radio Pluriel.xlsm" sur la clé USB
        If Dir(Chemin4 & Client1, 16) = "" Then MkDir Chemin4 & Client1
        ThisWorkbook.SaveAs Chemin4 & Client1 & "\" & Client1
     
        ' Selection des cellule pour enregistrement en jpg
     
        Set Plage = .Range("a1:h63")
        Plage.CopyPicture
        With .ChartObjects.Add(0, 0, Plage.Width + 5, Plage.Height + 5).Chart
            .Paste
            .Export Chemin1 & Client & "\" & Image
            .Export Chemin2 & Client & "\" & Image
        End With
        .ChartObjects(.ChartObjects.Count).Delete
    End With
     
    MsgBox "Enregistrement de la facture en JPG terminée"
    Set Plage = Nothing
     
    'Sub EnvoiMail()
    MsgBox "Execution de OFFICE OUTLOOK 2007 "
     
    Dim MonOutlook As Object
    Dim MonMessage As Object
    Dim corps As String
    ' Dim Fichier$
     
    'Const Chemin5 = "F:\Users\Christ\Desktop\MENU_Factures\"
     
     
    Fichier = jour & "_" & Types & "_" & Numfact & ".jpg"
     
    Set MonOutlook = CreateObject("Outlook.Application")
    Set MonMessage = MonOutlook.CreateItem(0)
    MonMessage.To = Mail
    MonMessage.Subject = "Sujet"
    corps = "Bonjour messieurs," & Chr(13) & "Voici le fichier en question."
    Monfichier = Chemin3
    MonMessage.Attachments.Add Chemin3 & Client & "\" & Fichier
    MonMessage.Body = corps
     
    'j'ai une erreur si dessous
     
    MonMessage.Send
     
    MonMessage.Display
    AppActivate "Sujet" & " - Message", 0   ' Active Outlook
    Application.Wait (Now + TimeValue("0:00:30"))
    SendKeys "%v", False  ' Envoi du message
    Set MonOutlook = Nothing
    Set MonMessage = Nothing
     
    End Sub
    cordialement et merci pour ton aide

Discussions similaires

  1. [WD16] Envoi PDF mail
    Par fontag dans le forum WinDev
    Réponses: 1
    Dernier message: 15/04/2011, 15h18
  2. [SP-2010] Impression News en PDF + mail
    Par pizza6 dans le forum SharePoint
    Réponses: 4
    Dernier message: 30/11/2010, 11h41
  3. Projet web mail
    Par bingo00 dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 30/04/2007, 17h40
  4. Etats > fichier PDF > mail
    Par norvel dans le forum IHM
    Réponses: 8
    Dernier message: 18/04/2006, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo