Problème Macro Excel - vérification liste de mails via mailt

Bonjour à tous,

Je souhaiterais réaliser une macro qui me permettrait de tester la validité d'une liste d'adresses mail sur le site http://www.mailtester.com/testmail.php.

Le site permet de tester une adresse à la fois et un ami m'a dit qu'il était possible de tester la liste grâce à une macro.

Je n'ai aucune connaissance en VBA et donc il a ébauché pour moi une première macro en utilisant Internet Explorer. Le problème actuel est que ma macro vérifie bien la première adresse mais elle ne passe pas aux suivantes automatiquement.

Voici la macro actuelle :

Sub Test_mails()

'Définition des variables
Dim IEapp As New InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Dim LeTexteExtrait As String

'Ouverture de mail tester avec Internet Explorer
IEapp.navigate ("http://mailtester.com/testmail.php")
IEapp.Visible = True
Do While Not IEapp.readyState = 4
Loop

'Recherche du champs à remplir sur la page internet
Set maPageHtml = IEapp.document
Set Helem = maPageHtml.getElementsByTagName("input")

'Une fois le champs trouvé, on le rempli avec l'adresse mail à tester
With Helem
.Item(1).innerText = Worksheets("Adresses mail").Cells(1, 1).Value
End With

'On clique sur le bouton "check address"
Helem(2).Click

'C'est là que ça ne fonctionne plus. Je veux copier le contenu de la page en faisant ctrl+A puis ctrl+C (utilisation de la commande SendKeys). Une autre piste et d'identifier le tableau (.getelementbytype ou un truc du genre) qui contient le résultat du test et d'en extraire les données.
With maPageHtml
Application.Wait Now + TimeValue("00:00:1")
Application.SendKeys "^a"
Application.Wait Now + TimeValue("00:00:1")
Application.SendKeys "^c"
End With

'On colle le contenu en format texte sur une page du classeur excel
Workbooks("Essai requête mail tester.xlsm").Worksheets("Feuille de travail").Activate
Range("a1").Select
ActiveSheet.PasteSpecial Format:="Texte"

'On ferme internet explorer puis on vide les variables (je pense qu'on ne fermera plus la fenêtre internet quand on voudra automatiser la macro sur 10 000 adresses mail)
IEapp.Quit
Set IEapp = Nothing
Set maPageHtml = Nothing
Set Helem = Nothing

End Sub

Merci d'avance pour votre aide

Bonsoir,

une version à tester

sache que cette manière de travailler n'est pas très stable.

Sub Test_mails()

'Définition des variables
    Dim IEapp As New InternetExplorer
    Dim maPageHtml As HTMLDocument
    Dim Helem As IHTMLElementCollection
    Dim LeTexteExtrait As String
    With Workbooks("Essai requête mail tester.xlsm").Worksheets("Feuille de travail")
        'Ouverture de mail tester avec Internet Explorer
        IEapp.navigate ("http://mailtester.com/testmail.php")
        IEapp.Visible = True
        t = 0
        Application.Wait Now + TimeValue("00:00:01")
        Do Until IEapp.readyState = 4 Or t > 10
            DoEvents
            Application.Wait Now + TimeValue("00:00:01")
            t = t + 1
        Loop
        i = 1
        While Cells(i, 1) <> ""
            'Recherche du champs à remplir sur la page internet
            Set maPageHtml = IEapp.document
            Set Helem = maPageHtml.getElementsByTagName("input")

            'Une fois le champs trouvé, on le rempli avec l'adresse mail à tester
            Helem.Item(1).innerText = .Cells(i, 1).Value
            'On clique sur le bouton "check address"
            Helem(2).Click
            Application.Wait Now + TimeValue("00:00:01")
            t = 0
            Do Until IEapp.readyState = 4 Or t > 10
                DoEvents
                Application.Wait Now + TimeValue("00:00:01")
                t = t + 1
            Loop
            r = IEapp.document.body.innerHTML
            If InStr(r, "address is valid") <> 0 Then
                .Cells(i, 2) = "valide"
            Else
                .Cells(i, 2) = "non valide"
            End If
            i = i + 1
        Wend
        'On ferme internet explorer puis on vide les variables (je pense qu'on ne fermera plus la fenêtre internet quand on voudra automatiser la macro sur 10 000 adresses mail)
        IEapp.Quit
        Set IEapp = Nothing
        Set maPageHtml = Nothing
        Set Helem = Nothing
    End With
End Sub

Merci beaucoup h2so4 !!!

Ca marche nickel et ça me donne envie de me pencher beaucoup plus sérieusement sur le langage VBA pour la suite

Bonne journée à toi.

Rechercher des sujets similaires à "probleme macro verification liste mails via mailt"