Extract contenu Htm dans Excel

Bonjour,

Je ne sais pas si ma demande est faisable mais j’essaie quand même.

Voilà, j’ai un répertoire qui contient x sous-répertoires.

Ces sous répertoires ont un nom qui commence par la lettre N et qui se termine par des chiffres (Ex : N2919, N2920, N2921, N2922, etc….).

Dans ces sous-répertoires, je trouve à chaque fois 1 fichier « _ASSIST.htm » et 1 fichier « _PRINCIPAL ».

Ma question : Est-il possible, via une fonction Excel ou via une macro, de lister le contenu de tous les fichiers « _ASSIST.htm » dans un tableau excel sous la forme ci-jointe (la colonne A étant rempli automatiquement en fonction des noms des sous répertoires) ?

Merci

27modele.xlsx (8.12 Ko)

bonsoir,

une solution via une macro.

Sub listassist()
    Dim rl()
    l = 1
    chemin = "C:\" ' à adapter
    f = Dir(chemin & "N*", vbDirectory)
    While f <> ""
        i = i + 1
        ReDim Preserve rl(i)
        rl(i) = f
        f = Dir()
    Wend
    k = i
    For i = 1 To k
        On Error Resume Next
        f = Dir(chemin & rl(i) & "\_assist.htm")
        On Error GoTo 0
        If f <> "" Then
            Open chemin & rl(i) & "\_assist.htm" For Input As 1
            t = ""
            While Not EOF(1)
                Line Input #1, e
                t = t & sep & e
                If sep = "" Then sep = vbNewLine
            Wend
            Close 1
            l = l + 1
            Cells(l, 1) = rl(i)
            Cells(l, 2) = t
        End If
    Next i

End Sub

Bonjour H2so4,

Je viens de tester la macro, elle me répond 'Erreur de compilation - Erreur End Sub Attendu".

Donc là, je mets le end Sub en fin de macro et ensuite, nouvelle erreur 'Erreur de compilation - For sans Next'

Bonjour,

c'est que tu as oublié de copierr une partie du code.

le mieux est de faire

1) tout sélectionner. (dans le titre du code, sur le forum)

2) ctrl-C pour copier

puis faire ctrl-V dans l'éditeur VBA excel.

je t'ai copié le code complet que tu trouves sur le forum dans ton classeur.

21modele.xlsm (11.88 Ko)

Bonjour,

Effectivement, j'étais mal réveillé et ai pas vu l'ascenseur à droite du code

J'ai regardé le code de la macro et je vois que je dois indiqué le chemin.

Je dois donc indiqué le chemin du répertoire qui contient mes sous-répertoires Nxxxxxxxx.

Mon chemin = C:\FAQ

Comment se déclenche ensuite la macro ?

Et est-ce que je dois copier mon fichier excel dans C:\FAQ

J'ai essayé et le tableau ne se remplis pas.

Merci

Bonjour,

pour lancer la macro, faire alt-F8, choisir la macro et executer

Bonjour,

Il ne se passe rien.

Je n'ai pas d'erreur mais le tableau ne se remplit pas

Merci

Bonjour,

j'ai fait une nouvelle version avec un détail des activités.

tu trouveras ce détail dans la feuille Trace1234

merci de mettre le résultat après exécution, pour investigation complémentaire.

18modele.xlsm (16.03 Ko)

Bonjour,

Le fichier après exécution de la macro

Merci

22modele.xlsm (16.01 Ko)

Bonjour,

il n'y a aucun répertoire qui commence par N dans C:\FAQ

Et si pourtant.

Merci

test

bonjour,

chez moi cela marche sans problème

essaie cette version-ci.

15modele.xlsm (14.13 Ko)

La nouvelle version me donne cela

bonjour,

remplace

c:\FAQ

par

c:\FAQ\

et relance stp

Le résultat en pièce jointe

Bonjour,

n'est-ce pas le résultat attendu ?

Non, ce que je souhaite comme résultat est d'avoir en colonne A, les noms du sous-répertoires (complet ou en enlevant la lettre N) et dans la colonne B, le contenu du fichier "_ASSIST.htm" qui se trouve dans chaques sous répertoire.

Désolé si je n'ai pas été assez clair au départ

jeanmichel0404 a écrit :

Non, ce que je souhaite comme résultat est d'avoir en colonne A, les noms du sous-répertoires (complet ou en enlevant la lettre N) et dans la colonne B, le contenu du fichier "_ASSIST.htm" qui se trouve dans chaques sous répertoire.

Désolé si je n'ai pas été assez clair au départ

il me semble que c'est ce que tu trouves dans feuil1

Ah non, c'est bon - je pensais qu'on bossait que sur la 2nde feuille.

T'es un chef.

Merci pour tout

Ajout :

1 - J'ai supprimé une partie des pièces jointes.

2 - Dans les contenus des fichiers '_ASSIST.HTM' extraient en colonne B, est-ce qu'il est possible de ne garder que la partie entre <TITLE> et </TITLE> ?

Merci

Bonsoir,

à tester

18modele.xlsm (17.42 Ko)
Rechercher des sujets similaires à "extract contenu htm"