lejib94
Messages postés3Date d'inscriptionsamedi 13 juin 2009StatutMembreDernière intervention14 avril 2011
-
14 mars 2011 à 11:58
lejib94
Messages postés3Date d'inscriptionsamedi 13 juin 2009StatutMembreDernière intervention14 avril 2011
-
14 mars 2011 à 15:12
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.
cs_loulou69
Messages postés672Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 2 juin 20161 14 mars 2011 à 12:27
Bonjour
Les valeurs pour "nom" et "prénom" sont derrière le caractère : sur la meme ligne
Les valeurs pour "date, "hobbies", "projet" et "piece jointe sont systématiquement sur la ligne suivante
Je ne vais traiter ton problème que pour le document courant (ActiveDocument) et pour le premier champ à récuperer (nom)
Pour parcourir un document utilises la collection des paragraphes (en effet chaque ligne séparée par un saut de ligne est un paragraphe)
Dim para As Paragraph
Dim i As Integer
Dim y As Integer
i = 1
For Each para In ActiveDocument.Paragraphs
para.Range.Select
If Selection.Words(1)="Nom" and Selection.Words(2)=":" then
i=i+1
ActiveSheet.Cells(i,1).Value= Selection.Words(3)
End If
....
Next para
lejib94
Messages postés3Date d'inscriptionsamedi 13 juin 2009StatutMembreDernière intervention14 avril 2011 14 mars 2011 à 15:12
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....