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
|
Sub Test()
Dim IE As Object
Dim OL As Object
Dim OLMessage As Object
Dim Fe As Worksheet
Dim Debut As Integer
Dim Fin As Integer
Dim Longueur As Integer
Dim Lien As String
Set Fe = ActiveSheet
With Fe.Range("A1")
'navigateur (IE)
If InStr(.Formula, "http:/") <> 0 Then
Debut = InStr(.Formula, "http:/")
Fin = InStr(.Formula, ",")
Longueur = Len(.Formula) - (Debut + (Len(.Formula) - Fin) + 1)
Lien = Mid(.Formula, Debut, Longueur)
Set IE = CreateObject("internetexplorer.application")
IE.Visible = True
IE.Navigate Lien
'messagerie (Outlook)
ElseIf InStr(.Formula, "mailto:") <> 0 Then
Debut = InStr(.Formula, ":") + 1
Fin = InStr(Debut, .Formula, ",")
Longueur = Len(.Formula) - (Debut + (Len(.Formula) - Fin) + 1)
Lien = Mid(.Formula, Debut, Longueur)
Set OL = CreateObject("Outlook.Application")
Set OLMessage = OL.CreateItem(0)
OLMessage.Display
OLMessage.to = Lien
'lien vers une feuille du classeur si la formule est simple :
'=LIEN_HYPERTEXTE(Feuil2!$A$1;"Feuille Feuil2")
ElseIf InStr(.Formula, "!") <> 0 Then
Debut = InStr(.Formula, "(") + 1
Fin = InStr(Debut, .Formula, ",") + 1
Longueur = InStrRev(.Formula, ",", Debut)
Longueur = Len(.Formula) - (Debut + (Len(.Formula) - Fin) + 1)
Lien = Mid(.Formula, Debut, Longueur)
Application.Goto Application.ConvertFormula("=" & Lien, xlA1, xlR1C1)
End If
End With
End Sub |