Private Declare Function OuvreInternet Lib "wininet" _
Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, _
ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function fermeInternet Lib "wininet" _
Alias "InternetCloseHandle" (ByVal hInet As Long) As Integer
Private Declare Function code_page Lib "wininet" _
Alias "InternetReadFile" (ByVal hFile As Long, ByVal sBuffer As String, _
ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function Ouvrepage Lib "wininet" _
Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, _
ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, _
ByVal dwContext As Long) As Long
Sub lit_code_page_Web()
Dim texte_code As String * 1024
Dim t#, Mot$
Const L = "la ,le ,l',un ,une"
Const L2 = "&~#'{([-|`_\ç^@)]=}$¤£+°^¨*µ%!§:/;.,?<>0123456789"
Mot = LCase(Range("B4"))
'on isole le mot uniquement, sans son article
For t = LBound(Split(L, ",")) To UBound(Split(L, ","))
Mot = Replace(Mot, Split(L, ",")(t), "")
Next t
'on vire les caractères parasites
For t = 1 To Len(L2)
Mot = Replace(Mot, Mid(L2, t, 1), "")
Next t
'Recherche sur le web
page_Web_à_lire = "http://dictionnaire.reverso.net/francais-definition/" & Mot
internet = OuvreInternet("toto", 0, vbNullString, vbNullString, 0) 'ouvre Internet
URL = Ouvrepage(internet, page_Web_à_lire, vbNullString, _
0, &H400000 Or &H4000000 Or &H80000000, 0) 'ouvre la page Web
'lecture du code de la page par paquet de 1024 caractères
txt = ""
nb_caractères_lus = 1
'Récupération du code source
Do While nb_caractères_lus > 0
'lit 1024 caractères et les copie dans texte_code
code_page URL, texte_code, 1024, nb_caractères_lus
txt = txt & Left(texte_code, nb_caractères_lus)
Loop
fermeInternet URL 'ferme la page
fermeInternet internet 'ferme Internet
'détermination du genre
genre = "Non déterminé"
If InStr(txt, ">nm") > 0 Then genre = "Nom Masculin"
If InStr(txt, ">nf") > 0 Then genre = "Nom féminin"
Range("C4") = genre
End Sub