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 :

VBA Excel - Format+tableau mail HTML [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Comptable
    Inscrit en
    Janvier 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Janvier 2019
    Messages : 8
    Par défaut VBA Excel - Format+tableau mail HTML
    Bonjour à tous,

    Je vous expose mon problème. J'ai créé un fichier récapitulatif qui reprend des données chiffrées ( à compléter par l'utilisateur). Au bas de ce fichier, il y a un bouton relié à une macro qui permet d'écrire un e-mail directement avec les données qui ont été remplies. Le fichier se présente comme ceci:
    Nom : Capture.PNG
Affichages : 3417
Taille : 36,5 Ko

    J'arrive à reprendre les données des cellules dans l'e-mail mais je ne sais pas en changer le format. Si je veux reprendre le montant 6.750,00 €, il se reprend comme ceci dans l'e-mail : "6750". Est-il possible de modifier le format nombre ?

    Aussi, je souhaiterais inclure le tableau repris en "A25 : D32" tel quel dans l'e-mail, est-ce que cela est possible?

    Voici le code (que j'ai trouvé sur internet et que j'ai adapté en fonction de mes besoins) :
    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
    'Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro,
    ' Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
    Sub Envoyer_Mail_Outlook()
    Dim ObjOutlook As New Outlook.Application
    Dim oBjMail
    Dim Nom_Fichier As String
     
        Set ObjOutlook = New Outlook.Application
        Set oBjMail = ObjOutlook.CreateItem(olMailItem)
    '---------------------------------------------------------
       'Exemple pour envoyer un classeur en pièce jointe
       'Nom_Fichier = Application.GetOpenFilename("Fichier excel (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")
       'If Nom_Fichier = "Faux" Then Exit Sub
    '---------------------------------------------------------
       'Ou bien entrer le path et nom du fichier autrement
       'Nom_Fichier = FindLastFile("Y:\Pré-op\SOPP et RELAIS\RELAIS\Situation Relais V2\sortie\carte")
       'MsgBox Nom_Fichier 'vérifier si le fichier est bien trouvé
        'If Nom_Fichier = "" Then Exit Sub
    '---------------------------------------------------------
         With oBjMail
           .Display
           '.To = " ***********@gmail.com" ' le destinataire
           .Subject = Range("A1") & " - Déclaration TVA " & Range("E1") & "TR" & Range("E2")
           .HTMLBody = "<html><body>" & "Madame, Monsieur" & "<br>" & "" & "</ br>" & "<br>" & "Nous avons envoyé ce jour votre déclaration TVA du " & Range("E1") & "TR" & Range("E2") & "." & "</ br>" & "<br>" & "" & "</ br>" & "<br>" & "Le montant de " & Range("A23") & " s'élève à " & Range("E23") & "</ br>" & "</body></html>" & .HTMLBody
           '.Attachments.Add Nom_Fichier '"C:\Data\essai.txt" ' ou Nomfichier
           '.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
           '.Display  '   Ici on peut supprimer pour l'envoyer sans vérification
           '.Send
        End With
     
        'ObjOutlook.Quit
        Set oBjMail = Nothing
        Set ObjOutlook = Nothing
    End Sub
    D'avance, je vous remercie pour votre aide.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour

    Essaies ceci

  3. #3
    Membre habitué
    Homme Profil pro
    Comptable
    Inscrit en
    Janvier 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Janvier 2019
    Messages : 8
    Par défaut
    Parfait, cela fonctionne bien. Merci.

    Pour l'insertion du tableau, avez-vous une idée ?

  4. #4
    Membre habitué
    Homme Profil pro
    Comptable
    Inscrit en
    Janvier 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Janvier 2019
    Messages : 8
    Par défaut
    J'ai finalement réussi, pour intégrer le tableau, il faut "simplement" le coder en HTML (voir : http://www.guide-code-html.com/les-tables-html.php)

    Pour ceux que ça peut aider, voici un exemple :
    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
    With oBjMail
           .Display
           '.To = " ***********@gmail.com" ' le destinataire
           .Subject = Range("A1") & " - Déclaration TVA " & Range("E1") & "TR" & Range("E2")
           .HTMLBody = "<html><body>" & "Madame, Monsieur," & _
            "<br>" & "" & "</ br>" & _
            "<br>" & "Nous avons envoyé ce jour votre déclaration TVA relative au " & Range("E1") & "er" & " trimestre " & Range("E2") & "." & "</ br>" & _
            "<br>" & "" & "</ br>" & _
            "<br>" & "Le montant de TVA à payer pour le trimestre s'élève à " & Range("E23").Text & ". " & "</ br>" & _
            "<br>" & "" & "</ br>" & _
            "<table border = 1>" & "<tr>" & "<td colspan = 2>" & Range("A25") & "</td>" & " </tr>" & _
            "<tr>" & "<td>" & Range("A26") & "</td>" & "<td>" & Range("D26").Text & "</td>" & " </tr>" & _
            "<tr>" & "<td>" & Range("A27") & "</td>" & "<td>" & Range("D27").Text & "</td>" & " </tr>" & _
            "<tr>" & "<td>" & Range("A28") & "</td>" & "<td>" & Range("D28").Text & "</td>" & " </tr>" & _
            "<tr>" & "<td>" & Range("A29") & "</td>" & "<td>" & Range("D29") & "</td>" & " </tr>" & _
            "<tr>" & "<td>" & Range("A30") & "</td>" & "<td>" & Range("D30") & "</td>" & " </tr>" & _
            "<tr>" & "<td>" & Range("A31") & "</td>" & "<td>" & Range("D31") & "</td>" & " </tr>" & "</table>" & _
            "<br>" & "Bien que les acomptes soient facultatifs, nous vous conseillons tout de même de verser ceux-ci ou au moins d'en épargner le montant." & "</ br>" & _
            "<br>" & "" & "</ br>" & _
            "<br>" & "Cordialement," & "</ br>" & _
            "</body></html>" & .HTMLBody
     
          '.Attachments.Add Nom_Fichier '"C:\Data\essai.txt" ' ou Nomfichier
           '.GetInspector.CommandBars.Item("Insert").Controls("Signature").Controls(1).Execute
           '.Display  '   Ici on peut supprimer pour l'envoyer sans vérification
           '.Send
        End With
    Cela donne ceci :
    Nom : 2.PNG
Affichages : 2334
Taille : 19,7 Ko

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Est ce qu'en Belgique on dit 2er trimestre

  6. #6
    Membre habitué
    Homme Profil pro
    Comptable
    Inscrit en
    Janvier 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Janvier 2019
    Messages : 8
    Par défaut
    Non pas vraiment

    Je mettrai une condition pour modifier cette partie là

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb de chemin en VBA excel sur tableau croisé dynamique
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/02/2007, 14h23
  2. [VBA-EXCEL] format de date lors d'écriture dans une cellule
    Par ustilago dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2007, 17h44
  3. [VBA-Excel]Probleme de mail à répétition
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/11/2006, 14h26
  4. [VBA Excel] Un tableau dynamique dans un type utilisateur?
    Par cyber_N dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/07/2006, 19h51
  5. [VBA Excel] Format modifié a cause de hpagebreak
    Par caprica dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/06/2006, 11h27

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