Bonjour à tous !

J’ai quelques bases en VBA Excel, je découvre aujourd’hui le VBA Word et c'est donc mon 1er message sur les forums.

Après avoir cherché une solution à mon problème je n’arrive toujours pas à le résoudre complètement… J’ai donc besoin de votre aide!

Besoin initial : à partir d’une macro Word, je souhaitais récupérer une valeur dans un fichier Excel fermé et la rapatrier dans le Word initial.

Schématiquement ca donne : valeur dans Word « 123456 » -> recherchev dans un Excel fermé de « 123456 » et stockage du résultat dans « Resultat » -> Ecrire dans Word « Resultat »

Si j’ai bien compris (cherché ?) travailler depuis un classeur fermé fonctionne depuis Excel mais pas depuis Word. J’ai donc malheureusement abandonné l’idée.
Aujourd’hui pour contourner le problème, ma macro ouvre simplement le fichier Excel « travaille » dessus puis le ferme.
Problème, ma macro ne fonctionne pas 2 fois de suite…

Je pense qu’il y a soit un problème (excel) de fichier en lecture seule, soit de fichier pas vraiment fermé (excel qui tourne en tache de fond), soit de fenêtre active (que je n’arrive pas à activer avec les fonctions VBA) soit autre chose qui m’échappe !

Pouvez vous m’aider svp ??

(désolé si le message est une peu long j'ai essayé d'être le plus clair possible)

Merci !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Sub Final()
 
Dim xlApp As New Excel.Application
 
xlApp.Workbooks.Open "C:\Users\Desktop\HELP\ENFANT.xlsx"
 
xlApp.Sheets("Feuil1").Range("C2") = WorksheetFunction.VLookup(1, Sheets("Feuil1").Columns("A:B"), 2, False)
 
Resultat = Sheets("Feuil1").Range("C2")
'Debug.Print Resultat
 
 
xlApp.Visible = True
 
Workbooks("ENFANT.xlsx").Close SaveChanges:=False
 
MsgBox Resultat
 
End Sub
ENFANT.xlsx