Bonjour tout le monde!
C'est mon premier topic mais ce n'est pas ma première visite sur votre super forum. Je vous remerci d'ailleurs pour l'aide que vous m'avez déjà fourni.

Mon programme: j'ai un N° de bordereau que j'entre dans un form, ensuite la macro doit ouvrir une page web php sur IE en fonction de ce N° en vue de copier son contenu.

Mon problème: je ne suis pas très bon avec "Microsoft Internet Control", la macro fonctionne parfaitement sur mon poste (XP/Excel2000SP3/IE7) mais il ne fonctionne pas sous les autres postes où à therme il doit fonctionner. Ces autres postes sont sous Win2000/IE6 par exemple. Je pense donc à un problème de compatibilité mais la macro ne fonctionne pas non plus avec Win7/IE8, bref le néant pour moi.

Localisation: Le problème est que la fenêtre IE ne s'active pas elle reste en arrière plan. Ainsi la boucle de statut terminé ne s'arrète jamais, il me faudrait une commande pour activer IE sur toutes les versions... Est-ce possible?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
Sub téléchargement()
 
'*************************************************************************************
'* Remarque générale: Outil/Référence/"Microsoft Internet Controls" doit être coché! *
'*************************************************************************************
 
Dim Page As New InternetExplorer
Dim ps As Boolean
 
    Cells.ClearContents
    'Ouverture du navigateur
    Page.Navigate "https://mon_url.php?bordereau=" & bor
    Page.Visible = True
    'Fonction simple de délai
    ps = False
    Do
        If InStr(Page.StatusText, "Terminé") = 1 Then
            ps = True
        End If
    Loop Until ps = True
 
    'Copier/coller
    With Page.Document
        Application.SendKeys "^a"
        Application.Wait Now + TimeValue("00:00:03")
        Application.SendKeys "^c"
        Application.Wait Now + TimeValue("00:00:01")
    End With
    Page.Quit
    Workbooks("Impression Suivi Diagnostique.xls").Activate
    Range("A1").Select
Past:
    On Error GoTo Past
    ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:= _
        False
    On Error GoTo 0
    Module1.rechercheSN
 
End Sub
Merci à l'avance les experts!