Extaction HTML --> Excel

adoula

XLDnaute Nouveau
Bonsoir le Forum,
Je voulais vous demander si c’est possible qu’Excel récupère un tableau –étant enregistré en format HTML- après l’avoir trié s’il est placé dans un emplacement donné et ayant une nomination bien déterminer ?
Je m’explique :
D’habitude je suis entrain d’extraire des valeurs d’un outil de travail qui n’exporte qu’au format HTML.
Je commence par la création du HTML puis l’ouvrir sous Excel, ensuite j’effectue un tri suivant la première colonne et je colle les valeurs copiées dans mon fichier de Production pour effectuer des calculs en se basant sur des valeurs !
Sachant que l’outil utilisé pour générer les valeurs n’admet aucun paramétrage, je voulais savoir si on plaçant les fichiers (HTML) extraits quotidiennement dans un même répertoire et en respectant une nomination spécifique jj-mm-aaaa est il possible d’éviter le travail manuel de copie ?
J’ai besoin de votre réponse au plus vite car je dois livrer le fichier !
Je vous remercie d’avance
 

MichelXld

XLDnaute Barbatruc
bonjour

oui il est possible d'importer ton tableau Html dans la feuille Excel

ci joint un exemple adapté à ton lien

Sub Importer_tableauPageWeb()
'michelxld le 09.06.2005
'
'ATTENTION :
'------------------
'activez la reference Microsoft HTML Objects Library
'activez la reference Microsoft Internet Controls
'
'Dans l'editeur de macros :
'--------------------------
'Menu Outils
'References
'Coche les 2 lignes 'Microsoft HTML Objects Library' &
' 'Microsoft Internet Controls'
'Clique sur OK pour valider
'
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Htable As IHTMLElementCollection
Dim maTable As IHTMLTable
Dim j As Integer, i As Integer

Set IE = CreateObject('InternetExplorer.Application')
IE.Visible = False

IE.navigate 'Ce lien n'existe plus
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

Set maPageHtml = IE.document
Set Htable = maPageHtml.getElementsByTagName('table') 'objet type table
Set maTable = Htable(0) 'premier tableau dans la page Web

For i = 1 To maTable.Rows.Length 'boucle sur toutes les lignes du tableau

For j = 1 To maTable.Rows(i - 1).Cells.Length 'boucle sur les cellules dans chaque ligne
Cells(i, j) = maTable.Rows(i - 1).Cells(j - 1).innerText
Next j

Next i

IE.Quit
Set IE = Nothing
End Sub




bonne journée
MichelXld
 

Statistiques des forums

Discussions
312 438
Messages
2 088 410
Membres
103 844
dernier inscrit
salma123