Rechercher : dans
Par :

Vba et HTML

Dernière réponse le 2 déc 2008 à 09:40:24 nemo427, le 6 jun 2008 à 16:30:15 
 Signaler ce message aux modérateurs

Bonjour,
Je pilote un programme intranet avec VBA Excel.
Après avoir enseigné les différents paramètres. J'arrive à un bouton lancer qui va sélectionner les articles correspondants aux données entrées.

Voici le code source :

</tr><tr>
<td colspan="8" align="center">
<input type="image" src="../../../../img/bt_lancer.gif">
</td>
</tr>
</table>
</form>
<br>
<hr>
</body>
</html>

Et voici une des versions de mon module chargé de traiter le problème :

Option Explicit

Private Declare Function URLDownloadToCacheFile Lib "urlmon" Alias "URLDownloadToCacheFileA" (ByVal lpUnkcaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwBufLength As Long, ByVal dwReserved As Long, ByVal IBindStatusCallback As Long) As Long


Private Function DownloadFile(URL As String) As String
Dim lngRetVal As Long
Dim sLocalFilename As String
'procedure de telechargement de l'image (trouvé sur le net???)
'(pour eviter d'utiliser un contrôle Inet...)
sLocalFilename = Space(300)
lngRetVal = URLDownloadToCacheFile(0, URL, sLocalFilename, Len(sLocalFilename), 0, 0)

If lngRetVal = 0 Then
DownloadFile = Trim(sLocalFilename)
End If
End Function

Function RndStr(nb As Integer) As String
Dim I As Integer
'renvoie une chaine de nb caracteres aléatoires...(de a à z)
RndStr = ""
For I = 1 To nb
RndStr = RndStr + Chr(CInt(Rnd * 25) + 97)
Next I

End Function

Public Sub ExpertResearch() ' Accès au programme Experts
Dim maPageHtml As HTMLDocument
Dim Helem As HTMLElementCollection
Dim TypeDocument As String
Dim Deleg As Object
Dim HTMLDelegElement(100) As HTMLElementCollection
Dim htmlDoc As Object
Dim IESubmit As HTMLFormElement
Dim IECtrl As HTMLFormElement
Dim IE As Object
Dim sLocalFilename As String
Const READYSTATE_INTERACTIVE = 3
Const READYSTATE_COMPLETE = 4

'crée un objet internet Explorer
Set IE = CreateObject("InternetExplorer.Application")
'le masque
IE.Visible = True

'ouvre la page d'enregistrement de identification Ecti
IE.navigate "http://www.intranet-ecti.org/asp/Experts/ExpertsActifs/selectionGenerale/filtre.asp"
'attends que la page soit ouverte
Do While IE.readyState <> READYSTATE_INTERACTIVE
DoEvents
Loop

Do While IE.readyState <> READYSTATE_COMPLETE
DoEvents
Loop

' Formulaire

'remplit les champs nécessaires...
IE.DOCUMENT.all("AnNai").Value = "1960"
IE.DOCUMENT.all("M10").Value = "COMPTABLE"
IE.DOCUMENT.all("M11").Value = "GESTION"
IE.DOCUMENT.all("M12").Value = "AUDIT"
IE.DOCUMENT.all("Dep1").Value = "75"
IE.DOCUMENT.all("Dep2").Value = "77"
IE.DOCUMENT.all("Dep3").Value = "78"
IE.DOCUMENT.all("Dep4").Value = "91"
IE.DOCUMENT.all("Dep5").Value = "92"
IE.DOCUMENT.all("Dep6").Value = "93"
IE.DOCUMENT.all("Dep7").Value = "94"
IE.DOCUMENT.all("Dep8").Value = "95"

Do While IE.readyState <> READYSTATE_INTERACTIVE
DoEvents
Loop
'
Do While IE.readyState <> READYSTATE_COMPLETE
DoEvents
Loop

Set IESubmit = htmlDoc.forms(0)
IESubmit.submit

End Sub

Je perds la main et quand je fais CTRL + Pause, le curseur est sur le do events souligné.
Si quelqu'un peut me sortir du pétrin...
Merci.

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « vba et HTML » dans :
[Aspirateur de pages HTML] Comment aspirer un site Web ? VoirHTTrack est un excellent aspirateur, gratuit en licence GNU GPL (libre). HTTrack permet de télécharger un site web d'Internet vers votre disque dur, en construisant récursivement tous les répertoires, récupérant html, images et fichiers du serveur...
VBA et les collections d'objets. VoirVBA et les collections d'objets Quand plusieurs (beaucoup de) contrôles sont mis sur une feuille ou un Userform il est parfois fastidieux d'écrire du code dans chaque évènement des contrôles. Ce Tuto vous permet de traiter vos contrôles comme...
[Site web] Vérifier, optimiser et nettoyer son code HTML VoirLes logiciels WYSIWYG de création de pages web produisent parfois du contenu HTML rempli de balises HTML inutiles, voire incompatibles avec les recommandations du W3C. Les outils proposés ci-dessous permettent de vérifier la validité du code HTML...
Télécharger HTML Tidy VoirHTML Tidy est un utilitaire permettant de vérifier et d'optimiser tout code HTML. La version originale de cet utilitaire s'utilise en mode de commande uniquement. La présente version, appelée "GUI Tidy", possède une interface graphique. Notez...
Télécharger HTML Tidy fr VoirHTML Tidy est un utilitaire permettant de vérifier et d'optimiser tout code HTML. Cette version est la version 1.1.5.0, c'est-à-dire la version de base ! Ayant remarqué que les débutants avaient des problèmes dans l'utilisation de la version...
Caractères spéciaux HTML VoirCodage des caractères spéciaux Le standard HTML demande de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Il faut pour cela utiliser un codage particulier. Pour...
Les balises HTML VoirHTML, un langage à balises Le HTML n'est pas un langage de programmation. Il s'agit d'un langage permettant de décrire la mise en page et la forme d'un contenu rédigé en texte simple. Une page HTML est ainsi un simple fichier texte...
Introduction au HTML VoirPrésentation du HTML Le HTML (« HyperText Mark-Up Language ») est un langage dit de « marquage » (de « structuration » ou de « balisage ») dont le rôle est de formaliser l'écriture d'un document avec des balises de formatage. Les balises permettent...

1

nemo427, le 8 jun 2008 à 10:46:42

Je crois avoir progressé.
En fait, quand je suis sur la page web, et après avoir renseigné le formulaire, il me suffit de faire "entrée" et la page suivante s'affiche. Je crois comprendre qu'il faudrait, dans le programme vba, simuler ce retour charriot.
Comment ?
Je cherche en mettant dans form(0) un code ASCII
Si vous avez quelques lumières...
A +

Répondre à nemo427

2

 concour4, le 2 déc 2008 à 09:40:24

Bonjour

Essayez sendkeys "{enter}"

sendkeys = simulation de frappe au clavier

Répondre à concour4