Bonjour à tous,
Le code suivant (merci à François Forcet et Frédéric Sigonnaud pour leur
aide) permet, lorsque je clique sur une cellule, d'aller chercher le fichier
dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
On Error GoTo 100
Set oWdApp = GetObject(, "Word.Application")
100
If Err.Number <> 0 Then
Set oWdApp = CreateObject("Word.Application")
End If
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
End Sub
Ce que je voudrais :
1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word
s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne dans
Excel, et que je clique sur une autre cellule, le programme va chercher le
bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au premier
plan. Je voudrais que Word repasse au premier plan.
2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je
voudrais qu'elle ne fonctionne que pour les cellules de la colonne D, dans
toutes les feuilles (il y en a 22)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
francois.forcet
On 19 fév, 14:30, "AB" wrote:
Bonjour à tous, Le code suivant (merci à François Forcet et Frédéric Sigonnaud pou r leur aide) permet, lorsque je clique sur une cellule, d'aller chercher le fichi er dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End Sub
Ce que je voudrais : 1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne dans Excel, et que je clique sur une autre cellule, le programme va chercher le bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au premier plan. Je voudrais que Word repasse au premier plan. 2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je voudrais qu'elle ne fonctionne que pour les cellules de la colonne D, dans toutes les feuilles (il y en a 22)
Possible ? Merci ! AB
Salut AB
Lors de notre échange sur le sujet tu m'avais exprimé ce souhait et je t'avais fais cette proposition :
On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With
Elle consiste comme je te l'avais expliqué à rechercher une application Word éventuellement ouverte pour la fermer Puis de réouvrir l'application qui a pour effet de t'afficher le document Word à l'écran
Celà devrait te convenir j'espère
Pour les cellules de la colonne D
Rajoute dans ton code ces lignes :
If Target .column = 4 Then Le code End If
Ce qui donne :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target .column = 4 Then On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End If End Sub
j'espère t'avoir satisfait
Dis moi !!!!
On 19 fév, 14:30, "AB" <spamopho...@marseille.com> wrote:
Bonjour à tous,
Le code suivant (merci à François Forcet et Frédéric Sigonnaud pou r leur
aide) permet, lorsque je clique sur une cellule, d'aller chercher le fichi er
dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
On Error GoTo 100
Set oWdApp = GetObject(, "Word.Application")
100
If Err.Number <> 0 Then
Set oWdApp = CreateObject("Word.Application")
End If
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
End Sub
Ce que je voudrais :
1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word
s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne dans
Excel, et que je clique sur une autre cellule, le programme va chercher le
bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au premier
plan. Je voudrais que Word repasse au premier plan.
2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je
voudrais qu'elle ne fonctionne que pour les cellules de la colonne D, dans
toutes les feuilles (il y en a 22)
Possible ?
Merci !
AB
Salut AB
Lors de notre échange sur le sujet tu m'avais exprimé ce souhait et je
t'avais fais cette proposition :
On Error Resume Next
Set oWdApp = GetObject(, "Word.Application")
oWdApp.Close
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
Elle consiste comme je te l'avais expliqué à rechercher une
application Word éventuellement ouverte pour la fermer
Puis de réouvrir l'application qui a pour effet de t'afficher le
document Word à l'écran
Celà devrait te convenir j'espère
Pour les cellules de la colonne D
Rajoute dans ton code ces lignes :
If Target .column = 4 Then
Le code
End If
Ce qui donne :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target
As Range)
If Target .column = 4 Then
On Error Resume Next
Set oWdApp = GetObject(, "Word.Application")
oWdApp.Close
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
End If
End Sub
Bonjour à tous, Le code suivant (merci à François Forcet et Frédéric Sigonnaud pou r leur aide) permet, lorsque je clique sur une cellule, d'aller chercher le fichi er dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End Sub
Ce que je voudrais : 1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne dans Excel, et que je clique sur une autre cellule, le programme va chercher le bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au premier plan. Je voudrais que Word repasse au premier plan. 2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je voudrais qu'elle ne fonctionne que pour les cellules de la colonne D, dans toutes les feuilles (il y en a 22)
Possible ? Merci ! AB
Salut AB
Lors de notre échange sur le sujet tu m'avais exprimé ce souhait et je t'avais fais cette proposition :
On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With
Elle consiste comme je te l'avais expliqué à rechercher une application Word éventuellement ouverte pour la fermer Puis de réouvrir l'application qui a pour effet de t'afficher le document Word à l'écran
Celà devrait te convenir j'espère
Pour les cellules de la colonne D
Rajoute dans ton code ces lignes :
If Target .column = 4 Then Le code End If
Ce qui donne :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target .column = 4 Then On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End If End Sub
Hello François ! Merci de m'aider. Je n'avais pas retenu entièrement ta proposition, car elle a l'inconvénient d'allonger très sensiblement le temps de réaction (fermeture puis réouverture de Word). Le code suivant me convient très bien, car il ne nécessite pas de fermer puis réouvrir Word. C'est donc très rapide. Il manque juste de mettre Word au 1er plan.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target.Column = 4 Then On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value) ' Quelle instruction ici pour mettre Word au premier plan ?????????? End With End If End Sub
a écrit dans le message de news: On 19 fév, 14:30, "AB" wrote:
Bonjour à tous, Le code suivant (merci à François Forcet et Frédéric Sigonnaud pour leur aide) permet, lorsque je clique sur une cellule, d'aller chercher le fichier dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End Sub
Ce que je voudrais : 1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne dans Excel, et que je clique sur une autre cellule, le programme va chercher le bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au premier plan. Je voudrais que Word repasse au premier plan. 2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je voudrais qu'elle ne fonctionne que pour les cellules de la colonne D, dans toutes les feuilles (il y en a 22)
Possible ? Merci ! AB
Salut AB
Lors de notre échange sur le sujet tu m'avais exprimé ce souhait et je t'avais fais cette proposition :
On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With
Elle consiste comme je te l'avais expliqué à rechercher une application Word éventuellement ouverte pour la fermer Puis de réouvrir l'application qui a pour effet de t'afficher le document Word à l'écran
Celà devrait te convenir j'espère
Pour les cellules de la colonne D
Rajoute dans ton code ces lignes :
If Target .column = 4 Then Le code End If
Ce qui donne :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target .column = 4 Then On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End If End Sub
j'espère t'avoir satisfait
Dis moi !!!!
' Quelle instruction ici pour mettre Word au premier plan ??????????
Hello François !
Merci de m'aider.
Je n'avais pas retenu entièrement ta proposition, car elle a l'inconvénient d'allonger très sensiblement le temps de réaction (fermeture puis réouverture de Word).
Le code suivant me convient très bien, car il ne nécessite pas de fermer puis réouvrir Word. C'est donc très rapide.
Il manque juste de mettre Word au 1er plan.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 4 Then
On Error GoTo 100
Set oWdApp = GetObject(, "Word.Application")
100
If Err.Number <> 0 Then
Set oWdApp = CreateObject("Word.Application")
End If
With oWdApp
'Afficher Word si nécessaire...
..Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
' Quelle instruction ici pour mettre Word au premier plan ??????????
End With
End If
End Sub
<francois.forcet@wanadoo.fr> a écrit dans le message de news: b4eb08ff-985b-4542-9311-8d159483f32a@p73g2000hsd.googlegroups.com...
On 19 fév, 14:30, "AB" <spamopho...@marseille.com> wrote:
Bonjour à tous,
Le code suivant (merci à François Forcet et Frédéric Sigonnaud pour leur
aide) permet, lorsque je clique sur une cellule, d'aller chercher le fichier
dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
On Error GoTo 100
Set oWdApp = GetObject(, "Word.Application")
100
If Err.Number <> 0 Then
Set oWdApp = CreateObject("Word.Application")
End If
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
End Sub
Ce que je voudrais :
1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word
s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne dans
Excel, et que je clique sur une autre cellule, le programme va chercher le
bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au premier
plan. Je voudrais que Word repasse au premier plan.
2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je
voudrais qu'elle ne fonctionne que pour les cellules de la colonne D, dans
toutes les feuilles (il y en a 22)
Possible ?
Merci !
AB
Salut AB
Lors de notre échange sur le sujet tu m'avais exprimé ce souhait et je
t'avais fais cette proposition :
On Error Resume Next
Set oWdApp = GetObject(, "Word.Application")
oWdApp.Close
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
..Visible = True
'Ouvrir le document Word
WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
Elle consiste comme je te l'avais expliqué à rechercher une
application Word éventuellement ouverte pour la fermer
Puis de réouvrir l'application qui a pour effet de t'afficher le
document Word à l'écran
Celà devrait te convenir j'espère
Pour les cellules de la colonne D
Rajoute dans ton code ces lignes :
If Target .column = 4 Then
Le code
End If
Ce qui donne :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target
As Range)
If Target .column = 4 Then
On Error Resume Next
Set oWdApp = GetObject(, "Word.Application")
oWdApp.Close
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
..Visible = True
'Ouvrir le document Word
WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
End If
End Sub
Hello François ! Merci de m'aider. Je n'avais pas retenu entièrement ta proposition, car elle a l'inconvénient d'allonger très sensiblement le temps de réaction (fermeture puis réouverture de Word). Le code suivant me convient très bien, car il ne nécessite pas de fermer puis réouvrir Word. C'est donc très rapide. Il manque juste de mettre Word au 1er plan.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target.Column = 4 Then On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value) ' Quelle instruction ici pour mettre Word au premier plan ?????????? End With End If End Sub
a écrit dans le message de news: On 19 fév, 14:30, "AB" wrote:
Bonjour à tous, Le code suivant (merci à François Forcet et Frédéric Sigonnaud pour leur aide) permet, lorsque je clique sur une cellule, d'aller chercher le fichier dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End Sub
Ce que je voudrais : 1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne dans Excel, et que je clique sur une autre cellule, le programme va chercher le bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au premier plan. Je voudrais que Word repasse au premier plan. 2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je voudrais qu'elle ne fonctionne que pour les cellules de la colonne D, dans toutes les feuilles (il y en a 22)
Possible ? Merci ! AB
Salut AB
Lors de notre échange sur le sujet tu m'avais exprimé ce souhait et je t'avais fais cette proposition :
On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With
Elle consiste comme je te l'avais expliqué à rechercher une application Word éventuellement ouverte pour la fermer Puis de réouvrir l'application qui a pour effet de t'afficher le document Word à l'écran
Celà devrait te convenir j'espère
Pour les cellules de la colonne D
Rajoute dans ton code ces lignes :
If Target .column = 4 Then Le code End If
Ce qui donne :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target .column = 4 Then On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End If End Sub
j'espère t'avoir satisfait
Dis moi !!!!
AB
Bonsoir à tous les deux, Frédéric, j'ai changé Application.WindowState = xlMinimized par Application.WindowState = xlMaximized, car j'ai supposé que c'est ce que tu voulais dire. Mais ça ne marche pas. En revanche, oWdApp.Activate marche très bien. Merci donc à tous les deux de votre aide. Bonne...nuit (pas vu l'heure !) André
"Frédéric Sigonneau" a écrit dans le message de news:
' Quelle instruction ici pour mettre Word au premier plan ??????????
Hello François ! Merci de m'aider. Je n'avais pas retenu entièrement ta proposition, car elle a l'inconvénient d'allonger très sensiblement le temps de réaction (fermeture puis réouverture de Word). Le code suivant me convient très bien, car il ne nécessite pas de fermer puis réouvrir Word. C'est donc très rapide. Il manque juste de mettre Word au 1er plan.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target.Column = 4 Then On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value) ' Quelle instruction ici pour mettre Word au premier plan ?????????? End With End If End Sub
a écrit dans le message de news:
On 19 fév, 14:30, "AB" wrote:
Bonjour à tous, Le code suivant (merci à François Forcet et Frédéric Sigonnaud pour leur aide) permet, lorsque je clique sur une cellule, d'aller chercher le fichier dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End Sub
Ce que je voudrais : 1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne dans Excel, et que je clique sur une autre cellule, le programme va chercher le bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au premier plan. Je voudrais que Word repasse au premier plan. 2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je voudrais qu'elle ne fonctionne que pour les cellules de la colonne D, dans toutes les feuilles (il y en a 22)
Possible ? Merci ! AB
Salut AB
Lors de notre échange sur le sujet tu m'avais exprimé ce souhait et je t'avais fais cette proposition :
On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With
Elle consiste comme je te l'avais expliqué à rechercher une application Word éventuellement ouverte pour la fermer Puis de réouvrir l'application qui a pour effet de t'afficher le document Word à l'écran
Celà devrait te convenir j'espère
Pour les cellules de la colonne D
Rajoute dans ton code ces lignes :
If Target .column = 4 Then Le code End If
Ce qui donne :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target .column = 4 Then On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End If End Sub
j'espère t'avoir satisfait
Dis moi !!!!
Bonsoir à tous les deux,
Frédéric, j'ai changé Application.WindowState = xlMinimized par
Application.WindowState = xlMaximized, car j'ai supposé que c'est ce que tu
voulais dire.
Mais ça ne marche pas.
En revanche, oWdApp.Activate marche très bien.
Merci donc à tous les deux de votre aide.
Bonne...nuit (pas vu l'heure !)
André
"Frédéric Sigonneau" <nospam@nospam> a écrit dans le message de news:
eoEMi3ycIHA.1960@TK2MSFTNGP02.phx.gbl...
' Quelle instruction ici pour mettre Word au premier plan ??????????
Hello François !
Merci de m'aider.
Je n'avais pas retenu entièrement ta proposition, car elle a
l'inconvénient d'allonger très sensiblement le temps de réaction
(fermeture puis réouverture de Word).
Le code suivant me convient très bien, car il ne nécessite pas de fermer
puis réouvrir Word. C'est donc très rapide.
Il manque juste de mettre Word au 1er plan.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
If Target.Column = 4 Then
On Error GoTo 100
Set oWdApp = GetObject(, "Word.Application")
100
If Err.Number <> 0 Then
Set oWdApp = CreateObject("Word.Application")
End If
With oWdApp
'Afficher Word si nécessaire...
..Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
' Quelle instruction ici pour mettre Word au premier plan ??????????
End With
End If
End Sub
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
b4eb08ff-985b-4542-9311-8d159483f32a@p73g2000hsd.googlegroups.com...
On 19 fév, 14:30, "AB" <spamopho...@marseille.com> wrote:
Bonjour à tous,
Le code suivant (merci à François Forcet et Frédéric Sigonnaud pour leur
aide) permet, lorsque je clique sur une cellule, d'aller chercher le
fichier
dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target
As Range)
On Error GoTo 100
Set oWdApp = GetObject(, "Word.Application")
100
If Err.Number <> 0 Then
Set oWdApp = CreateObject("Word.Application")
End If
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
End Sub
Ce que je voudrais :
1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word
s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne
dans
Excel, et que je clique sur une autre cellule, le programme va chercher
le
bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au
premier
plan. Je voudrais que Word repasse au premier plan.
2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je
voudrais qu'elle ne fonctionne que pour les cellules de la colonne D,
dans
toutes les feuilles (il y en a 22)
Possible ?
Merci !
AB
Salut AB
Lors de notre échange sur le sujet tu m'avais exprimé ce souhait et je
t'avais fais cette proposition :
On Error Resume Next
Set oWdApp = GetObject(, "Word.Application")
oWdApp.Close
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
..Visible = True
'Ouvrir le document Word
WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
Elle consiste comme je te l'avais expliqué à rechercher une
application Word éventuellement ouverte pour la fermer
Puis de réouvrir l'application qui a pour effet de t'afficher le
document Word à l'écran
Celà devrait te convenir j'espère
Pour les cellules de la colonne D
Rajoute dans ton code ces lignes :
If Target .column = 4 Then
Le code
End If
Ce qui donne :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target
As Range)
If Target .column = 4 Then
On Error Resume Next
Set oWdApp = GetObject(, "Word.Application")
oWdApp.Close
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
..Visible = True
'Ouvrir le document Word
WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
End If
End Sub
Bonsoir à tous les deux, Frédéric, j'ai changé Application.WindowState = xlMinimized par Application.WindowState = xlMaximized, car j'ai supposé que c'est ce que tu voulais dire. Mais ça ne marche pas. En revanche, oWdApp.Activate marche très bien. Merci donc à tous les deux de votre aide. Bonne...nuit (pas vu l'heure !) André
"Frédéric Sigonneau" a écrit dans le message de news:
' Quelle instruction ici pour mettre Word au premier plan ??????????
Hello François ! Merci de m'aider. Je n'avais pas retenu entièrement ta proposition, car elle a l'inconvénient d'allonger très sensiblement le temps de réaction (fermeture puis réouverture de Word). Le code suivant me convient très bien, car il ne nécessite pas de fermer puis réouvrir Word. C'est donc très rapide. Il manque juste de mettre Word au 1er plan.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target.Column = 4 Then On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value) ' Quelle instruction ici pour mettre Word au premier plan ?????????? End With End If End Sub
a écrit dans le message de news:
On 19 fév, 14:30, "AB" wrote:
Bonjour à tous, Le code suivant (merci à François Forcet et Frédéric Sigonnaud pour leur aide) permet, lorsque je clique sur une cellule, d'aller chercher le fichier dont le chemin figure dans la dite cellule, et de l'ouvrir dans Word.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo 100 Set oWdApp = GetObject(, "Word.Application") 100 If Err.Number <> 0 Then Set oWdApp = CreateObject("Word.Application") End If With oWdApp 'Afficher Word si nécessaire... .Visible = True 'Ouvrir le document Word froSet WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End Sub
Ce que je voudrais : 1/ lorsque j'ouvre le classeur, et que je clique sur une cellule, Word s'ouvre au premier plan et m'affiche le fichier. Mais si je retourne dans Excel, et que je clique sur une autre cellule, le programme va chercher le bon fichier, l'ouvre bien dans Word, mais c'est Excel qui reste au premier plan. Je voudrais que Word repasse au premier plan. 2/ la macro fonctionne pour n'importe quelle cellule du classeur. Je voudrais qu'elle ne fonctionne que pour les cellules de la colonne D, dans toutes les feuilles (il y en a 22)
Possible ? Merci ! AB
Salut AB
Lors de notre échange sur le sujet tu m'avais exprimé ce souhait et je t'avais fais cette proposition :
On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With
Elle consiste comme je te l'avais expliqué à rechercher une application Word éventuellement ouverte pour la fermer Puis de réouvrir l'application qui a pour effet de t'afficher le document Word à l'écran
Celà devrait te convenir j'espère
Pour les cellules de la colonne D
Rajoute dans ton code ces lignes :
If Target .column = 4 Then Le code End If
Ce qui donne :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Target .column = 4 Then On Error Resume Next Set oWdApp = GetObject(, "Word.Application") oWdApp.Close Set oWdApp = CreateObject("Word.Application") With oWdApp 'Afficher Word si nécessaire... ..Visible = True 'Ouvrir le document Word WordDoc = oWdApp.Documents.Open(ActiveCell.Value) End With End If End Sub