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: