Se connecter avec
S'enregistrer | Connectez-vous

Aide macro excel récupération données fichier html

Dernière réponse : dans Programmation

Bonjour,

Je créé actuellement un répertoire d'entreprise sous Excel.
Pour ceci, je récupère des données depuis des fichiers .html qui sont toutes sous la même forme (mais il ne s'agit pas d'un tableau).
Il s'agit d'une succession de données, ligne par ligne, avec toujours la même structure.
Exemple :
Statut social : xxxx
Tél. : 0....
Mail : eojf
Site web : jojze

Il faudrait que je puisse créer une Macro qui récupère un ensemble de données pour les mettre sur Excell dans un tableau sous la forme suivante :
Statut social | Tél | mail | site web

Ceci concerne plus de 600 fichiers html.

Si quelqu'un avait une idée, merci d'avance !!!
Lassé par la pub ? Créez un compte
Expert Programmation

Salut,
Moi, j'ai plein d'idées. :) 

  • Premièrement, Excel est un tableur, pas un gestionnaire de données. Utilise plutôt Access par exemple.

    (Oui, je t'entends d'ici me répondre "C'est pas moi, c'est le patron qu'a dit qu'il fallait le faire sur Excel" :sarcastic:  )

  • Deuxièmement, il va falloir le faire en VBA (Excel ou Access, ça ne changera pas ;)  ).

    Quoi qu'on pourrait aussi se débrouiller plus simplement avec un simple awk par exemple. [:zeb:3]

    (Oui, je t'entends encore me répondre "On n'est pas sous Linux. c'est le patron qu'a dit qu'il veux un truc crade et super lent en Excel". Ça va, j'ai compris... :pfff:  )

    --------------------------------------------------

    Pourquoi proposé-je awk ?
    Parce que tu peux ainsi traiter tes 600 fichiers en 4 lignes de code !

    Programme lithoshin.awk
    1. # // programme awk pour parser les données des fichiers 6000 html //
    2. BEGIN { P=0 }
    3. /Statut social : / { P=1 }
    4. { if (P==1) { X=$0 ; sub(".* : ", "", X) ; printf "%s;", X }}
    5. /Site web : / { P=0 ; print "" }


    Il te reste à passer ce programme pour tous tes fichiers :
    C:\>CD \repertoire_des_fichiers_html
    C:\repertoire_des_fichiers_html> FOR %I IN (*.HTML) DO awk -f lithoshin.awk > %~nI.csv


    Et voilà, tu te retrouves avec 600 fichiers csv à ouvrir dans Excel.

    T'es sûr que tu veux faire ça en VB ?

    --------------------------------------------------

    La version Windows de gawk (version GNU de awk) est disponible sur http://gnuwin32.sourceforge.net/ à cette adresse exacte : http://gnuwin32.sourceforge.net/downlinks/gawk-bin-zip.php

    zeb a dit :
    Salut,
    Moi, j'ai plein d'idées. :) 

  • Premièrement, Excel est un tableur, pas un gestionnaire de données. Utilise plutôt Access par exemple.

    (Oui, je t'entends d'ici me répondre "C'est pas moi, c'est le patron qu'a dit qu'il fallait le faire sur Excel" :sarcastic:  )

  • Deuxièmement, il va falloir le faire en VBA (Excel ou Access, ça ne changera pas ;)  ).

    Quoi qu'on pourrait aussi se débrouiller plus simplement avec un simple awk par exemple. [:zeb:3]

    (Oui, je t'entends encore me répondre "On n'est pas sous Linux. c'est le patron qu'a dit qu'il veux un truc crade et super lent en Excel". Ça va, j'ai compris... :pfff:  )

    --------------------------------------------------

    Pourquoi proposé-je awk ?
    Parce que tu peux ainsi traiter tes 600 fichiers en 4 lignes de code !

    Programme lithoshin.awk
    1. # // programme awk pour parser les données des fichiers 6000 html //
    2. BEGIN { P=0 }
    3. /Statut social : / { P=1 }
    4. { if (P==1) { X=$0 ; sub(".* : ", "", X) ; printf "%s;", X }}
    5. /Site web : / { P=0 ; print "" }


    Il te reste à passer ce programme pour tous tes fichiers :
    C:\>CD \repertoire_des_fichiers_html
    C:\repertoire_des_fichiers_html> FOR %I IN (*.HTML) DO awk -f lithoshin.awk > %~nI.csv


    Et voilà, tu te retrouves avec 600 fichiers csv à ouvrir dans Excel.

    T'es sûr que tu veux faire ça en VB ?

    --------------------------------------------------

    La version Windows de gawk (version GNU de awk) est disponible sur http://gnuwin32.sourceforge.net/ à cette adresse exacte : http://gnuwin32.sourceforge.net/downlinks/gawk-bin-zip.php


  • bonjour,
    à l'attention de zeb,
    la discution est un peu lointaine mais je voudrai savoir si cela est difficile pour un débutant d'apprendre awk ?
    merci
    paris17
    Expert Programmation

    Salut,

    Oui, c'est très très dur.
    C'est à base d'expressions régulières, un "truc" qui fait peur à n'importe quel débutant.

    Les commandes grep, sed et le langage perl, du monde UNIX en font eux aussi un grand usage.
    Les développeurs PHP efficaces les utilisent dans les fonctions preg_*

    Si tu es à l'aise avec l'un d'eux, ça deviendra très facile.

    En fait, le plus difficile est de s'y mettre. La puissance phénoménale des expressions régulières justifie largement cet effort pourvu qu'on ait l'occasion d'en avoir besoin.

    Mais attention, une fois qu'on a compris, on ne sait plus s'en passer
    ;) 
    zeb a édité ce message
    Lassé par la pub ? Créez un compte