Ouvrir word depuis Excel

  • Initiateur de la discussion Initiateur de la discussion faube
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

faube

XLDnaute Nouveau
J'ai un document excel à partir duquel j'ouvre différebt document word en cliquant sur les cellules, seulement à chaque fois, j'ai une nouvelle instance de word qui apparait dans la barre des taches. Je voudrai n'en avoir qu'une et que le nouveau document remplace l'existant.
J'ai bien fait un système de variable globale (wdApp ) pour savoir sir une instance de l'application word avait été créée mais ce n'est pas très propre.
Y a t-il une meilleur solution ?
Merci.


Dim i As Integer
Dim wdApp As Word.Application
Dim wdDoc As Word.Document



Sub RecupereValeurCellule(ByVal Sh As Object, ByVal Target As Range)
'MsgBox ("Appel a RecupereValeurCellule2")
If Target.Column = 3 Then

' recupere la valeur de la cellule cliquée
valeurDeLaCelluleCourante = Range(ActiveCell.Address)

'recupere la valeur de la cellule en colonne B de la ligne courante
adr = "$B$" & Target.Row


valeurB = Range(adr)

'recupere la valeur de la cellule en colonne A de la ligne courante
adr = "$A$" & Target.Row
valeurA = Range(adr)

'Récupération de la feuille active
'MsgBox (Application.ActiveWorkbook.ActiveSheet.Name)
nomFeuilleActive = Application.ActiveWorkbook.ActiveSheet.Name
'Nom du documlent word a ouvrir en fonction de la cellule active
'MsgBox (nomFeuilleActive)
If nomFeuilleActive = "Test COCPIT" Then
'MsgBox ("cas Test COCPIT")
planEssai = "D:\PUBLIC\Pleiades-HR\LienExcelWord\PRS-PE-CPIT-230-CG_02_04_1.doc"
End If
If nomFeuilleActive = "Test PHR" Then
'MsgBox ("cas Test PHR")
planEssai = "D:\PUBLIC\Pleiades-HR\LienExcelWord\PHR-PE-642-2307-CG_01_03.doc"
End If


nomDuTest = valeurA & "-" & valeurB & "-" & valeurDeLaCelluleCourante & " £N"

'ouverture du document word et appel de la macro de recherche du test
'Dim wdApp As Word.Application
'Dim wdDoc As Word.Document
'MsgBox (i)
If i = 0 Then
Set wdApp = New Word.Application
Set wdDoc = wdApp.Documents.Open(planEssai)
i = 1
End If

wdApp.Visible = True
wdApp.Run "Macro2", nomDuTest

End If
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
RecupereValeurCellule Sh, Target
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
511
Retour