OVH Cloud OVH Cloud

Syntaxe pour liaison Excel/Word

3 réponses
Avatar
Herdet
Bonsoir à tous,
J'ai un petit pb de syntaxe en VBA entre Excel et Word pour 2 procédures :
1) Dans un fichier Word, je voudrais par VBA insérer au signet "Signet09"
une plage Excel nommée "TableauA" définie dans le fichier "FicSource.xls"
Bien que cela soit en partie hors sujet Excel, si quelqu'un à une idée, je
suis preneur.

2) qu'elle est la syntaxe pour exécuter une macro "Copie09" du module
"Utilitaires" du classeur "SourceExcel.xls" à partir d'un autre classeur ?
cela doit un peu ressembler à
Execute("[SourceExcel.xls]!Utilitaires.Copie09") ou
Execute("[SourceExcel.xls].Utilitaires!Copie09")

Merci pour votre aide
Robert

3 réponses

Avatar
jps
bonsoir robert
j'ai le sentiment que tu en ch... j'en suis bien heureux...
pour la 1),je passe à la demande de philippe T qui n'est pas de bruxelles...
pour la 2), peut-être :

Application.Run ("nom du classeur!nomdela macro")

HTH

jps



"Herdet" a écrit dans le message de
news:uYK8G6%
Bonsoir à tous,
J'ai un petit pb de syntaxe en VBA entre Excel et Word pour 2 procédures :
1) Dans un fichier Word, je voudrais par VBA insérer au signet "Signet09"
une plage Excel nommée "TableauA" définie dans le fichier "FicSource.xls"
Bien que cela soit en partie hors sujet Excel, si quelqu'un à une idée, je
suis preneur.

2) qu'elle est la syntaxe pour exécuter une macro "Copie09" du module
"Utilitaires" du classeur "SourceExcel.xls" à partir d'un autre classeur ?
cela doit un peu ressembler à
Execute("[SourceExcel.xls]!Utilitaires.Copie09") ou
Execute("[SourceExcel.xls].Utilitaires!Copie09")

Merci pour votre aide
Robert




Avatar
Herdet
Rien que pour t'embêter mon cher JPS,
Pour la question 1) je cherche et j'attends une aide
Pour la question 2) encore un peu de patience
Sinon cà marche bien avec la proc Importation_de_blocs ci-dessous laquelle
de Word lance une macro Excel qui copie une plage et l'importe dans un
signet du document Word actif (c'est justement ce que je voudrais remplacer
par une lecture directe de plage Excel)
Est-tu épaté ?
Amitiés
Robert
-------------------------------------------------------
Sub Importation_de_blocs()
Dim lngChannel As Long
ThisDocument.Activate
SourceExcel = "NFO-Selection des blocs.xls"
lngChannel = DDEInitiate(App:="Excel", Topic:="System")
SrcXlMacro = "'" & SourceExcel & "!Utilitaires.Copie_Equip_09"
DDEExecute Channel:=lngChannel, Command:="[Run(" & Chr(34) &
SrcXlMacro & Chr(34) & ")]"
DDETerminate Channel:=lngChannel

Selection.GoTo What:=wdGoToBookmark, Name:="Signet_TEST"
Selection.Find.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.PasteAndFormat (wdPasteDefault)

End Sub
"Herdet" a écrit dans le message de news:
uYK8G6%
Bonsoir à tous,
J'ai un petit pb de syntaxe en VBA entre Excel et Word pour 2 procédures :
1) Dans un fichier Word, je voudrais par VBA insérer au signet "Signet09"
une plage Excel nommée "TableauA" définie dans le fichier "FicSource.xls"
Bien que cela soit en partie hors sujet Excel, si quelqu'un à une idée, je
suis preneur.

2) qu'elle est la syntaxe pour exécuter une macro "Copie09" du module
"Utilitaires" du classeur "SourceExcel.xls" à partir d'un autre classeur ?
cela doit un peu ressembler à
Execute("[SourceExcel.xls]!Utilitaires.Copie09") ou
Execute("[SourceExcel.xls].Utilitaires!Copie09")

Merci pour votre aide
Robert




Avatar
isabelle
bonjour Herdet,

je reprends la main à philippe puisqu'il est temporairement absent,

Dim Wd As Word.Application
Set Wd = New Word.Application
With Wd
.Visible = False
.Documents.Open ("c:Mes documentsTesttest.doc")
.Selection.GoTo What:=wdGoToBookmark, Name:="SIGNET9"
.Selection.Paste

isabelle


Bonsoir à tous,
J'ai un petit pb de syntaxe en VBA entre Excel et Word pour 2 procédures :
1) Dans un fichier Word, je voudrais par VBA insérer au signet "Signet09"
une plage Excel nommée "TableauA" définie dans le fichier "FicSource.xls"
Bien que cela soit en partie hors sujet Excel, si quelqu'un à une idée, je
suis preneur.

2) qu'elle est la syntaxe pour exécuter une macro "Copie09" du module
"Utilitaires" du classeur "SourceExcel.xls" à partir d'un autre classeur ?
cela doit un peu ressembler à
Execute("[SourceExcel.xls]!Utilitaires.Copie09") ou
Execute("[SourceExcel.xls].Utilitaires!Copie09")

Merci pour votre aide
Robert