Conversion de tableau WORD vers EXCEL

P

Philippe

Guest
Bonjour.

Je cherche à savoir s'il existe un moyen de convertir un tableau de données WORD vers un tableau EXCEL sans être obligé de mettre en forme préalablement chaque cellule (exemple : les retours à la ligne WORD dans une cellule d'un tableau qui génèrent autant de cellules supplémentaires en copier / coller dans EXCEL).

Merci d'avance.
 
P

Philippe

Guest
J'ai essayé, mais impossible de convertir une cellule contenant un 'retour ligne' dans WORD en une seule cellule dans EXCEL : selon les choix faits (texte ou texte unicode) on obtient différentes dissociations des cellules concernées, mais jamais la mise en forme d'origine.

Si tu as d'autres solutions, je suis preneur. Merci d'avance.
 
P

PP

Guest
Bonsoir Philippe, bonsoir à tous

Peux-tu essayer le code suivant:
Sub Importe_Tableaux()

Dim xlApp As Object
Dim MyWD As Object
Dim i, j, k As Integer

Set xlApp = CreateObject('word.application')
Set MyWD = GetObject('le chemin du fichier .doc')
MyWD.Application.Visible = True
With MyWD.Application.ActiveDocument
For j = 1 To .Tables.Count
Sheets(j).Select
For k = 1 To .Tables(j).Columns.Count
For i = 1 To .Tables(j).Rows.Count
Cells(i, k).Select
ActiveCell.FormulaR1C1 = .Tables(j).Cell(i, k).Range.Text
Next i
Next k
Next j
End With

MyWD.Close
Set MyWD = Nothing
xlApp.Quit
Set xlApp = Nothing

End Sub

Tes différents tableaux seront affichés dans des feuilles différentes: veille à ce que ton fichier excel contienne le nombre de feuille nécessaire.
Il te faudra peut-être te débarasser de caractères non pris en compte par excel (par ex. des caractères qui ont pour code 7 ou 13 etc..)

Bonne nuit
:)
 
P

PP

Guest
Désolé, j'ai oublié de préciser que la référence Microsoft Word doit être sélectionnée.
Pour cela, dans la fenêtre Microsoft Basic, aller dans Outils puis Références, cocher la ligne Microsoft Word xx Object Library.

Bon courage
 

MichelXld

XLDnaute Barbatruc
bonjour Philippe , Abel et PP

ci joint une autre version en complément de la reponse de PP
cet exemple importe vers Excel les données du premier tableau dans le document Word 'C:\\monFichier.doc' ( qui est déja ouvert)


Sub importerValeursTableWord_VersExcel()
Dim wordDoc As Object
Dim i As Integer, j As Integer
Dim Cible As Variant

Set wordDoc = GetObject('C:\\monFichier.doc')
For i = 1 To wordDoc.Tables(1).Rows.Count
For j = 1 To wordDoc.Tables(1).Columns.Count
Cible = wordDoc.Tables(1).Columns(j).Cells(i)

Sheets(1).Cells(i, j) = _
Application.WorksheetFunction.Substitute(Cible, vbCr, vbLf)
Sheets(1).Cells(i, j) = _
Left(Sheets(1).Cells(i, j), Len(Sheets(1).Cells(i, j)) - 1)
Next j
Next i
End Sub



bonne journée
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 848
Membres
103 974
dernier inscrit
chmikha