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

  • Auteur de la discussion Membre supprimé 1
  • Date de début
M

Membre supprimé 1

Invité
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 !!!
 

zeb

Modérateur
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
Code:
# // programme awk pour parser les données des fichiers 6000 html //
BEGIN { P=0 }
/Statut social : / { P=1 }
{ if (P==1) { X=$0 ; sub(".* : ", "", X) ; printf "%s;", X }} 
/Site web : / { P=0 ; print "" }

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

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 :
 

paris17

Nouveau membre


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
 

zeb

Modérateur
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
;)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 845
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut