IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Ouvrir word depuis excel (une instance)


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Ouvrir word depuis excel (une instance)
    Bonjour,

    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.


    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    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

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonjour,

    Essaye comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub Test()
     
    Dim wdApp As Word.Application
     
    On Error Resume Next
    Set wdApp = GetObject(, "Word.Application")
    On Error GoTo 0
     
    If wdApp Is Nothing Then Set wdApp = New Word.Application
     
    wdApp.Visible = True
     
    End Sub
    Cordialement,

    Tirex28/

Discussions similaires

  1. Ouvrir Word depuis Excel 2007
    Par damienlelol dans le forum Excel
    Réponses: 7
    Dernier message: 02/07/2014, 22h06
  2. [XL-2010] vba ouvrir word depuis excel probleme avec W2010
    Par pouya001 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/04/2013, 13h17
  3. [XL-2003] Ouvrir Word depuis Excel - Supprime publipostage
    Par AidezMoiSvp dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/02/2011, 15h43
  4. Comment ouvrir word depuis macro excel ?
    Par megapacman dans le forum VBA Word
    Réponses: 4
    Dernier message: 15/11/2006, 15h59
  5. coller une plage dans word depuis excel
    Par tarmin dans le forum VBA Word
    Réponses: 7
    Dernier message: 18/01/2006, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo