Bonjour à tous,
Je voudrai transférer le contenu texte de fichiers HTML dans une feuille Excel avec une macro.
J'y parviens déjà correctement, mais au final le fichier est lourd (20M octets avec 1 million de lignes sur 8 colonnes) et Excel est considérablement ralenti.
Je pense qu'il y a des liens et Quertables qui alourdissent le fichier et qui sont indésirables.
Quelqu'un peut il m'indiquer comment supprimer ces liens et QueryTables pour ne conserver que le texte tel qu'il est disposé dans les cellules ?
Voici la partie concernée de la macro que j'utilise.
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 Dim Colref as string Dim Adest as long Dim Fichier as string Colref="A" Adest=1 For i = 1 to 200 Fichier="France" + i + ".html" With ActiveSheet.QueryTables.Add(Connection:="URL;file:///C:/Users/didie/Desktop/Projets /" + Fichier, Destination:=Range(Colref & Adest) .Name = Fichier .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlOverwriteCells .SavePassword = False .SaveData = False .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With Adest = Adest + 100 Next i
L'appel à la QueryTable se fant dans une boucle dans un With et je pense q'il faudrait rajouter quelques lignes pour effacer la table et les liens après chargement du texte dans la feuille.
Je fait appel à un fichier HTML différent à chaque tour de boucle et le texte est inséré dans une zone de la feuille différente à chaque fois.
Fastoche non, enfin pour certains d'entre vous, parce que moi je ne sais pas.
Merci d'avance
Cordialement
Partager