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

VBA Outlook Discussion :

Images de la signature qui ne suivent pas


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Homme Profil pro
    Bureau d'études Electricité
    Inscrit en
    Octobre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Bureau d'études Electricité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2016
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Images de la signature qui ne suivent pas
    Bonjour,

    Dans la macro ci-dessous, le texte de ma signature est bien inséré mais les images ne s'affichent pas.
    Après quelques recherches sur le net, j'ai transformé .body en .HTMLbody et essayé de mettre les images au même endroit que le fichier htm de ma signature mais cela ne fonctionne pas mieux.
    Une idée ?

    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
    86
    87
    88
    89
    90
    91
     
    Sub mail()
    ' Enregistrement en PDF et envoi par mail
     
    Dim Sourcewb As Workbook
    Dim destwb As Workbook
     
    Dim TempFilePath As String
    Dim TempFileName As String
     
    Dim OutApp As Object
    Dim OutMail As Object
     
    Dim SigString As String
    Dim Signature As String
     
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
     
    Set Sourcewb = ActiveWorkbook
     
    'Copie la feuille active comme nouvelle feuille
     
    ActiveSheet.Copy
    Set destwb = ActiveWorkbook
     
    'Désactiver fenêtre de compatibilité
    Application.DisplayAlerts = False
     
    '----------------------------------------------------------------------------
    'Sauvegarde la nouvelle feuille/L'envoie par mail/La supprime ... ou pas
    '----------------------------------------------------------------------------
     
    TempFilePath = "C:\Pointages\"
    TempFileName = Range("AG2").Value
     
    Set OutApp = CreateObject("outlook.application")
    Set OutMail = OutApp.CreateItem(0)
     
    With destwb
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=TempFilePath & "NOM SEMAINE" & TempFileName & ".pdf", Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False        ' sauvegarde du fichier au format pdf
     
    ' Ajout pour signature 23-12-2020
    SigString = Environ("appdata") & "\Microsoft\Signatures\TOTO.htm"
        If Dir(SigString) <> "" Then
            Signature = GetBoiler(SigString)
        Else
            Signature = ""
        End If
    ' Fin Ajout pour signature
     
    On Error Resume Next
        With OutMail
            .To = "destinataire1@entreprise.com"
            .CC = ""
            .bcc = "destinataire2@entreprise.com"
            .Subject = "Pointage"
            .Attachments.Add TempFilePath & "NOM SEMAINE" & TempFileName & ".pdf"
            .HTMLBody = "texte du mail<BR><BR>" & Signature
            .display 'ou alors utiliser
            '.Send 'pour envoi
        End With
        On Error GoTo 0
        .Close savechanges:=False
    End With
     
    'Effacer le fichier envoyé
    'Kill TempFilePath & TempFileName & ".pdf"
     
    Set OutMail = Nothing
    Set OutApp = Nothing
     
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
     
    End Sub
     
    Function GetBoiler(ByVal sFile As String) As String
    'Dick Kusleika
        Dim fso As Object
        Dim ts As Object
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
        GetBoiler = ts.readall
        ts.Close
    End Function
    Merci.

    EDIT : J'ai essayé ce code mais je n'ai pas du tout de signature : http://learnexcelmacro.com/wp/2016/1...l-sent-by-vba/

  2. #2
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    Bonsoir,

    Si en faisant juste un .Display, sans ajout du htmlBody, votre signature est visible.
    Je ferais un .Diplay du mail, récupérer la signature dans une variable text, puis remplacerait par le nouveau htmlBody + la signature récupérée avant.

    En gros , non tester ( je suis sur mon Smartphone)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
       With OutMail
     
            .Display
            Signature = .HTMLbody
            .To = "destinataire1@entreprise.com"
            .CC = ""
            .bcc = "destinataire2@entreprise.com"
            .Subject = "Pointage"
            .Attachments.Add TempFilePath & "NOM SEMAINE" & TempFileName & ".pdf"
            .HTMLBody = "texte du mail<BR><BR>" & Signature
            '.Send 'pour envoi
        End With
    Michaël

    Si mon aide/avis vous a été profitable , n'hésitez pas à cliquer sur , ça fait toujours plaisir...
    _________________________________________________________________________________________________________________

    "Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu'il est stupide..."
    Albert Einstein

  3. #3
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2019
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Septembre 2019
    Messages : 151
    Points : 185
    Points
    185
    Par défaut
    Bonjour à tous,
    normalement la signature n'est que du texte,
    pourquoi ne pas ajouter l'image en lui indiquant son chemin ?
    par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ' code pour langage HTML
     '<p>   <p> sauter une ligne
     '<br>  <br>va à la ligne
     '<B>   </B> met en gras
     
    Dim image As String
    ' chemin à adapter 
    image = ThisWorkbook.Path & Application.PathSeparator & ".JPG"
     
        .HTMLBody = "texte du mail<BR><BR>" & "<img src='" & image & "'></img></html>" & "<p>" & Signature

  4. #4
    Membre à l'essai
    Homme Profil pro
    Bureau d'études Electricité
    Inscrit en
    Octobre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Bureau d'études Electricité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2016
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Bonjour et Merci à vous deux d'avoir pris le temps de me répondre,

    J'ai utilisé la méthode de mfoxy et ça marche bien donc ça résout mon problème.
    Je dois maintenant trouver une manière d'harmoniser la police de caractère car la 1ère ligne est en Times new roman 12, le reste en calibri 10 et la signature en Arial 10 !! J'ouvrirais un ticket si besoin.

    Je vais essayer la méthode de TonyNiort79 pour insérer une image (au moment où j'écrit, je ne vois pas bien où indiquer le chemin de l'image).

    Merci encore à vous deux, et bonnes fêtes de fin d'année à tous les lecteurs.

  5. #5
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    Re,

    Citation Envoyé par TruffExcel Voir le message
    Je dois maintenant trouver une manière d'harmoniser la police de caractère car la 1ère ligne est en Times new roman 12, le reste en calibri 10 et la signature en Arial 10 !!
    Tu peu utiliser des balises html pour insérer ton texte dans la police que tu veux.
    Le plus simple serait de trouver sur le net, c'est gratuit, un convertisseur text vers html prenant en charge les polices, ainsi tu aura ton text avec les polices/format que tu souhaites.

    Bonne fêtes également,
    Michaël

    Si mon aide/avis vous a été profitable , n'hésitez pas à cliquer sur , ça fait toujours plaisir...
    _________________________________________________________________________________________________________________

    "Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu'il est stupide..."
    Albert Einstein

  6. #6
    Membre à l'essai
    Homme Profil pro
    Bureau d'études Electricité
    Inscrit en
    Octobre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Bureau d'études Electricité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2016
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Merci pour cette astuce.
    J'ai pu faire ce que je voulais --> https://www.developpez.net/forums/d2...ro-envoi-mail/

    Cdt.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Bureau d'études Electricité
    Inscrit en
    Octobre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Bureau d'études Electricité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2016
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Question subsidiaire :

    Dans la macro décrite précédemment, mon fichier est enregistré en PDF avec le numéro de la semaine en indice avant d'être transmis par mail.

    Cet indice est généré automatiquement avec la ligne : TempFileName = Range("AG2").Value

    Cette cellule AG2 contient un nombre de 1 à 53 qui varie en fonction de la semaine.
    Sur ma feuille Excel, le numéro de la semaine est affiché est sur 2 digits à l'aide du format personnalisé : 00 soit 01 pour la semaine 1

    Par contre, la macro ne l'entend pas de cette façon et lors de l'enregistrement de mon fichier, je me retrouve avec l'indice 1 au lieu de 01 (en gros mon fichier est Semaine1.pdf au lieu de semaine01.pdf)

    Est-ce que je peux contourner cela ? (en dehors d'ajouter dans ma macro un 0 qu'il faudra que je retire arrivé en semaine 10).

  8. #8
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    salut
    Pour la signature tu peux lire ceci : https://www.developpez.net/forums/bl...-outlook-2016/

    pour le format perso

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TempFileName = Range("AG2").Text
    tu peux utiliser les espions et variables locales en mode pas à pas pour voir les valeurs des propriétés

    https://www.developpez.net/forums/bl.../debogage-vba/

  9. #9
    Membre à l'essai
    Homme Profil pro
    Bureau d'études Electricité
    Inscrit en
    Octobre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Bureau d'études Electricité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2016
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Bonjour et merci Oliv-,

    Cela fonctionne bien (tu t'en doutais certainement mais je voulais étoffer ma réponse !!).

    J'irais voir ton lien sur le débogage car je ne connais que le pas à pas et les points d'arrêts mais pas les espions.
    Il pointe aussi vers d'autres sites qui me paraissent intéressants.

    Merci.

  10. #10
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2019
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Septembre 2019
    Messages : 151
    Points : 185
    Points
    185
    Par défaut
    Citation Envoyé par TruffExcel Voir le message
    Bonjour et Merci à vous deux d'avoir pris le temps de me répondre,
    Je vais essayer la méthode de TonyNiort79 pour insérer une image (au moment où j'écrit, je ne vois pas bien où indiquer le chemin de l'image).
    bonjour à tous,
    pour répondre à la question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' chemin à adapter 
    image = ThisWorkbook.Path & Application.PathSeparator & ".JPG"
    ThisWorkbook.Path indique le même répertoire du classeur

    Application.PathSeparator indique "\" la barre oblique

    il manque ci-dessus le nom du fichier image qui doit se trouver entre la barre oblique et ".JPG"
    si l'image qui se nomme par exemple 'Logo' et se trouve dans le même répértoire que le classeur alors il suffit d'écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = ThisWorkbook.Path & Application.PathSeparator & "Logo.JPG"
    par contre si l'image se trouve ailleurs il faudra l'indiquer comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = "C:\Travail\Logo.JPG"

  11. #11
    Membre à l'essai
    Homme Profil pro
    Bureau d'études Electricité
    Inscrit en
    Octobre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Bureau d'études Electricité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2016
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Merci Tony, cette fois c''est très clair .

    Cdt.

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

Discussions similaires

  1. [XL-2007] Formules qui ne suivent pas le filtre auto
    Par gui-llaume dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 10/04/2021, 12h20
  2. Signature qui ne fonctionne pas dans une modal sur Mobile
    Par rwlfr dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/07/2019, 19h23
  3. Extraction de lignes en double qui ne suivent pas
    Par Effaron dans le forum Shell et commandes POSIX
    Réponses: 2
    Dernier message: 30/05/2017, 10h00
  4. problême de dimensions qui ne suivent pas
    Par Plomeg dans le forum OpenGL
    Réponses: 7
    Dernier message: 24/02/2008, 19h22
  5. Utlisation d'image pour les <li> qui ne marche pas
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/11/2005, 17h37

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