passage word à excel

  • Initiateur de la discussion kamilouch
  • Date de début
K

kamilouch

Guest
bonjour, voila j'explique mon problème:

j'ai une centaine de lettres au format Word. Je dois récupérer des infos se trouvant sur ces lettres (nom de la société, adresse, ...) et les réunir dans un unique tableau Excel.
Je suis un débutant et je n'ai pas d'idées!
comment puis je faire ?
merci
 

Maxoverfred

XLDnaute Occasionnel
Perso, je mettrais tous mes documents dans un folder, je les scannes un à un via un process et j'extrait les champs qu'ils me faut, car je vois mal rajouter les signets dans la centaine de documents.
Tu pourrais nous donner un exemple de document, en rendant anonyme les valeurs qui le doivent..

As tu déjà essayer d'importer 'brutos' le document en excel et voir ce qu'il donne ? si cela tombe, tu les importes tous et si ils ont le même layout, tu n'as plus qu'à passer toutes des feuilles de ton classer en revue en prenant les bonnes réferences des cellules..
 

Maxoverfred

XLDnaute Occasionnel
kamilouch écrit:
non j'ai essayé ça ne marche pas.
parcontre serait il possible de rassembler toutes mes lettres dans un seul document texte, puis avec une macro sur excel récupérer les infos?

Comme dit plus haut la difficulté n'est pas vraiment le nombre mais les moyens a disp pour retrouver l'info, ce qu'il manque ce sont les signets pour retrouver la bonne info au bon endroit...
si on avait un signet addresse, c'est alors assez simple de parcourir tous les documents un à un via une boucle et de mettre cette info dans un cellulle.
Est ce quelque chose qui va être récurrent? ou est ce juste une seule fois.. cela jouera aussi sur le tps que tu pourras y consacrer..
et un exemple...
 

chris

XLDnaute Barbatruc
Bonjour
Si la ligne d'adresse commence toujours au même endroit : par exemple c'est le 1er ou le 3ème paragraphe et est toujours constitué du même nombre de paragraphe, tu peux faire une macro dans Word (ou depuis Excel) pour copier les paragraphes concernés dans un tableau Word ou Excel.
Commence par ouvrir un nouveau document puis
mets l'enregisteur macro en route,
ouvre une lettre
positionne toi en haut (CTRL home),
utilise les flèches pour descendre sur la 1ère ligne d'adresse,
puis CTRL shift Fin pour sélectionner cette ligne
puis copier,
puis coller dans le nouveau document et retour à la lettre
puis utiliser flèche bas et CTRL home, CRTL fin pour sélectionner la ligne suivante et refaire un copier coller...
termine par Fermer la lettre sans l'engistrer

Quand tu as fini tu arrêtes l'enregistrement : tu auras d'une part à revoir la partie collage pour le coller dans une feuille excel et d'autre part à inclure ce code dans une boucle qui le fera un par un sur tous les documents d'un répertoire.
Mais cela te donne le code de base Word.

S'il y a la moindre différence de présentation, il faudra autant de cas que de groupe de présentation.
 

chris

XLDnaute Barbatruc
RE
Durdur si tu ne connais pas le VBA.

Il faudrait mettre le code obtenu dans Word ici et si un des VBistes du forum peut te l'habiller ...

Demain je ne pourrais sans doute pas me connecter.

Si personne n'a repris le flambeau j'essaierai mercredi.

@+
 
K

kamilouch

Guest
Code:
Sub recup()
'
' recup Macro
' Macro enregistrée le 08/08/2005 par kamal
'
    Documents.Open FileName:='Elka.doc', ConfirmConversions:=False, ReadOnly:= _
        False, AddToRecentFiles:=False, PasswordDocument:='', PasswordTemplate:= _
        '', Revert:=False, WritePasswordDocument:='', WritePasswordTemplate:='', _
        Format:=wdOpenFormatAuto, XMLTransform:=''
    Selection.MoveDown Unit:=wdLine, Count:=3
    Selection.MoveRight Unit:=wdCharacter, Count:=8
    Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend
    Selection.Copy
    Windows('Document2').Activate
    Windows('Elka').Activate
    Selection.PasteAndFormat (wdPasteDefault)
    Selection.MoveDown Unit:=wdLine, Count:=13
    Selection.MoveRight Unit:=wdCharacter, Count:=2
    Selection.MoveRight Unit:=wdWord, Count:=6, Extend:=wdExtend
    Selection.Copy
    Windows('Document2').Activate
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.PasteAndFormat (wdPasteDefault)
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Windows('Elka').Activate
    Selection.MoveDown Unit:=wdLine, Count:=3
    Selection.MoveRight Unit:=wdWord, Count:=4, Extend:=wdExtend
    Selection.Copy
    Windows('Document2').Activate
    Selection.Paste
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Windows('Elka').Activate
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=23, Extend:=wdExtend
    Selection.Copy
    Windows('Document2').Activate
    Selection.PasteAndFormat (wdPasteDefault)
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Windows('Elka').Activate
    Selection.MoveRight Unit:=wdCharacter, Count:=13
    Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend
    Selection.Copy
    Windows('Document2').Activate
    Selection.Paste
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Windows('Elka').Activate
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.MoveRight Unit:=wdWord, Count:=6, Extend:=wdExtend
    Selection.Copy
    Windows('Document2').Activate
    Selection.Paste
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Windows('Elka').Activate
    Selection.MoveRight Unit:=wdCharacter, Count:=2
    Selection.MoveRight Unit:=wdWord, Count:=11, Extend:=wdExtend
    Selection.Copy
    Windows('Document2').Activate
    Selection.Paste
    Windows('Elka').Activate
    Windows('Document2').Activate
    Windows('Elka').Activate
    ActiveWindow.Close
End Sub
 

chris

XLDnaute Barbatruc
Re
Bizzare ton code :
- tu as des mots à gauche de l'adresse sur les lignes d'adresse ?
- tes lignes d'adresses sont espacées par des lignes vides ?

Tu as des déplacements caractères ou mots alors qu'en utilisant les raccourcis clavier que je t'ai indiqués tu devrais avoir quelque chose de plus global de niveau ligne.
Si tu descends à un niveau découpage en dessous de la ligne cela ne sera pas applicable à tous les cas.

Peux-tu vérifier
 

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 978
Membres
103 996
dernier inscrit
KB4175