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 HTMLBody dans le corps du rendez-vous Outlook


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 758
    Points : 201
    Points
    201
    Par défaut vba HTMLBody dans le corps du rendez-vous Outlook
    Bonjour,

    Est-ce possible ?

    Meilleures salutations

  2. #2
    Membre actif Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 758
    Points : 201
    Points
    201
    Par défaut
    Apparemment, c'est impossible

    Pour éviter le retour à la ligne double lors de l'appui sur la touche ENTER après l'affichage du rendez-vous, il faut forcer la mise en forme en texte brut
    Ajouter cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .BodyFormat = olFormatPlain 'Forcer le format en texte brut pour éviter le double retour à la ligne
    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
     With Email
                        .Subject = Objet_mail
                        .BodyFormat = olFormatPlain 'Forcer le format en texte brut pour éviter le double retour à la ligne
                        .Body = Message
                        .RequiredAttendees = "" ' participants obligatoires à la réunion
                        .OptionalAttendees = "" 'participants optionnels à la réunion
                        .Categories = ""
                        .ReminderSet = False 'Activer le rappel
                        .ReminderMinutesBeforeStart = 60 'H. Fin du rappel en minutes
                        .Start = dateValue(Date_Intervention) & " " & Heure_Debut
                        .End = dateValue(Date_Intervention) & " " & Heure_Fin
                        .Location = f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Adresse]").Column)
                        .Display 'Afficher le rendez-vous pour modification
                End With

  3. #3
    Membre actif Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 758
    Points : 201
    Points
    201
    Par défaut
    Bonjour,

    Avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .BodyFormat = olFormatPlain
    Les retours à la ligne "vbLf" sont présents dans le rendez-vous, mais disparaissent lors de l'impression
    Le texte n'a plus de retour à la ligne, les retours à la ligne sont ignorés lors de l'impression et le texte est sur une ligne

    J'ai dû remplacer le code par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .BodyFormat = olFormatRichText
    Si je remplace le code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .BodyFormat = olFormatHTML
    Les doubles retours ligne réapparaissent

    À devenir neuneu...

  4. #4
    Membre actif
    Homme Profil pro
    CIP
    Inscrit en
    Avril 2024
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : CIP
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2024
    Messages : 132
    Points : 236
    Points
    236
    Par défaut re
    Bonjour
    vblf : est parfois mal reconnu et disparait selon les app
    vbcrlf : est parfois mal reconnu et su MAC il sont double
    vbnewline : universel
    <br> ; c'est un saut de ligne en html il doivent être inscrit dans le innerhtml

  5. #5
    Membre émérite Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 500
    Points : 2 296
    Points
    2 296
    Par défaut
    Bonjour,
    voilà une fonction pour remplacer les caractères spéciaux!

    Ça va te permettre de convertir tout ton texte au format HTML car il n'y a pas que les retours chariot qui pose problème. Les caractères accentués également.
    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
     
    Sub test()
    Debug.Print TxtHtml("ÁáCcÉéÍíÓóÚúÝýÀàÈèÌì " & vbCrLf & "ÒòÙùÂâÊêÎîÔ      ôÛûÄäËëÏïÖöÜüŸÿÃãÕõÇç")
    End Sub
     
    Function TxtHtml(T As String) As String
    Dim Txt
    Dim Htm
    Dim I As Long
    TxtHtml = T
    Txt = "Á$á$É$é$Í$í$Ó$ó$Ú$ú$Ý$ý$À$à$È$è$Ì$ì$Ò$ò$Ù$ù$Â$â$Ê$ê$Î$î$Ô$ô$Û$û$Ä$ä$Ë$ë$Ï$ï$Ö$ö$Ü$ü$Ÿ$ÿ$Ã$ã$Õ$õ$Ç$ç$ $" & vbCrLf
    Htm = "&Aacute;$&aacute;$&Eacute;$&eacute;$&Iacute;$&iacute;$&Oacute;$&oacute;$&Uacute;$&uacute;$&Yacute;$&yacute;$&Agrave;$&agrave;$&Egrave;$&egrave;$&Igrave;$&igrave;"
    Htm = Htm & "$&Ograve;$&ograve;$&Ugrave;$&ugrave;$&Acirc;$&acirc;$&Ecirc;$&ecirc;$&Icirc;$&icirc;$&Ocirc;$&ocirc;$&Ucirc;$&ucirc;$&Auml;$&auml;$&Euml;$&euml;"
    Htm = Htm & "$&Ouml;$&ouml;$&Uuml;$&uuml;$&Yuml;$&yuml;$&Atilde;$&atilde;$&Itilde;$&itilde;$&Otilde;$&otilde;$&Ccedil;$&ccedil;$&nbsp;$<br>"
    Txt = Split(Txt, "$")
    Htm = Split(Htm, "$")
    For I = 0 To UBound(Txt)
    TxtHtml = Replace(TxtHtml, Txt(I), Htm(I), 1, compare:=vbBinaryCompare)
    Next
    End Function

  6. #6
    Membre actif Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 758
    Points : 201
    Points
    201
    Par défaut
    vbnewline ne résout pas le problème, par contre, il est plus facile à mémoriser 😊 merci

    vbnewline + .BodyFormat = olFormatPlain : retour ligne manquant lors de l'impression - Pièces jointes impossible 😒

    vbnewline + .BodyFormat = olFormatRichText : retour ligne OK lors de l'impression, appui sur touche ENTER = OK - Pièces jointes dans le texte, la personne voit qu'il y a des pièces jointes sur le bon d'intervention papier, les icônes des pièces jointes sont imprimées, c'est déconcertant, mais finalement, c'est un plus ... 🤩🤩🤩

    vbnewline + .BodyFormat = olFormatHTML : retour ligne OK lors de l'impression, mais appui sur touche ENTER = double retour ligne 😒







    La fonction proposée par Thumb down ne fonctionne pas avec mon code

    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
                Message = _
                "ID" & f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[ID]").Column) & " - " & _
                "Fiche d'intervention pour : " & f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Poseur]").Column) & vbNewLine & _
                "Planifié le " & Date & " par " & Application.UserName & " - Chef de projet : " & f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Technicien]").Column) & vbNewLine & _
                "Colisage : " & f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Colisage]").Column) & " - " & _
                "Fournisseur : " & f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Fournisseur]").Column) & vbNewLine & _
                Grutage & Aide_Message & _
                Date_RDVC & Specificite & _
                vbNewLine & _
                f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Cmde]").Column) & "." & _
                f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Ext]").Column) & " - " & _
                f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Affaire]").Column) & vbNewLine & _
                "_____________________________________________________________________________________" & vbNewLine & _
                "Descriptif des travaux : " & vbNewLine & _
                f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Travaux]").Column) & vbNewLine & vbNewLine & vbNewLine & vbNewLine & _
                "Remarques : ___________________________________________________________________________" & vbNewLine & vbNewLine & vbNewLine & vbNewLine & _
                "Effectués le ____________ Durée _______ par ______________. Signature ________________________ " & vbNewLine & vbNewLine & vbNewLine & vbNewLine & _
                "Réceptionnés le _______________ par ______________________. Signature ______________________" & vbNewLine & vbNewLine & _
                "Coordonnées du client :" & vbNewLine & _
                f.Cells(ActiveCell.Row, Range("TS_Suivi" & "[Téléphone]").Column) & _
                "                              ! Cette feuille d'intervention doit être retournée à Philippe Gonin !" & vbNewLine & vbNewLine
                With Email
                    .Subject = Objet_mail
                    .BodyFormat = olFormatRichText 'Forcer le format en texte enrichi pour éviter les doubles retour à la ligne
                    .Body = TxtHtml(Message)

  7. #7
    Membre émérite Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 500
    Points : 2 296
    Points
    2 296
    Par défaut
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Email
                    .Subject = Objet_mail
                    .BodyFormat = olFormatRichText 'Forcer le format en texte enrichi pour éviter les doubles retour à la ligne
                    .HtmlBody = TxtHtml(Message)

Discussions similaires

  1. Import de rendez-vous Outlook dans Access
    Par pascal@falcy.ch dans le forum VBA Access
    Réponses: 17
    Dernier message: 30/01/2015, 11h21
  2. lier rendez vous outlook dans formulaire access
    Par TAUPE007 dans le forum Access
    Réponses: 0
    Dernier message: 11/05/2008, 14h56
  3. [VBA-O]lire les rendez vous outlook
    Par LostIN dans le forum VBA Outlook
    Réponses: 5
    Dernier message: 27/03/2007, 16h53
  4. Réponses: 1
    Dernier message: 12/09/2006, 16h29
  5. [VBA-Access]Pop-up avertissant un rendez-vous imminent
    Par DomBourti dans le forum Access
    Réponses: 5
    Dernier message: 11/05/2006, 23h01

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