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 :

Rattachement valeur cellule dans un mailto (Hyperlink)


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut Rattachement valeur cellule dans un mailto (Hyperlink)
    Bonjour à tous,

    J'ai un soucis dans mon code pour rattacher la valeur d'une cellule dans mon mailto(extrait code ci-dessous)

    J'ai bien essayé de plusieurs manière mais les données de la cellule ne se rattache pas même si ma fenêtre Outlook s'ouvre correctement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    destinataire = [FORMULAIRE SAISIE'!B1]
    Message = [FORMULAIRE SAISIE'!B7]
     
    ActiveCell.Hyperlinks.Add ActiveCell, "mailto:destinataire " & Email & "?subject=" & "?Body=test" & PropAdd, "", "", "Envoyer message"
     Msg = "Envoyer le message?"
     Ans = MsgBox(Msg, vbYesNo)
     If Ans = vbNo Then Exit Sub
     If Ans = vbYes Then ActiveCell.Hyperlinks(1).Follow
    Pour info mes données à récupérer se trouve dans la feuille FORMULAIRE SAISIE (qui se rempli avec un formulaire) et les données sont
    Email: B1
    Objet: B4
    Corps du mail B6 + B7 + B8

    Quelqu'un voit-il où est mon erreur?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Je trouve, pour ma part, ce processus trop restrictif, car manquant de souplesse.

    Pourquoi ne pas gérer Outlook depuis Excel et adresser un mail contenant un corps de texte, un objet, un destinataire d'adresse, un destinataire en copie, etc....?

    Voir ce post.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  3. #3
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Justement l'idée est que ce soit restrictif pour l'utilisation nécessaire.

    En fait mon formulaire sera rattaché à un fichier déjà existant de suivi d'appels téléphonique

    J'ai besoin de standardisé la structure d'envoi des mails et l'objet avec les champs indiqués (pour éviter la "fête du slip" et avoir une même structure pour l'équipe).

    Mon problème actuellement est que je ne sais pas comment rattaché la valeur de la cellule B1 au champ email destinataire par exemple dans mon code

    Le formulaire se présente comme suit:

    Nom : formulaire.png
Affichages : 462
Taille : 12,7 Ko

  4. #4
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Txt_Email.Text = Range("B1").Value
    Non?

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  5. #5
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Merci de te pencher sur ma problématique

    Je vais faire l'essai mais je suis pas un pro (je suis autodidacte et parcours le forum pour m'aider à développer mes différents projets….)

    En fait je voudrais qu'ici:

    ActiveCell.Hyperlinks.Add ActiveCell, "mailto:destinataire

    ce soit par exemple la valeur de la cellule B1


    Pour le moment si j'écris mailto:B1 et bien il me met B1 tel quel dans le champ adresse

  6. #6
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mailto:Range("B1").Value
    ?

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  7. #7
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Je l'ai fait comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim formulaire As Worksheet
    Set fichier = ActiveWorkbook
    Set formulaire = fichier.Worksheets("FORMULAIRE SAISIE")
     
    destinataire = formulaire.Range("B1").Value
     
    ActiveCell.Hyperlinks.Add ActiveCell, "mailto: destinataire" ………
    Mais ce que je ne comprends c'est pourquoi il m'écrit "destinataire" dans l'adresse mail et ne me reprend pas la valeur reprise dans la cellule.

    J'ai également essayé de mettre TextBox1.Value mais pareil ça ne passe pas.

  8. #8
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Retourne le code en entier.
    Là, je ne comprends plus grand chose.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  9. #9
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    le 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
    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
    Private Sub CommandButton1_Click()
     
    Dim derniere_ligne As Long
    Dim fichier As Workbook
    Dim onglet As Worksheet
    Dim formulaire As Worksheet
    Dim destinataire As Variant
     
    'identifier login
    Dim login As String
    Dim ObjWshNw As Object
    Set ObjWshNw = CreateObject("WScript.Network")
    login = ObjWshNw.UserName
     
     
    Set fichier = ActiveWorkbook
    Set onglet = fichier.Worksheets("STATS")
    Set formulaire = fichier.Worksheets("FORMULAIRE SAISIE")
     
    derniere_ligne = onglet.Cells(Rows.Count, 1).End(xlUp).Row + 1
     
    'Copier les informations dans la dernière ligne du tableau
    Sheets("FORMULAIRE SAISIE").Range("B2") = ComboBox1.Value 'Objet du message
    Sheets("FORMULAIRE SAISIE").Range("C1") = ComboBox2.Value 'Gestionnaire destinataire
    Sheets("FORMULAIRE SAISIE").Range("B3") = TextBox1.Value 'Société
    Sheets("FORMULAIRE SAISIE").Range("B4") = TextBox4.Value 'Contact
    Sheets("FORMULAIRE SAISIE").Range("B5") = TextBox2.Value 'Téléphone
    Sheets("FORMULAIRE SAISIE").Range("B6") = TextBox3.Value 'Email
    Sheets("FORMULAIRE SAISIE").Range("B7") = TextBox5.Value 'Message
    Cells(derniere_ligne, "A") = Date
    Cells(derniere_ligne, "B") = login 'Qui envoi le mail
    Cells(derniere_ligne, "C") = ComboBox2.Value 'Gestionnaire
    Cells(derniere_ligne, "D") = ComboBox1.Value 'Objet
    Cells(derniere_ligne, "E") = TextBox1.Value 'Société
     
    destinataire = formulaire.Range("B1").Value
    'Message = [FORMULAIRE SAISIE'!B7]
     
    ActiveCell.Hyperlinks.Add ActiveCell, "mailto: destinataire" & Email & "?subject= pas de sujet" & "?Body=Pas de lien???" & PropAdd, "", "", "Envoyer message"
    Msg = "Envoyer le message?"
    Ans = MsgBox(Msg, vbYesNo)
    If Ans = vbNo Then Exit Sub
    If Ans = vbYes Then ActiveCell.Hyperlinks(1).Follow
     
    'UserForm2.Show
     
    'Call process_maj
     
    End Sub
     
    Private Sub UserForm_Initialize()
     
    'Définition des variables
    Dim info_liste() As Variant
    Dim info_liste2() As Variant
    Dim derniere_ligne As Long
    Dim fichier As Workbook
    Dim onglet As Worksheet
     
    'identifier l'onglet Paramètres
    Set fichier = ActiveWorkbook
    Set onglet = fichier.Worksheets("PARAMETRES")
     
    '---Je cache le tableur Excel au lancement du formulaire
    Application.Visible = True
     
    '---Objet du message---
    derniere_ligne = onglet.Cells(Rows.Count, 3).End(xlUp).Row
    info_liste = onglet.Range(onglet.Cells(1, 3), onglet.Cells(derniere_ligne, 3))
    Me.ComboBox1.List = info_liste
     
    '---Gestionnaire destinataire---
    derniere_ligne = onglet.Cells(Rows.Count, 1).End(xlUp).Row
    info_liste2 = onglet.Range(onglet.Cells(1, 1), onglet.Cells(derniere_ligne, 1))
    Me.ComboBox2.List = info_liste2
     
    End Sub

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Points : 378
    Points
    378
    Par défaut
    Bonjour le file,

    essai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Hyperlinks.Add ActiveCell, "mailto:" & destinataire
    A+

  11. #11
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    C'est ce que j'étais entrain d'écrire!

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Points : 378
    Points
    378
    Par défaut
    Citation Envoyé par MarcelG Voir le message
    C'est ce que j'étais entrain d'écrire!
    désolé !!!

  13. #13
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Impeccable merci ca fonctionne.

    Pour subject et body c'est la même chose alors?

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Points : 378
    Points
    378
    Par défaut
    Citation Envoyé par sness Voir le message

    Pour subject et body c'est la même chose alors?
    oui tous pareil !

  15. #15
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Tu pourrais me dire si j ai une erreur pour declarer “Body”?
    Les info partent dans la barre “objet”
    Merci beaucoup

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Points : 378
    Points
    378
    Par défaut
    dans la ligne suivante la variable "PropAdd" c'est quoi ? je ne la retrouve nul part ailleurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.Hyperlinks.Add ActiveCell, "mailto: destinataire" & Email & "?subject= pas de sujet" & "?Body=Pas de lien???" & PropAdd, "", "", "Envoyer message"
    et regarde l'aide d'excel à propos de la Méthode Hyperlinks.Add

  17. #17
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Merci pour vos réponses.

    Tout fonctionne hormis le champ "Body"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    destinataire = formulaire.Range("B1").Value
    Objet = formulaire.Range("B2").Value & " / " & formulaire.Range("B3").Value
    Message = formulaire.Range("B7").Value
     
    ActiveCell.Hyperlinks.Add ActiveCell, "mailto:" & destinataire & Email & "?subject=" & Objet & "?body=" & Message, "", "Envoyer message"
    Msg = "Envoyer le message?"
    Ans = MsgBox(Msg, vbYesNo)
    If Ans = vbNo Then Exit Sub
    If Ans = vbYes Then ActiveCell.Hyperlinks(1).Follow

  18. #18
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Solution trouvée

    Il ne faut pas mettre "?body=" & Message mais "&body=" & Message.

    Merci pour votre aide

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

Discussions similaires

  1. [XL-2007] copie valeur cellule dans word avec mise en page
    Par lenul78570 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/02/2010, 10h54
  2. [XL-2003] Récupérer valeurs cellules dans userform
    Par fullmetalknet dans le forum Excel
    Réponses: 5
    Dernier message: 10/11/2009, 08h34
  3. Réponses: 2
    Dernier message: 02/10/2009, 16h54
  4. Récupérer valeur cellule dans classeur
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 17/03/2008, 00h54
  5. lire valeur cellule dans une table Word
    Par marti dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/03/2008, 12h46

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