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 :

Excel + Google maps + Outlook + HTML


Sujet :

Macros et VBA Excel

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut Excel + Google maps + Outlook + HTML
    Bonjour,

    Je tourne en rond depuis plusieurs heures.

    La macro ci-dessous fonctionne parfaitement bien, elle crée un mail dans Outlook avec un lien qui au clique ouvre l'itinéraire dans Google maps.

    Mon problème est que je ne trouve pas la syntaxe pour remplacer les 2 adresses contenue dans l'URL, par les 2 variables AdresseDepart et AdresseArrivee.

    Pour info : j'y suis arrivé avec des vaiables avec la macro : Ouvrir un itinéraire dans Google Maps en cliquant sur un bouton d'un Userform

    Mais là je suis bloqué ...

    Merci pour votre aide
    Meilleures salutations
    Philippe

    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
    Option Explicit
    Sub Google_maps()
    Dim messagerie As Object
    Dim Email As Object
    Dim Message As Variant
    Dim AdresseDepart As String
    Dim AdresseArrivee As String
            Set messagerie = CreateObject("Outlook.Application")
            Set Email = messagerie.CreateItem(0)
            AdresseDepart = "Rue des Petits Champs 13,+1400+Yverdon-les-Bains"
            AdresseArrivee = "Route de Pomy 10,+1462+Yvonand" 'USF_Intervention.ComboBox_Interv_Rue & ",+" & USF_Intervention.TextBox_Interv_NPA & "+" & USF_Intervention.ComboBox_Interv_Ville
            Message = _
            "<A href='https://www.google.fr/maps/dir/Rue des Petits Champs 13,+1400+Yverdon-les-Bains/Route de Pomy 10,+1462+Yvonand'>Cliquez ici pour la navigation.</A>"
            With Email
                .to = "toto@gmail.com"
                .CC = ""
                .Subject = "Test google maps"
                .htmlbody = Message
                .Display
            End With
            Set Email = Nothing
            Set messagerie = Nothing
    End Sub
    Ouvrir un itinéraire dans Google Maps en cliquant sur un bouton d'un Userform
    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
    Private Sub BT_GoogleMaps_Click()
    Dim strURL As String
    Dim AdresseDepart As String
    Dim AdresseArrivee As String
            AdresseDepart = "Rue des Petits Champs 13 + 1400 + Yverdon-les-Bains"
            AdresseArrivee = Me.ComboBox_Interv_Rue & "+" & Me.TextBox_Interv_NPA & "+" & Me.ComboBox_Interv_Ville
    On Error GoTo connexion_internet
                strURL = "https://www.google.fr/maps/dir/" & AdresseDepart & "/" & AdresseArrivee
        ThisWorkbook.FollowHyperlink strURL
    Exit Sub
    connexion_internet:
        MsgBox _
                vbCrLf & vbCrLf & _
                "- Vérifier la connexion internet." & vbCrLf & vbCrLf & _
                "- Erreur VBA : " & vbCrLf & "  " & Err.Description & vbCrLf & vbCrLf & _
                "", vbExclamation, "! Oups ! Action interrompue"
    End Sub

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Dans le deuxième code, si je remplace AdresseArrivee = Me.ComboBox_Interv_Rue & "+" & Me.TextBox_Interv_NPA & "+" & Me.ComboBox_Interv_Ville par AdresseArrivee = "Route de Pomy 10,+1462+Yvonand", ça fonctionne.

    Tu dois donc avoir un problème dans la reconstruction de l'adresse d'arrivée sur base de la saisie effectuée dans les combobox. Avance en pas à pas dans ce code pour vérifier comment AdresseArrivee a été valorisée.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Salut Pierre,

    Le deuxième code fonctionne très bien, je l'ai mis comme exemple, c'est le premier code qui me pose problème.

    Ce code doit ajouter un lien hypertexte dans le corps du mail, ce qu'il fait également très bien avec les adresses en dur.

    Le problème et comment faire pour remplacer les villes indiquées en dur par des variables au sein du lien hypertexte.

    Dans le code ci-dessous les variables sont juste déclarées et alimentées, mais pas utilisées, car je n'arrive pas à les insérer dans l'URL ...

    Meilleures salutations
    Encore merci pour tous les conseils des semaines précédentes
    Philippe

    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
    Option Explicit
    Sub Google_maps()
    Dim messagerie As Object
    Dim Email As Object
    Dim Message As Variant
    Dim AdresseDepart As String
    Dim AdresseArrivee As String
            Set messagerie = CreateObject("Outlook.Application")
            Set Email = messagerie.CreateItem(0)
            AdresseDepart = "Rue des Petits Champs 13,+1400+Yverdon-les-Bains"
            AdresseArrivee = "Route de Pomy 10,+1462+Yvonand"
            Message = _
            "<A href='https://www.google.fr/maps/dir/Rue des Petits Champs 13,+1400+Yverdon-les-Bains/Route de Pomy 10,+1462+Yvonand'>Cliquez ici pour la navigation.</A>"
            With Email
                .to = "toto@gmail.com"
                .CC = ""
                .Subject = "Test google maps"
                .htmlbody = Message
                .Display
            End With
            Set Email = Nothing
            Set messagerie = Nothing
    End Sub

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut Philippe,

    Le code que tu viens de donner fonctionne pile poil chez moi... Un simple copier coller puis j'ai exécuté et j'ai bien eu mon message outlook avec le lien qui fonctionne...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Oui, mais il n'y a pas pas de variable, je ne peux pas changer la destination

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Comment inclure les variables ?

    "<A href='https://www.google.fr/maps/dir/AdresseDepart/AdresseArrivee'>Cliquez ici pour la navigation.</A>"

  7. #7
    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

    il manque une accolade ">" à droite du A qui se trouve à gauche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<A> href='https://www.google.fr/maps/dir/AdresseDepart/AdresseArrivee'>Cliquez ici pour la navigation.</A>"

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Merci mais ça ne fonctionne toujours pas, car les 2 variables ne sont pas reconnues comme variables, mais comme lieu de départ et d'arrivée...

  9. #9
    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
    Il faut concaténer les variables avec le texte
    les variables AdresseDepart et AdresseArrivee n'ont pas besoin de guillemets, le reste en a besoin.
    par contre je ne connais pas la commande, à tester.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<A> href='https://www.google.fr/maps/dir/" & AdresseDepart & "/" & AdresseArrivee & "'>Cliquez ici pour la navigation.</A>"

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Y a du mieux, on progresse, reste plus qu'a activer le lien, mais comment faire ?

    Merci

    Nom : 2019-10-20_08-25-49.png
Affichages : 557
Taille : 10,2 Ko

  11. #11
    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
    Je n'avais pas vu la deuxième accolade plus loin juste avant "Cliquez"
    je viens de la supprimer, en espérant que cela fonctionne


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<A> href='https://www.google.fr/maps/dir/" & AdresseDepart & "/" & AdresseArrivee & "'Cliquez ici pour la navigation.</A>"

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Toujours pas de lien activé

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par TonyNiort79 Voir le message
    [...]
    il manque une accolade ">" à droite du A qui se trouve à gauche[...]
    Citation Envoyé par TonyNiort79 Voir le message
    [...]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<A> href='https://www.google.fr/maps/dir/" & AdresseDepart & "/" & AdresseArrivee & "'Cliquez ici pour la navigation.</A>"


    La balise ouvrante <A est fermée trop tôt... Le > doit arriver après le lien, et pas juste après le <A. De plus, normalement, ce sont des guillemets pour introduire le lien et pas des apostrophes (même si l'apostrophe fonctionne). La bonne syntaxe de la balise <A> est normalement <a href="Lien correctement formé">Texte visible</a>


    Je n'ai testé en valorisant les variables mais ça devrait aller avec ce qui suit, si les adresses sont correctes. Il faut veiller à bien dédoubler les guillemets " après href= et après AdresseArrivee & (il y a donc bien trois fois les guillemets à cet endroit-là)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Message = "<A href=""https://www.google.fr/maps/dir/" & AdresseDepart & "/" & AdresseArrivee & """>Cliquez ici pour la navigation.</A>"

    [EDIT]
    Je viens de tester avec le code suivant et ça fonctionne
    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
    Sub Google_maps()
    Dim messagerie As Object
    Dim Email As Object
    Dim Message As Variant
    Dim AdresseDepart As String
    Dim adressearrivee As String
            Set messagerie = CreateObject("Outlook.Application")
            Set Email = messagerie.CreateItem(0)
            AdresseDepart = "Rue des Petits Champs 13,+1400+Yverdon-les-Bains"
            adressearrivee = "Route de Pomy 10,+1462+Yvonand"
            Message = "<A href=""https://www.google.fr/maps/dir/" & AdresseDepart & "/" & adressearrivee & """>Cliquez ici pour la navigation.</A>"
            With Email
                .to = "toto@gmail.com"
                .CC = ""
                .Subject = "Test google maps"
                .htmlbody = Message
                .Display
            End With
            Set Email = Nothing
            Set messagerie = Nothing
    End Sub
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Salut Pierre,

    Excellent, magique, ça fonctionne, la grande classe.

    Le code corrigé avec dans la variable : AdresseDepart = "Ma position"

    Encore mille merci
    Excellent dimanche
    Philippe


    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 Google_maps()
    Dim messagerie As Object
    Dim Email As Object
    Dim Message As Variant
    Dim AdresseDepart As String
    Dim AdresseArrivee As String
            Set messagerie = CreateObject("Outlook.Application")
            Set Email = messagerie.CreateItem(0)
            AdresseDepart = "Ma position"
            AdresseArrivee = "Route de Pomy 10,+1462+Yvonand" 'USF_Intervention.ComboBox_Interv_Rue & ",+" & USF_Intervention.TextBox_Interv_NPA & "+" & USF_Intervention.ComboBox_Interv_Ville
            Message = _
    "<A href=""https://www.google.fr/maps/dir/" & AdresseDepart & "/" & AdresseArrivee & """>Cliquez ici pour la navigation.</A>"
    With Email
                .to = "toto@gmail.com"
                .CC = ""
                .Subject = "Test google maps"
                .htmlbody = Message
                .Display
            End With
            Set Email = Nothing
            Set messagerie = Nothing
    End Sub

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Je travaille avec des adresses sur serveur Office365 et les applications Outlook sur PC et Outlook mobile sur IOS et Android, tout se passe bien, copie d'écran noir.

    Par contre sur Android avec l'application Gmail, le lien fonctionne, mais le visuel n'est pas top, même problème sur le PC dans le navigateur Chrome et avec l'adresse Gmail dans Outlook, étrange ...

    Autre constatation le texte n'est pas en gras et en bleu (Bleu sur fond blanc ou rose sur le fond noir), pourtant les balises semblent correctes, le problème vient de Gmail, ...



    Nom : Screenshot_20191020-181753_Outlook.jpg
Affichages : 581
Taille : 21,7 Ko Nom : Screenshot_20191020-181716_Gmail.jpg
Affichages : 550
Taille : 30,6 Ko


    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
    Message = _
            "Bonjour," & "<br>" & "<br>" & _
            "En pièce jointe la fiche de travail à compléter." & "<br>" & _
            "Ci-dessous les données du client :" & "<br>" & "<br>" & _
            "<B><FONT color=""blue"" >" & _
            "<A href=""https://www.google.fr/maps/dir/" & AdresseDepart & "/" & AdresseArrivee & """>Cliquer pour la navigation.</A>" & "<br>" & "<br>" & _
            USF_Intervention.ComboBox_Interv_Fonction & "<br>" & _
            USF_Intervention.ComboBox_Interv_Nom & " " & USF_Intervention.ComboBox_Interv_Prenom & "<br>" & _
            USF_Intervention.ComboBox_Interv_Rue & " " & USF_Intervention.TextBox_Interv_NPA & " " & USF_Intervention.ComboBox_Interv_Ville & "<br>" & "<br>" & _
            USF_Intervention.TextBox_Interv_Mobile & "<br>" & "<br>" & _
            USF_Intervention.TextBox_Interv_Bureau & "<br>" & "<br>" & _
            USF_Intervention.TextBox_Interv_Mail & "<br>" & "<br>" & _
            USF_Intervention.ComboBox_Interv_Raison_sociale & "<br>" & _
            USF_Intervention.ComboBox_Interv_Etage_Num & "<br>" & _
            USF_Intervention.ComboBox_Interv_Appart_num & "<br>" & "<br>" & _
            "</B><FONT color=""black"" > " & _
            "Meilleures salutations et belle journée."

  16. #16
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Ta syntaxe html est à revoir

    Peut-être Outlook est-il plus permissif que d'autres lecteurs de messagerie, mais si tu veux augmenter tes chances que ton message passe bien quel que soit l'outil qui le lit, il faut former ton html en respectant les règles.

    Lorsque tu ouvres une balise, tu dois la refermer, en tout cas pour les balises qui ne sont pas auto-fermantes: <font color="blue">...</font>. Dans ton exemple, ta première balise <font color="blue"> n'est pas refermée, la balise <font color="black"> non plus.

    Les balises html sont toujours englobantes, ce qui signifie qu'elles ne peuvent pas se chevaucher. Tu as <b><font color="blue">...</b><font color="black">...
    Tu devrais avoir <b><font color="blue">...</font></b><font color="black">...</font>

    Perso, lorsque je dois recomposer un texte de ce genre, qui mêle parties fixes et parties variables, je crée mon texte en une fois en y incluant des balises {...} que je remplacerai par le vrai texte en une fois grâce à une fonction perso (Voir mon billet de ce matin à ce sujet). Regarde le code suivant. La variable Lien contient les balises {depart}, {arrivee}, ... Ca me permet de créer mon message sans me compliquer la syntaxe avec la concaténation et les problèmes qu'elle peut amener. Je remplace les balises {} en une fois par la suite. Perso, je trouve que c'est plus simple de pratiquer ainsi.

    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
    Sub Google_maps()
      Dim messagerie As Object
      Dim Email As Object
      Dim Message As String
      Dim Lien As String
      Dim NomComplet As String
      Dim Mobile As String
      Dim AdresseDepart As String
      Dim adressearrivee As String
     
      Set messagerie = CreateObject("Outlook.Application")
      Set Email = messagerie.CreateItem(0)
     
      AdresseDepart = "Rue des Petits Champs 13,+1400+Yverdon-les-Bains"
      adressearrivee = "Route de Pomy 10,+1462+Yvonand"
      NomComplet = USF_Intervention.ComboBox_Interv_Nom & " " & USF_Intervention.ComboBox_Interv_Prenom
      Mobile = "USF_Intervention.TextBox_Interv_Mobile"
      Lien = "<A href=""https://www.google.fr/maps/dir/{depart}/{arrivee}"">Cliquez ici pour la navigation.</A>"
      Lien = ReplaceStrings(Lien, Array("{depart}", AdresseDepart, "{arrivee}", adressearrivee))
      Message = "Bonjour<br><br>En pièce jointe...<br><br>{lien}<br><br><b><font color=""blue"">{nom}</font></b><br><br><font color=""green"">{gsm}</font>"
      Message = ReplaceStrings(Message, Array("{lien}", Lien, "{nom}", NomComplet, "{gsm}", Mobile))
      With Email
        .To = "toto@gmail.com"
        .CC = ""
        .Subject = "Test google maps"
        .htmlbody = Message
        .Display
      End With
      Set Email = Nothing
      Set messagerie = Nothing
    End Sub
     
     
    Public Function ReplaceStrings(Source As String, Parameters) As String
      Dim I As Long
     
      ReplaceStrings = Source
      For I = LBound(Parameters) To UBound(Parameters) Step 2
        ReplaceStrings = Replace(ReplaceStrings, Parameters(I), Parameters(I + 1), 1, -1, vbTextCompare)
      Next I
    End Function

    Perso, avec Excel, le texte générique du message serait placé dans une cellule Excel et je le récupérerais lorsque j'en ai besoin. Ca rendrait ton code plus lisible et plus facilement maintenable. Recomposer le message dans le corps du code est pour moi une mauvaise pratique
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Salut Pierre,

    Encore merci, effectivement j'ai oublié de refermer les balises des couleurs.

    Je viens de tester ton code, mais le problème persiste sur Gmail (même résultat que l'image du messsage #15) pas de gras, pas de couleur, et l'adresse du lien est visible, mais elle fonctionne au clique.

    Ce n'est pas un problème dans mon projet, car je travaille avec Outlook et tout est impeccable avec Outlook.

    Encore merci pour ces nouveaux précieux conseils.
    Meilleures salutations et bonne semaine.
    Philippe

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

Discussions similaires

  1. Google Maps et balise HTML
    Par The Dindon dans le forum Mise en page CSS
    Réponses: 18
    Dernier message: 04/08/2014, 19h33
  2. html creer lien vers carte google map
    Par donvex dans le forum APIs Google
    Réponses: 1
    Dernier message: 06/10/2012, 06h45
  3. [WD12] champs HTML et api google maps
    Par baron_rouge dans le forum WinDev
    Réponses: 8
    Dernier message: 13/04/2011, 13h04
  4. Lien HTML vers zoom Google Maps
    Par l'coy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 24/02/2011, 12h25
  5. Intégrer plusieurs google map sur une page html
    Par Piapia78 dans le forum APIs Google
    Réponses: 7
    Dernier message: 14/07/2010, 10h30

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