OVH Cloud OVH Cloud

Importer document word dans excel

5 réponses
Avatar
nicolasroth
Bonjour,
J'ai le pbl=E8me suivant: je souhaite importer le contenu d'un document
word (tr=E8s simple: que du texte, 1 seule page) dans une page excel,
id=E9alement dans un objet genre textbox.
J'ai la premi=E8r partie du code en VB qui ouvre le document word,
s=E9lectionne tout le texte et le copie. Mais ensuite, je ne sais pas
comment faire pour le mettre dans un objet style textbox. J'arrive
tr=E8s bien =E0 le coller tout betement sur la whseet, mais pas ailleurs.

Merci d'avance!!
Nicolas

5 réponses

Avatar
Elliac
Bonjour Nicolas,

Sub Macro1()
'après avoir sélectionné ton texte dans Word et sans le copier
a = Selection
'collera le texte sélectionné dans la Text Box1 --> à adapter
ActiveSheet.Shapes("Text Box 1").Select
Selection.Characters.Text = a
Range("A1").Select
End Sub

Camille

"" wrote:

Bonjour,
J'ai le pblème suivant: je souhaite importer le contenu d'un document
word (très simple: que du texte, 1 seule page) dans une page excel,
idéalement dans un objet genre textbox.
J'ai la premièr partie du code en VB qui ouvre le document word,
sélectionne tout le texte et le copie. Mais ensuite, je ne sais pas
comment faire pour le mettre dans un objet style textbox. J'arrive
très bien à le coller tout betement sur la whseet, mais pas ailleurs.

Merci d'avance!!
Nicolas




Avatar
nicolasroth
Merci pour la réponse Camille.
en fait je ne sais pas non plus comment définir la variable "a" qui
stockera le texte.
ce que j'ai chez moi c'est:
with AppWd
.selection.wholestory
.selection.copy
end with
comment dois-je initialiser la variable "a"?
re-merci!!
Nicolas
Avatar
Elliac
Rebonjour,

Ce bout de code sélectionne tout le texte dans ton document
with AppWd
.selection.wholestory
end with
Ici la variable a contiendra tout le texte sélectionné
a=selection

Camille

"" wrote:

Merci pour la réponse Camille.
en fait je ne sais pas non plus comment définir la variable "a" qui
stockera le texte.
ce que j'ai chez moi c'est:
with AppWd
..selection.wholestory
..selection.copy
end with
comment dois-je initialiser la variable "a"?
re-merci!!
Nicolas




Avatar
nicolasroth
ben en fait j'avais trouvé la réponse tout seul... mais il s'est
passé un truc super bizarre (en fait 2 trucs bizarre).
Le premier: en mettant le texte, il met des carrés au lieu des espaces
et des doubles carrés au lieu de sauts de ligne. COmment faire pour
garder le formattage (le format du texte est vraiment basique, rien
d'exotique).
deuxième chose bizarre: j'ai réussi à mettre le texte dans ma
textbox une seule fois... après ca, VB execute le code sans
problèmes, mais rien ne se passe dans la txtbox... pour info, je mets
le code:

Dim wdDoc As Word.Document
Dim AppWord As Word.Application



Set AppWord = New Word.Application

AppWord.ShowMe
AppWord.Visible = True

Set wdDoc = AppWord.Documents.Open("c:helloworld.doc",
ReadOnly:úlse)

With AppWord
.Selection.WholeStory
myTxt = .Selection
End With

Windows("wordtest.xls").Activate
Sheets("Sheet1").Activate

ActiveSheet.Shapes("Text Box 1").Select
Selection.Characters.Text = myTxt


AppWord.Application.Quit

a bientôt,
Nicolas
Avatar
Nicolas Roth
en fait il faut utiliser "textframe",

ActiveSheet.Shapes("textbox1").TextFrame.Characters.Text = myTxt

et ca marche!
mais ca ne conserve pas le format du texte...