olivier974s
XLDnaute Nouveau
Bonjour à tous,
Je vous remercie d'avance pour toutes vos contributions à mon problème.
J'ai un fichier Excel qui sert de registre de courriers (chrono). Lorsqu'on reçoit un courrier, on crée une version numérisée (PDF) et le stocke à un emplacement sur notre serveur de fichiers. Le secrétariat renseigne les différentes colonnes comme suit :
Colonne A : Numéro (chrono)
Colonne B : Date de réception du courrier
Colonne C : Support (mail ou voie postale)
Colonne D : Référence du courrier
Colonne E : Objet du courrier avec le lien hypertexte pointant vers le fichier PDF
Colonne F : l'expéditeur
Colonne G : liste d'emails afin de déterminer de la personne qui doit traiter le courrier
Colonne H : utile pour ne pas traiter les mails déjà envoyés.
Avec le code que j'ai fait la fonctionnalité d'envoi de mail fonctionne, mon problème est lié à la récupération du lien hypertexte de façon complète. Car lorsque je récupère le lien par une autre fonction j'ai ce genre de résultat : ..\..\emplacement\vers\fichiers. ce n'est pas le lien complet.
Ci-dessous le code que j'exécute mais qui renvoi un résultat vide :
J'ai déjà effectué pas mal de recherches mais je ne trouve pas de solutions. J'avais pensé à stocker le lien dans une variable mais je n'y arrive pas.
Je joins également le fichier sur lequel je travaille.
Encore merci pour votre aide.
Je vous remercie d'avance pour toutes vos contributions à mon problème.
J'ai un fichier Excel qui sert de registre de courriers (chrono). Lorsqu'on reçoit un courrier, on crée une version numérisée (PDF) et le stocke à un emplacement sur notre serveur de fichiers. Le secrétariat renseigne les différentes colonnes comme suit :
Colonne A : Numéro (chrono)
Colonne B : Date de réception du courrier
Colonne C : Support (mail ou voie postale)
Colonne D : Référence du courrier
Colonne E : Objet du courrier avec le lien hypertexte pointant vers le fichier PDF
Colonne F : l'expéditeur
Colonne G : liste d'emails afin de déterminer de la personne qui doit traiter le courrier
Colonne H : utile pour ne pas traiter les mails déjà envoyés.
Avec le code que j'ai fait la fonctionnalité d'envoi de mail fonctionne, mon problème est lié à la récupération du lien hypertexte de façon complète. Car lorsque je récupère le lien par une autre fonction j'ai ce genre de résultat : ..\..\emplacement\vers\fichiers. ce n'est pas le lien complet.
Ci-dessous le code que j'exécute mais qui renvoi un résultat vide :
VB:
Sub EnvoiMail()
'Envoi un mail au destinataire concerné
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim Cell As Range
Dim lien As Range
Dim Body As Variant
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo cleanup
For Each Cell In Columns("H").Cells.SpecialCells(xlCellTypeConstants)
If Cell.Value Like "?*@?*.?*" And _
LCase(Cells(Cell.Row, "I").Value) <> "envoyé" Then
Set OutMail = OutApp.CreateItem(olMailItem)
On Error Resume Next
If lien.Hyperlinks.Count > 0 Then _
lien.Offset(Cell.Row, 7) = Cell.Hyperlinks(1).Address
With OutMail
.To = Cell.Value
.Subject = "Courrier à traiter"
'email formaté en HTML
.BodyFormat = olFormatHTML
.HTMLBody = "<html><p>" & Body & "</p></html>"
.Body = "Bonjour," & vbNewLine & vbNewLine _
& "Je vous remercie de traiter ce courrier : " & vbNewLine & vbNewLine _
& "Date de réception du courrier : " & Cells(Cell.Row, "B").Value & vbLf & vbLf _
& "Expéditeur : " & Cells(Cell.Row, "F").Value & vbLf & vbLf _
& "Objet du courrier : " & Cells(Cell.Row, "E").Value & vbNewLine & vbNewLine _
& "<file:\\" & lien.Value & ">" & vbNewLine & vbNewLine _
& "Cordialement,"
.Send 'Or use Display
End With
On Error GoTo 0
Cells(Cell.Row, "I").Value = "envoyé"
Set OutMail = Nothing
End If
Next Cell
cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub
J'ai déjà effectué pas mal de recherches mais je ne trouve pas de solutions. J'avais pensé à stocker le lien dans une variable mais je n'y arrive pas.
Je joins également le fichier sur lequel je travaille.
Encore merci pour votre aide.
Pièces jointes
Dernière édition: