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.
|