Piloter word depuis excel

Résolu/Fermé
mimi - 5 janv. 2005 à 10:23
 raphal78 - 3 sept. 2007 à 15:44
Bonjour,

je suis bloquée depuis plusieurs jours sur un problème.
j'ai besoin de piloter Word à partir des macro VBA d'Excel pour ouvrir un fichier existant, le parcourir jusqu'à trouver la fin, puis y copier des plages de cellules d'un fichier excel.
voici mon code:


Open "C:\testWord.doc" For Input As #1
Do While Not EOF(1)
AppWord.Selection.MoveDown Count:=1
Loop

or ça ne marche pas. il ne trouve pas la fin du fichier. lorsque j'observe le fichier après l'exécution du code, je vois que la boucle n'est pas terminée et qu'il cherche toujours la fin du fichier.
Je ne comprends pas ce qu'il se passe.
Est ce que quelqu'un pourrait m'aider?
merci...
A voir également:

7 réponses

Salut mimi,
je crois que votre pblème vien du nom de fichier
do while not.eof(1) c'est quoi 1?
un nom de fichier ne peut pas être un numéro.
BONNE cHANCE
MERCI
1
lorsque j'utilise la méthode EOF il me demande un int en argument qui correspond au numéro de fichier. J'ai donc attribué à mon fichier le numéro 1 pour l'utiliser ensuite comme ça.
c'est une méthode que j'ai vu sur plusieurs codes que j'ai trouvés sur internet.
si tu connais une autre façon d'écrire ça est ce que tu peux m'aider parce que je trouve plus quoi faire...
merci
0
salut,
sub essai()
dim dbs as database, rst as DAO.recordset
set dbs = currentdb
set rst=dbs.openrecordset("<nom de la table>")
do while not rst.eof
instructions
loop
end sub
Bonne chance.MERCI
0
Salut !
Je suis en galère sur un point assez précis, pourrais tu m'aider ?

Je cherche à parcourir un fichier word à la recherche d'une expression particuliere type {cke:*} ( la découverte de cette expression lancera un traitement..).

As tu une idée ??? Merci d'avance ! ;-)

hugo
0
Salut,

je n'ai jamais eu à faire ce qui te pose problème mais voila ce que j'ai trouvé:

1/ L'exemple suivant montre comment rechercher toutes les occurrences du mot « salut » dans le document actif et les remplacer par « bonjour ».

Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="salut", ReplaceWith:="bonjour", _
Replace:=wdReplaceAll

2/ L'exemple suivant montre comment localiser la première occurrence du mot « bleu » dans le document actif. Si ce mot est trouvé dans le document, myRange est redéfini et la mise en forme gras est appliquée au mot « bleu ».»

Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="bleu", Forward:=True
If myRange.Find.Found = True Then myRange.Bold = True



j'espère que ça pourra t'aider...

bonne chance!
0
bonjour,

c'est pas exactement ce que j'essayais de faire. Je voulais lire un fichier pas une base de données. Mais c'est bon j'ai réussi à faire ce que je voulais hier.
Merci beaucoup pour ton aide en tout cas.
0
Salut,

Je souhaite ouvrir un fichier word existant et copier dans ce dernier
des lignes en fin de fichier puis les coller sous excel..
Peut tu me donnner le bout de programme que tu as utilisé
merci d avance
0
salut,

voila des bouts de mon code j'espère que ça t'aidera

ouvre ton doc word
Dim appword As Word.Application
Set appword = New Word.Application
Application.DisplayAlerts = True
appword.ShowMe
appword.Visible = True
appword.Documents.Open FileName:="fichierAouvrir"

va en fin de fichier
appword.Selection.EndKey Unit:=wdStory

selectionne les 3 dernieres lignes
appword.Selection.MoveUp Unit:=wdLine, Count:=3, Extend:=wdExtend
With appword.Selection.Copy
End With

copie ds excel
Worksheets("NomPageExcel").Activate
range("a1").PasteSpecial



voila! bonne chance!
0
Merci!!
Je suis parvenu a faire ce que je voulais mais merci qd meme
@++
0
Salut,
BRAVO :)
Bonne chance.
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
salut ça va toi m
0
Bonjour,

J'aimerais copier une cellule d'excel dans l'ENTETE d'un fichier Word comment faire ?
Je sais copier dans le corps du document Word :
doc_word.Selection.Paste
Mais je ne sais pas comment faire pour l'entête....

Merci
sab
0
salut!

tu peux retrouver ce genre d'instruction à partir des macros de word. tu fais outils macro nouvelle macro et ça va t'enregistrer tout ce que tu fais après ça. alors si tu ouvres un entête et que tu copies qqch dedans tu verras le code qui s'affiche dans la macro en faisant macro modifier.

j'ai essayé ce que tu as demandé et je trouve ça. essaye le et si ça marche pas fais comme je t'ai dit. voila ma macro:

If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.PasteAndFormat (wdPasteDefault)

bonne chance!
0
brunoooooo Messages postés 11 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 29 juin 2007
29 juin 2007 à 15:57
tout le monde seche sur mon sujet,

je vous explique ...


on a une super application excel qui fait plein de chose, imprime, enregistre, fait des traitement de rappro, genere des mails ... et le pb se pose lorsqu'on utilise un copier en metafichier de excel pour l application word ( tout etant piloter par excel ) le pb c'est que l'image metafichier wondows simple est nikel mail lors de la generation de word, gestion de l autre application à partir d excel, l image est trop importante, il suffirait de la reduire au niveau taille et de virer les marges par defaut du nouveau document word qui sont trop importante,
Il est assez simple à partir de word, mais juska present impossible en pilotant excel et en gérant l'application word,

Le top se serait de reduire le coller qui atterit sur word à 80% et mettre des marge de 1 de partourt sur word,

deja pouvez vous me dire si on est tous a se prendre la tete sur un truc impossible ?

Je vous remercie de ton aide et suggestion,

cf echantillon de la macro qui copie la préconfirmation de traitement de deal sur une feuille excel, utilise l application word pour coller en metafichier ...mais la mise en page ca passe pas ( reduction taille image, et gestion des marge word =toujours à partir d excel

J espere que j ai ete assez precis, concret ...

Merci,

Bruno,



Sheets("confirm" ).Select

Range("a1:J93" ).Copy

'Sheets("collar" ).Select


Set WW = CreateObject("word.application" )
WW.Visible = True
WW.documents.Add
'''' mise en page word
'WW.Selection.Paste Special
'celle que j utilise maintenant

WW.Selection.PasteSpecial DataType:=wdPasteMetafilePicture


End Sub
-1
Bonjour Bruno,

As-tu résolu ton PB de copie de métafichier depuis excel vers word?
Si oui je suis preneur de ta solution car j'ai le même soucis;
Après copie spéciale en métafichier mon graphique qui vient de word est tout petit??

D'avance merci pour ta réponse.

Cdlt Rafal78
0