Lien hypertexte dans outlook [Résolu]

sloy1978 13 Messages postés mardi 13 juillet 2010Date d'inscription 20 août 2012 Dernière intervention - 4 août 2010 à 10:59 - Dernière réponse : sloy1978 13 Messages postés mardi 13 juillet 2010Date d'inscription 20 août 2012 Dernière intervention
- 6 août 2010 à 17:09
Bonjour,

Je vous sollicite pour savoir si quelqu'un a une solution pour programmer en visual basic la recherche d'une chaine de caractère dans le corps d'un message outlook (en l'occurence l'adresse d'un site www.xxxx.com) et de transformer cette chaîne de texte en un lien hypertexte qui pointe sur ce même site ?

Si quelqu'un a une idée, car je suis pas bien bon dans tout ça...

Merci

Guillaume
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 5 août 2010 à 15:07
3
Merci
Voilà quelque chose qui devrait fonctionner (testé sous Excel 2003 mais sans Outlook) :
Sub Mail_MDP()
 Dim OApp As New Outlook.Application, OMail As Outlook.MailItem
 Dim S As String, Usr As String, Mdp As String
 
 Usr = Range("A" & ActiveCell.Row)
 Mdp = Range("B" & ActiveCell.Row)

 S = "Bonjour," & vbCrLf & vbCrLf & "Veuillez trouver ci-joint vos identifiants pour accéder à notre site de vente en ligne ([ www.monsite.com]) :" & vbCrLf & vbCrLf
 S = S & "Utilisateur : " & Range("A" & ActiveCell.Row) & vbCrLf & "Mot de passe : " & Range("B" & ActiveCell.Row) & vbCrLf & vbCrLf
 S = S & "Cordialement," & vbCrLf & "L'équipe de monsite.com"

 Set OApp = New Outlook.Application
 Set OMail = OApp.CreateItem(oMailItem)
 With OMail
  .Subject = "Demande d'accés au catalogue PIECES TECHNIQUES AUTOMOBILES"
  .HTMLBody = S
  .Display
 End With
End Sub


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question

Merci cs_ghuysmans99 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
Meilleure réponse
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 5 août 2010 à 21:51
3
Merci
Oui. Mais c'était aussi possible en HTML, il suffisait de faire comme ça (et je te conseille cette méthode car tous les clients mail ne convertissent pas automatiquement les liens texte en "vrai" liens) :
Sub Mail_MDP()
 Const NewLine As String = "
" & vbCrLf
 Dim OApp As New Outlook.Application, OMail As Outlook.MailItem
 Dim S As String

 S = "Bonjour," & NewLine & NewLine & "Veuillez trouver ci-joint vos identifiants pour accéder à notre site de vente en ligne ([ www.monsite.com]) :" & NewLine & NewLine
 S = S & "Utilisateur : " & Range("A" & ActiveCell.Row) & NewLine & "Mot de passe : " & Range("B" & ActiveCell.Row) & NewLine & NewLine
 S = S & "Cordialement," & NewLine & "L'équipe de monsite.com"

 Set OApp = New Outlook.Application
 Set OMail = OApp.CreateItem(oMailItem)
 With OMail
  .Subject = "Demande d'accés au catalogue PIECES TECHNIQUES AUTOMOBILES"
  .HTMLBody = S
  .Display
 End With
End Sub

Un dernier truc : vérifie quand même que tu ne retrouves plus de monsite.com dans le mail, ça ferait con avec une appli en production

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question

Merci cs_ghuysmans99 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 5 août 2010 à 12:58
0
Merci
Une fois que le message est de type HTML, il te suffit d'utiliser la balise ESSAI</code>

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Commenter la réponse de cs_ghuysmans99
sloy1978 13 Messages postés mardi 13 juillet 2010Date d'inscription 20 août 2012 Dernière intervention - 5 août 2010 à 14:01
0
Merci
Merci pour la réponse, mais je ne pense pas que ça m'aide,

en fait, voici mon code, qui va chercher dans un classeur excel l'utilisateur et le mot de passe d'un client, qui crée une chaine de texte pour l'insérer dans le body d'un message outlook


sub mdp()
Dim Ol As New Outlook.Application
Dim demande As MailItem
Dim CurrFile As String
Dim dody As String

If ActiveWorkbook.Name = "Mots de passe ecommerce.XLS" Then
n = ActiveCell.Row
uti = Range("a" & CStr(n) & "")
mdp = Range("b" & CStr(n) & "")

dody = _
"Bonjour," & Chr(10) & "" & Chr(10) & "Veuillez trouver ci-joint vos identifiants pour accéder à notre site de vente en ligne (www.xxxxxx.com) :" & Chr(10) & "" & Chr(10) & "Utilisateur : " & CStr(uti) & "" & Chr(10) & "Mot de passe : " & CStr(mdp) & "" & Chr(10) & "" & Chr(10) & "Cordialement."
Set Ol = New Outlook.Application
Set demande = Ol.CreateItem(olMailItem)
With demande
.Display
.To = ""
.Subject = "Demande d'accés au catalogue PIECES TECHNIQUES AUTOMOBILES"
.Body = "" & CStr(dody) & ""
End With

End If
End Sub

Le problème c'est qu'après je n'arrive pas dans ce code a mettre un lien vers le site qui est dans la chaine de caractère www.xxxxx.com ???
Commenter la réponse de sloy1978
sloy1978 13 Messages postés mardi 13 juillet 2010Date d'inscription 20 août 2012 Dernière intervention - 5 août 2010 à 16:13
0
Merci
Merci beaucoup ! ! !
Je comprend pas trop comment ça marche, mais ça marche,

j'ai juste changer HTMLbody en body tout court pour que ça garde la mise en forme avec les retours charriots, et j'ai enlevé la balise , et ça fait exactement ce que je voulais.

Le code (un tout petit peu) modifié :

Sub Mail_MDP2()
Dim OApp As New Outlook.Application, OMail As Outlook.MailItem
Dim S As String, Usr As String, Mdp As String

Usr = Range("A" & ActiveCell.Row)
Mdp = Range("B" & ActiveCell.Row)

S = "Bonjour," & vbCrLf & vbCrLf & "Veuillez trouver ci-joint vos identifiants pour accéder à notre site de vente en ligne (http://www.monsite.com) :" & vbCrLf & vbCrLf
S = S & "Utilisateur : " & Range("A" & ActiveCell.Row) & vbCrLf & "Mot de passe : " & Range("B" & ActiveCell.Row) & vbCrLf & vbCrLf
S = S & "Cordialement," & vbCrLf & "L'équipe de monsite.com"

Set OApp = New Outlook.Application
Set OMail = OApp.CreateItem(oMailItem)
With OMail
.Subject = "Demande d'accés au catalogue PIECES TECHNIQUES AUTOMOBILES"
.Body = S
.Display
End With
End Sub

Encore merci
Commenter la réponse de sloy1978
sloy1978 13 Messages postés mardi 13 juillet 2010Date d'inscription 20 août 2012 Dernière intervention - 5 août 2010 à 16:18
0
Merci
en fait, dans mon code du début, il fallait juste que je rajoute http://
avant le www et ca le fait tout seul...
Commenter la réponse de sloy1978
sloy1978 13 Messages postés mardi 13 juillet 2010Date d'inscription 20 août 2012 Dernière intervention - 6 août 2010 à 17:09
0
Merci
Merci bien pour ton aide
Commenter la réponse de sloy1978

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.