Bonjour à tous !
Je me présente, je m'appelle Irina et je suis nouvelle sur ce forum.
Celui-ci est très complet et j'ai pu en parti résoudre mon problème mais pas complètement.
Je souhaiterai pouvoir importer plusieurs tableaux d'un fichier word dans mon fichier Excel et que ceux-ci se collent les uns sous les autres (avec une cellule d'espacement entre chaque)
J'ai trouvé sur ce forum un code VBA qui marche très bien sauf qu'il ne m'importe qu'un seul tableau à la fois suivant l'index indiqué dans le code :
Sub transfer()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim Fichier As String
Fichier = Application.GetOpenFilename("Text Files (*.doc*), *.doc*")
Set WordApp = CreateObject("Word.Application") 'creation session Word
WordApp.Visible = False 'pour que word reste masqué pendant l'opération
Set WordDoc = WordApp.Documents.Open(Fichier) 'ouverture du fichier Word
WordDoc.Tables(2).Range.Copy 'copie du tableau Word
'dans Word chaque tableau est indexé
'ici l'index est à 2 car le premier index correspond au cadre autour du titre du
'document Word
Range("A1").Select
ActiveSheet.Paste 'collage des données dans Excel
WordDoc.Close False 'ferme le document Word sans sauvegarde
WordApp.Quit 'ferme l'application Word
End Sub
Mais voilà, dans mon cas je souhaiterai que la macro importe tous les tableaux dont la première case (en haut à gauche donc) commence par "Index"
Je ne suis pas très douée en VBA, je m'y mets tout juste, quelqu'un aurait-il une idée ou une piste...
Merci à Tous !!!
Irina
Je me présente, je m'appelle Irina et je suis nouvelle sur ce forum.
Celui-ci est très complet et j'ai pu en parti résoudre mon problème mais pas complètement.
Je souhaiterai pouvoir importer plusieurs tableaux d'un fichier word dans mon fichier Excel et que ceux-ci se collent les uns sous les autres (avec une cellule d'espacement entre chaque)
J'ai trouvé sur ce forum un code VBA qui marche très bien sauf qu'il ne m'importe qu'un seul tableau à la fois suivant l'index indiqué dans le code :
Sub transfer()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim Fichier As String
Fichier = Application.GetOpenFilename("Text Files (*.doc*), *.doc*")
Set WordApp = CreateObject("Word.Application") 'creation session Word
WordApp.Visible = False 'pour que word reste masqué pendant l'opération
Set WordDoc = WordApp.Documents.Open(Fichier) 'ouverture du fichier Word
WordDoc.Tables(2).Range.Copy 'copie du tableau Word
'dans Word chaque tableau est indexé
'ici l'index est à 2 car le premier index correspond au cadre autour du titre du
'document Word
Range("A1").Select
ActiveSheet.Paste 'collage des données dans Excel
WordDoc.Close False 'ferme le document Word sans sauvegarde
WordApp.Quit 'ferme l'application Word
End Sub
Mais voilà, dans mon cas je souhaiterai que la macro importe tous les tableaux dont la première case (en haut à gauche donc) commence par "Index"
Je ne suis pas très douée en VBA, je m'y mets tout juste, quelqu'un aurait-il une idée ou une piste...
Merci à Tous !!!
Irina