Macro VBA pour passer de word aexcel

Macro VBA pour passer de word aexcel - VB/VBA/VBS - Programmation

Marsh Posté le 14-03-2011 à 12:22:01    

Bonjour à tous,  :)  
travaillant actuellement sur la compilation de donnée Word a partir de plusieurs fichier, sous Excel, je cherche à automatiser tout cela en passant par une macro VBA, que je ne maitrise pas complétement (doux euphémisme).  
la structure de mes fichiers word est le suivant :  
 
Nom: XXXX
prénom: iozerio
 
date:
kzjzeflkj
 
hobbies:
jfozejfoi
 
projet:  
klrjflkj
 
pièce jointe:
jj
 
il s'agit donc de renseigner un tableau excel ayant pour colonne : nom - prénom-date-hobbies-projet- pièce jointe
 
Comment puis je faire?
je pensais passer par la copie de données situées entre deux chaines de caractères...mais j'ai un peu de mal a voir comment?
 
Si quelqu'un avait une ou plusieurs solution à proposer je l'en remercie d'avance. :hello:  
 
Cdt.
 
JB

Reply

Marsh Posté le 14-03-2011 à 12:22:01   

Reply

Marsh Posté le 14-03-2011 à 14:24:13    

Tes docs word sont des "docs tout cons" ou des formulaires ?


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 14-03-2011 à 14:39:24    

doc 'tout con ' a priorie pas de signet ou de champs spécifiés, avec des saut de pages entre chaque"formulaire.; je suppose d'ailleurs que certains fichiers soit des fusions de fichiers word.
 
l'idée serait de comparer des chaines de caractères du style  
tant que la chaine different de prenom copier dans cellule 1, puis si = alors tant que different de "date" copier dans cellule 2, puis si = "date" alors tant que differents de "hobbies" ...etc...

Reply

Marsh Posté le 14-03-2011 à 15:13:11    

est il possible de copier un paragraphe complet dans une cellule ?
est il alors possible de faire une concaténation si la cellule n'est pas vide (dans le cas ou j'aurais deux paragraphe ? ou bien puis directement copier coller plusieurs paragraphes dans une cellule?
 
car telle que je vois le bout de code ca donnerait quelques chose comme ceci:
 
 
<code>
Dim para As Paragraph
Dim i As Integer
Dim y As Integer
i = 1
j=2
For Each para In ActiveDocument.Paragraphs
para.Range.Select
 
If Selection.Words(1)="Nom" and Selection.Words(2)=":" then
i=i+1
next para
para.Range.Select
while Selection.Words(1)<>"prenom"
ActiveSheet.Cells(j,1).Value= para.Range.Select " on copie les données du paragrpahe dans la cellule 1 de la 1 iere colonne
 
wend
If Selection.Words(1)="prenom" and Selection.Words(2)=":" then
i=i+1
next para
para.Range.Select
while Selection.Words(1)<>"date"
ActiveSheet.Cells(j,2).Value= para.Range.Select " on copie les données du paragrpahe dans la cellule j de la 2ieme colonne
 
wend
If Selection.Words(1)="date" and Selection.Words(2)=":" then
i=i+1
next para
para.Range.Select
while Selection.Words(1)<>"hobbies"
etc....
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed