[Déplacé .NET -> VBA] Macro word : Extraction de tableaux dans un fichier word

Signaler
-
 baygonjaune -
Bonjour,

Je patoge un peu beaucoup dans la réalisation d'une macro word. Voici mon besoin :

J'ai une liste de fichiers word avec une liste de tableaux dedans. Tous ces tableaux ont la chaîne "ID" dedans.

Je cherche à réaliser une macro qui pour chaque document, fais une recherche sur la chaîne "ID", puis sélectionne le tableau et copie dans un nouveau fichier word vierge le tableau sélectionné.

Avez-vous des idées de code svp ?

Par avance, merci.

Loïc

4 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Bonjour,
Une "macro Word" ne risque pas d'être du :
Forum > VB.NET et VB 2005

Une section "langages dérivés < VBA" existe
Cette discussion sera probablement déplacée par un administrateur bienveillant.
En attendant : montre donc ce que tu as au moins tenté d'écrire pour y parvenir.



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Voici mon bloubiboulga de code ... Désolé, pour les puriste ... ;-)

---------------
Sub Extracteur_Exigences()


Set doc = Documents.Open("c:\CDC_rattrapage V2.0.doc")
Set Doc1 = Documents.Add(Template:="Normal")

doc.Activate

With ActiveDocument.Content.Find
.ClearFormatting
.Text = "ID"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False

Do While .Execute(Forward:=True, Format:=True) = True

If Selection.Find.Execute = True Then

Selection.Tables(1).Select

Selection.Copy
Doc1.Activate
Selection.PasteAndFormat (wdPasteDefault)
Selection.TypeParagraph
Selection.TypeParagraph
doc.Activate

Selection.Find.ClearFormatting
Selection.MoveDown Unit:=wdScreen, Count:=1

Else

Exit Do

End If

Loop

End With


End Sub
---------------
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

pour ma part je ferai plutôt une recherche de tableau et pour chaque tableau je regarderai l'ID. Mais tu ne nous dit pas ou ce trouve cette ID !
Dans une cellule du tableau ?
Dans une chaine extérieur au tableau ?

A+
La chaîne "ID" est une cellule du tableau. SI je trouve la chaîne ID, alors je sélectionne tout le tableau (donc avec la cellule ID), je le copie, puis je le colle dans un document vierge. Même mode de fonctionnement pour la chaîne suivante "ID".

a+