Vba : comment passer une variable de vba Excel vers vba Word ?

Le
Jac
Bonjour à tous,

dans une procédure liée à du publipostage Word commandé depuis Excel, je
calcule dans Excel le nom du fichier résultant du publipostage.

J'aimerais mémoriser ce nom dans Excel pour le passer à mon modèle Word,
dans la procédure Private Sub Document_New() afin de pouvoir enregistrer le
fichier depuis Word.

Au départ, je voulais commander l'enregistrement depuis Excel, mais pas
moyen d'y arriver. Donc je dois ma rabattre sur Word pour y arriver.

Merci d'avance à qui pourrait me mettre sur la voie.

Jac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
tissot.emmanuel
Le #4614981
Bonjour,

Dans Excel, dans un module standard:

Public VariablePourWord As String

Function RetourneVariable() As String
RetourneVariable = VariablePourWord
End Function

Dans Word: Cocher la référence à Microsoft Excel xx.y Object Library

Sub LireVariableExcel()
Dim Myxl As Excel.Application, MyBook As Excel.Workbook, Retour As
String

Set Myxl = CreateObject("Excel.Application")
Myxl.Application.Visible = False 'Utile ou pas ?
Set MyBook = Myxl.Workbooks.Open("C:.....NomClasseur.xls")'Adapter le
chemin et le nom de fichier

'Si le fichier Excel est deja ouvert utiliser remplacer les lignes
ci-dessus par
'Set Myxl = GetObject(, "Excel.Application")
'Set MyBook = Myxl.Workbooks("NomClasseur.xls")'Adapter le nom de
fichier


Retour = Myxl.Application.Run(MyBook.Name & "!" & "RetourneVariable ")
Myxl.Quit 'Ferme Excel
DoEvents

MsgBox Retour 'Recupere la variable
Set Myxl = Nothing
End Sub

C'est pas excessivement rapide, mais ca reste exploitable.

Bonne chance,

Manu/

"Jac"
Bonjour à tous,

dans une procédure liée à du publipostage Word commandé depuis Excel, je
calcule dans Excel le nom du fichier résultant du publipostage.

J'aimerais mémoriser ce nom dans Excel pour le passer à mon modèle Word,
dans la procédure Private Sub Document_New() afin de pouvoir enregistrer
le fichier depuis Word.

Au départ, je voulais commander l'enregistrement depuis Excel, mais pas
moyen d'y arriver. Donc je dois ma rabattre sur Word pour y arriver.

Merci d'avance à qui pourrait me mettre sur la voie.

Jac




Jac
Le #4899451
Bonjour Emmanuel,

merci de t'être penché sur mon problème.
Je teste et j'adapte...

"tissot.emmanuel" %
Bonjour,

Dans Excel, dans un module standard:

Public VariablePourWord As String

Function RetourneVariable() As String
RetourneVariable = VariablePourWord
End Function

Dans Word: Cocher la référence à Microsoft Excel xx.y Object Library

Sub LireVariableExcel()
Dim Myxl As Excel.Application, MyBook As Excel.Workbook, Retour As
String

Set Myxl = CreateObject("Excel.Application")
Myxl.Application.Visible = False 'Utile ou pas ?
Set MyBook = Myxl.Workbooks.Open("C:.....NomClasseur.xls")'Adapter le
chemin et le nom de fichier

'Si le fichier Excel est deja ouvert utiliser remplacer les lignes
ci-dessus par
'Set Myxl = GetObject(, "Excel.Application")
'Set MyBook = Myxl.Workbooks("NomClasseur.xls")'Adapter le nom de
fichier


Retour = Myxl.Application.Run(MyBook.Name & "!" & "RetourneVariable ")
Myxl.Quit 'Ferme Excel
DoEvents

MsgBox Retour 'Recupere la variable
Set Myxl = Nothing
End Sub

C'est pas excessivement rapide, mais ca reste exploitable.

Bonne chance,

Manu/

"Jac"
Bonjour à tous,

dans une procédure liée à du publipostage Word commandé depuis Excel, je
calcule dans Excel le nom du fichier résultant du publipostage.

J'aimerais mémoriser ce nom dans Excel pour le passer à mon modèle Word,
dans la procédure Private Sub Document_New() afin de pouvoir enregistrer
le fichier depuis Word.

Au départ, je voulais commander l'enregistrement depuis Excel, mais pas
moyen d'y arriver. Donc je dois ma rabattre sur Word pour y arriver.

Merci d'avance à qui pourrait me mettre sur la voie.

Jac








Publicité
Poster une réponse
Anonyme