France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
22 749 membres enregistrés - 1 888 015 posts - 96 578 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Langages Web
                Importer et Formater un tableau HTML pour Excel
20 connectés(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
Importer et Formater un tableau HTML pour Excel

kloporte
(¯`·.__[T3aM.BouL3T©]__.·´¯) Klostrophobe.

Messages : 4 265
Inscrit le 22/05/02
Ville : Grenoble
Non connecté
  Posté le 19 mai 2007 - 07 h 29 m 41 s
Bonjour à tous,
j'ai un tableau HTML qui répète ce bloc :
Nom
Adresse
Ville, Etat CP

Et je voudrais le transférer dans un fichier excel avec une colonne pour chaque composant, ie :
Nom | Adresse | Ville | Etat | CP

Je n'ai pas trouvé de moyen plus simple que de le copier dans un fichier texte, d'essayer de mettre chaque bloc sur une seule ligne en séparant les entités avec beaucoup d'espaces puis d'utiliser l'assistant excel pour importer le tout.
Et malheureusement je n'arrive pas à programmer le fichier bat qui marche, ça plante tout le temps, j'en peux plus. Quelqu'un aurait une idée de code ?
Ou quelqu'un aurait une idée plus simple pour importer ça dans excel ???



Quand une pierre tombe sur un oeuf, malheur à l\'oeuf.
Quand un oeuf tombe sur une pierre, malheur à l\'oeuf.


defrance
PI-nary rules

Messages : 709
Inscrit le 05/09/03
Ville : Lyon
Non connecté
  Posté le 19 mai 2007 - 08 h 56 m 11 s
une astuce est de créer un fichier texte en séparant les colonnes avec des tabulations puis de renomer le fichier en .xls
Excel étant malin il fait la transformation automatiquement.
Par contre je te conseillerai d'utiliser plutot du vbs que du bat, plus performant. D'ailleurs avec vbs tu peux meme "piloter" excel pour l'alimenter



La connerie c'est la décontraction de l'esprit, c'est pour cela que de temps en temps je m'autorise à faire le con.
Serge Gainsbourg


kloporte
(¯`·.__[T3aM.BouL3T©]__.·´¯) Klostrophobe.

Messages : 4 265
Inscrit le 22/05/02
Ville : Grenoble
Non connecté
  Posté le 19 mai 2007 - 14 h 59 m 10 s
je veux bien, mais je n'ai jamais programmé en vb. Pourrais-tu me donner une idée du code qu'il faudrait que je place ? Je bidouillerai pour finaliser.
En batch, l'idée serait


set ch=
set compteur=0
for /f %%a in (adresses.txt) do(
REM réinitialise les variables et écrit le "bloc" formaté dans le fichier final
if compteur==3 do(
echo %ch%>>adresses_final.txt
set compteur=0
set ch=
)
REM on concatène chaque ligne dans une chaine en les séparant par bcp d'espaces
if ch<3 do(
set ch=%ch% %%a
set compteur+=1
)
)

biensûr, ce code ne marche pas sinon ça serait trop beau..........



Quand une pierre tombe sur un oeuf, malheur à l\'oeuf.
Quand un oeuf tombe sur une pierre, malheur à l\'oeuf.


defrance
PI-nary rules

Messages : 709
Inscrit le 05/09/03
Ville : Lyon
Non connecté
  Posté le 20 mai 2007 - 00 h 45 m 29 s
t'as de la chance qu'il n'y a rien ce soir à la TV:

on va partir d'un fichier en html simple


<table>
<tr><td>Nom1</td><td>Adresse</td><td>Ville</td><td>Etat</td><td>CP</td></tr>
<tr><td>Nom2</td><td>Adresse</td><td>Ville</td><td>Etat</td><td>CP</td></tr>
<tr><td>Nom3</td><td>Adresse</td><td>Ville</td><td>Etat</td><td>CP</td></tr>
<tr><td>Nom4</td><td>Adresse</td><td>Ville</td><td>Etat</td><td>CP</td></tr>
</table>


et le petit prog en vbs qui fait le travail


szFileHTML = "./fichierIn.html"
szFileXLS = "./fichierout.xls"

'ouverture de l'objet de gestion de fichier
Set obj=CreateObject("Scripting.FileSystemObject")

'ouverture, lecture et fermeture du fichier html
Set TxtFileHTML = obj.OpenTextFile(szFileHTML , 1)
szTampon=TxtFileHTML.readAll
TxtFileHTML.close

' on vire ce qui ne sert à rien (on peut faire plus virile avec des regexp)
szTampon=replace(szTampon, "<table>","")
szTampon=replace(szTampon, "</table>","")
szTampon=replace(szTampon, "<tr><td>","")
szTampon=replace(szTampon, "</td></tr>","")

'on change la séparation entre cellule par une tabulation
szTampon=replace(szTampon, "</td><td>",vbtab)

'ouverture, écriture et fermeture du fichier xls
obj.CreateTextFile szFileXLS, True
set TxtFileXLS =obj.GetFile(szFileXLS )
Set TxtFileWrtXLS=TxtFileXLS.openAsTextStream(8)
TxtFileWrtXLS.write(szTampon)
TxtFileWrtXLS.close


Pour le reste, il y a pas mal de tuto sur le web : google est ton meilleur ami



La connerie c'est la décontraction de l'esprit, c'est pour cela que de temps en temps je m'autorise à faire le con.
Serge Gainsbourg


kloporte
(¯`·.__[T3aM.BouL3T©]__.·´¯) Klostrophobe.

Messages : 4 265
Inscrit le 22/05/02
Ville : Grenoble
Non connecté
  Posté le 20 mai 2007 - 02 h 39 m 03 s
merci, j'vais regarder tout ça !
Si quelqu'un voit ce qui ne marche visiblement pas dans mon code batch, hésitez pas !



Quand une pierre tombe sur un oeuf, malheur à l\'oeuf.
Quand un oeuf tombe sur une pierre, malheur à l\'oeuf.


Page genérée en 0.3116 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory