automatisé l'importation dans excel

STEFF

XLDnaute Nouveau
Bonsoir a tous....
Voila mon probléme
j'ai 30 fichiers *.html qui remonte d'une application, je voudrais automatiser le faite de leurs intégration dans un fichier .xls
sachant que chaque fichier me donnera une feuille excel différente...nommé au nom du fichier *.html

Merci d'avance
 

Jam

XLDnaute Accro
Salut Steff,

Pas une soluce, mais une suggestion. D'après mon expérience avec l'import de fichier HTML dans XL, c'est souvent le bazar et la consolidation des données est souvent aléatoire étant donné le positionnement parfois 'bizarre' des balises. Donc, ne te serait-il pas possible de récupérer des fichiers CSV, TXT voire XML, car là le travail sera beacoup plus facile.

Bon courage
 
S

STEFF

Guest
Bonjour,
aprés avoir etudié plusieurs solution,
je pense que tu as raison pour la démarche.
simplement je ne sais pas faire une concatenation de plusieurs fichier *.html
dans un même fichier txt ou csv.

Si démarche ou outil connu de votre part,
je suis preneur

Merci d'avance
 

MichelXld

XLDnaute Barbatruc
bonsoir Steff , bonsoir Jam

si tes pages html sont principalement constituees de tableaux, tu pourrais tester une procedure de ce type , pour boucler sur les pages et en importer les données dans de nouveaux onglets


Sub Importer_tableauxPageHTML()
'MichelXld le 09.06.2005
'
'activer la reference Microsoft HTML Objects Library
'activer la reference Microsoft Internet Controls
'
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Htable As IHTMLElementCollection
Dim maTable As IHTMLTable
Dim j As Integer, i As Integer, x As Integer, Ligne As Integer
Dim NbPages As Byte

Application.ScreenUpdating = False

For NbPages = 1 To 30
Ligne = 0
Sheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Chr(NbPages)

Set IE = CreateObject('InternetExplorer.Application')
IE.Visible = False
IE.navigate 'http://www.mapage' & NbPages & '.html'
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

Set maPageHtml = IE.document
Set Htable = maPageHtml.getElementsByTagName('table')

For x = 1 To Htable.Length - 1 'boucle sur toutes les tables de la page html
Ligne = Ligne + i + 1

Set maTable = Htable(x)

For i = 1 To maTable.Rows.Length 'boucle sur toutes les lignes de la table

For j = 1 To maTable.Rows(i - 1).Cells.Length
Cells(Ligne + i, j) = maTable.Rows(i - 1).Cells(j - 1).innerText
Next j

Next i
Next x

DoEvents
IE.Quit
Set IE = Nothing
Next NbPages

Application.ScreenUpdating = True
End Sub



bonne soirée
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 691
Messages
2 090 996
Membres
104 722
dernier inscrit
Tuaneps