Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/08/2007, 22h46   #1
Invité de passage
 
Inscription : août 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 2
Points : 0
Points : 0
Par défaut Conversion d'un tableau en HTML

Bonjour à tous

J'ai un petit souci, j'ai passé toute la demi-journée à essayer de trouver une solution mais nada, alors je m'en remet à vous

Je dois extraire du texte d'un fichier word (de 240 pages), pour insertion dans une base de donnée, avec comme but final l'affichage web.
Pour ça je développe une macro qui extrait le texte, qui sauve les images, et qui extrait les tableaux

J'ai justement un probleme pour les tableaux : j'aimerai les mettre directement dans ma base de donnée en format html (<table>...</table>), mais j'ai dans mon word des tableaux avec des cellules qui sont étendues sur plusieurs colonnes ou sur plusieurs lignes... ça se traduit très bien en code html (rowspan et colspan), mais je bloque pour le faire de façon automatique... quand je boucle sur les lignes ou sur les colonnes, Word me renvoit une erreur comme quoi les cellules sont regroupées donc le parcours ligne par ligne ou colonne par colonne n'est pas possible. Et quand je boucle sur les cellules, il me compte la cellule "étendue" comme une unique cellule, donc ça devient un véritable casse-tête d'essayer de deviner où faire le rowspan ou le colspan (car bien sur, il y a des deux dans un meme tableau).
Je me suis aussi tournée vers d'autres solutions : la traduction automatique du texte en html via word, mais je suis pas fan, car pour un document de 2 pages il génère 3 pages de code ; ou alors transformer mon tableau en image (ça peut s'adapter à mon cas et s'il n'y a vraiment pas d'autre solution je me rabattrai sur celle-là), mais je ne sais absolument pas comment faire.

Bref, désolée d'avoir été si longue mais jpréfère en dire trop que pas assez

... des idées ??

merci d'avance
beuhaaar.
beuhaaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 09h23   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Je pense que tu n'y arrivera pas, pour traiter les tableaux en VBA, il ne doivent pas comporter de cellules fusionnées.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h22   #3
Invité de passage
 
Inscription : août 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 2
Points : 0
Points : 0
Merci pour cette réponse rapide Oli

Bon donc j'abandonne l'idée de vouloir générer moi-même le code html du tableau

Il me reste quand même les deux options suivantes :

1. générer de façon automatique le code html (que je nettoierais par la suite)
=> existe-t-il une fonction vba permettant de transformer en code html qu'une partie du texte ? Ou vais-je devoir enregistrer tout mon document en tant que page web pour ensuite ne récupérer que les tableaux ?
(et j'ai vérfié, l'option "enregistrer en tant que page web" sait parfaitement gérer les cellules fusionnées)

2. transformer mon tableau en image
=> est-ce simple à mettre en oeuvre ? Existe-t-il des fonctions/macros/module permettant de le faire ?

Merci
beuhaaar
beuhaaar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h51   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
L'option 1 me semble possible.
L'option 2 image est à oublier ça fait bricolage.
Je pense que si dans le texte on copie ce qui se trouve entre les balises tableau, on devrait pouvoir le faire.

Via le XML aussi, si le document est sauvé en xml.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h10.


 
 
 
 
Partenaires

Hébergement Web