Rebonsoir,
Application.Quit ne marche pas, car le programme tente dans ce cas de
fermer
Excel.
Et en tout état de cause, s'il fermait Word, je ne pourrais pas voir mon
fichier.
Comment j'utilise mon fichier Excel :
Ce fichier comporte 22 feuilles, qui correspondent à des chapitres. Dans
chaque feuille, il y a en colonne B une valeur du style F06055, qui est le
nom d'un fichier html situé dans un répertoire donné de mon disque. Grâce
aux experts bénévoles comme toi qui m'ont aidé, j'ai fait en sorte qu'en
colonne D figure le chemin qui conduit à ce fichier sur mon disque. Par
exemple, pour le fichier F06055, c'est :
C:Documents and SettingsHP_PropriétaireMes documentsE-CIPARCOURS
16-12-2007parcoursprospectionfinanc_eval_prospectF06055.htm
Ce chemin est transformé en lien hypertexte en colonne E, grâce à la
formule
(pour la ligne 1) =LIEN_HYPERTEXTE(D1)
Quand je clique sur une cellule de la colonne E, le fichier apparaît dans
mon navigateur.
Grâce à ton code, le fichier apparaît désormais dans Word, ce que je
souhaite.
Mais si je clique sur une autre cellule sans fermer Word au préalable, le
code provoque un nouveau chargement de Word, et affiche le fichier
concerné
dans la nouvelle instance de Word. Je voudrais que le nouveau fichier
s'ouvre dans la même instance de Word.
Je ne suis pas d'accord avec toi : lorsqu'on ouvre plusieurs documents de
manière classique, une seule instance de Word est chargée, et les
différents
documents s'ouvrent dans des fenêtres différentes, qui s'affichent sur le
barre des tâches, mais il n'y a qu'une instance de Word chargée (même
chose
pour Excel, d'ailleurs).
Tu peux le vérifer via le gestionnaire des tâches de Windows.
AB
a écrit dans le message de news:
On 9 fév, 19:09, "AB" wrote:Bonsoir François,
Ca marche. Pas besoin d'activer quoi que ce soit.
Un souci, toutefois : chaque fois que je clique sur une cellule, et que
j'éxécute la macro, une nouvelle session Word s'ouvre (et non une
nouvelle
fenêtre).
Je peux le vérifier en lançant le gestionnaire de tâches : j'ai autant
de
sessions Word ouvertes que de documents (et c'est environ 90000k pour
chacune).
Il faudrait donc vérifier si Word et déjà ouvert, et dans l'affirmative,
ne
pas l'ouvrir de nouveau, mais seulement ouvrir le document concerné.
Possible ?
AB
a écrit dans le message de news:
On 9 fév, 16:05, "AB" wrote:Bonjour François,
J'ai plus de 500 fichiers qui s'ouvrent via ce classeur Excel. La
solution
1
est inenvisageable.
Quant à la solution, 2, elle pourrait marcher, mais dans ta macro, le
chemin
du fichier cible est en dur.
Alors que les chemins figurent dans des cellules, chaque fichier cible
ayant
son chemin.
AB
a écrit dans le message de news:
On 9 fév, 10:37, "AB" wrote:Hello,
J'ai paramétré mon système pour que par défaut un document html
s'ouvre
avec
Word quand je double clique dessus.
J'ai dans un fichier Excel des liens hypertexte, qui pointent vers
des
documents html. Lorsque je clique dessus, Excel va les chercher dans
leur
lieu de stockage, et les ouvre avec le navigateur par défaut.
Comment faire pour qu'ils s'ouvrent dans Word ?
Merci d'avance aux travailleurs du dimanche.
AB
Salut AB
Je te propose :
Soit de changer l'extension de tes fichiers par exemple :
Document.htm en Document.doc
Il sera nécessaire de refaire le lien dans le document Excel
Soit d'utiliser une macro avec ce code :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument.htm")
End With
Celà devrait te convenir
Dis moi !!!
Rebonjours à toi
Une petite erreur dans ma dernière proposition :
Il faut mettre Activecell.Value au lieu d'Activecell ce qui donne le
code suivant :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
N'oublies pas d'activer la Référence : Microsoft Word 10.0 Object
Library dans Outils Références
Celà devrait fonctionner
Dis moi !!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours AB
Je viens de penser éventuellement à une ligne supplémentaire à
rajouter au code :
Avant le End Sub mets :
Application.Quit
Peut être ta solution
Dis moi !!!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonsoir,
Application.Quit ne marche pas, car le programme tente dans ce cas de
fermer
Excel.
Et en tout état de cause, s'il fermait Word, je ne pourrais pas voir mon
fichier.
Comment j'utilise mon fichier Excel :
Ce fichier comporte 22 feuilles, qui correspondent à des chapitres. Dans
chaque feuille, il y a en colonne B une valeur du style F06055, qui est le
nom d'un fichier html situé dans un répertoire donné de mon disque. Grâce
aux experts bénévoles comme toi qui m'ont aidé, j'ai fait en sorte qu'en
colonne D figure le chemin qui conduit à ce fichier sur mon disque. Par
exemple, pour le fichier F06055, c'est :
C:Documents and SettingsHP_PropriétaireMes documentsE-CIPARCOURS
16-12-2007parcoursprospectionfinanc_eval_prospectF06055.htm
Ce chemin est transformé en lien hypertexte en colonne E, grâce à la
formule
(pour la ligne 1) =LIEN_HYPERTEXTE(D1)
Quand je clique sur une cellule de la colonne E, le fichier apparaît dans
mon navigateur.
Grâce à ton code, le fichier apparaît désormais dans Word, ce que je
souhaite.
Mais si je clique sur une autre cellule sans fermer Word au préalable, le
code provoque un nouveau chargement de Word, et affiche le fichier
concerné
dans la nouvelle instance de Word. Je voudrais que le nouveau fichier
s'ouvre dans la même instance de Word.
Je ne suis pas d'accord avec toi : lorsqu'on ouvre plusieurs documents de
manière classique, une seule instance de Word est chargée, et les
différents
documents s'ouvrent dans des fenêtres différentes, qui s'affichent sur le
barre des tâches, mais il n'y a qu'une instance de Word chargée (même
chose
pour Excel, d'ailleurs).
Tu peux le vérifer via le gestionnaire des tâches de Windows.
AB
<francois.for...@wanadoo.fr> a écrit dans le message de news:
3293612a-8abb-486a-9782-04d1242ba...@s12g2000prg.googlegroups.com...
On 9 fév, 19:09, "AB" <spamopho...@marseille.com> wrote:
Bonsoir François,
Ca marche. Pas besoin d'activer quoi que ce soit.
Un souci, toutefois : chaque fois que je clique sur une cellule, et que
j'éxécute la macro, une nouvelle session Word s'ouvre (et non une
nouvelle
fenêtre).
Je peux le vérifier en lançant le gestionnaire de tâches : j'ai autant
de
sessions Word ouvertes que de documents (et c'est environ 90000k pour
chacune).
Il faudrait donc vérifier si Word et déjà ouvert, et dans l'affirmative,
ne
pas l'ouvrir de nouveau, mais seulement ouvrir le document concerné.
Possible ?
AB
<francois.for...@wanadoo.fr> a écrit dans le message de news:
c2651928-7f10-423d-9258-a04dd494c...@v17g2000hsa.googlegroups.com...
On 9 fév, 16:05, "AB" <spamopho...@marseille.com> wrote:
Bonjour François,
J'ai plus de 500 fichiers qui s'ouvrent via ce classeur Excel. La
solution
1
est inenvisageable.
Quant à la solution, 2, elle pourrait marcher, mais dans ta macro, le
chemin
du fichier cible est en dur.
Alors que les chemins figurent dans des cellules, chaque fichier cible
ayant
son chemin.
AB
<francois.for...@wanadoo.fr> a écrit dans le message de news:
b10c110e-3330-44da-9087-bd388614d...@e23g2000prf.googlegroups.com...
On 9 fév, 10:37, "AB" <spamopho...@marseille.com> wrote:
Hello,
J'ai paramétré mon système pour que par défaut un document html
s'ouvre
avec
Word quand je double clique dessus.
J'ai dans un fichier Excel des liens hypertexte, qui pointent vers
des
documents html. Lorsque je clique dessus, Excel va les chercher dans
leur
lieu de stockage, et les ouvre avec le navigateur par défaut.
Comment faire pour qu'ils s'ouvrent dans Word ?
Merci d'avance aux travailleurs du dimanche.
AB
Salut AB
Je te propose :
Soit de changer l'extension de tes fichiers par exemple :
Document.htm en Document.doc
Il sera nécessaire de refaire le lien dans le document Excel
Soit d'utiliser une macro avec ce code :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument.htm")
End With
Celà devrait te convenir
Dis moi !!!
Rebonjours à toi
Une petite erreur dans ma dernière proposition :
Il faut mettre Activecell.Value au lieu d'Activecell ce qui donne le
code suivant :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
N'oublies pas d'activer la Référence : Microsoft Word 10.0 Object
Library dans Outils Références
Celà devrait fonctionner
Dis moi !!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours AB
Je viens de penser éventuellement à une ligne supplémentaire à
rajouter au code :
Avant le End Sub mets :
Application.Quit
Peut être ta solution
Dis moi !!!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonsoir,
Application.Quit ne marche pas, car le programme tente dans ce cas de
fermer
Excel.
Et en tout état de cause, s'il fermait Word, je ne pourrais pas voir mon
fichier.
Comment j'utilise mon fichier Excel :
Ce fichier comporte 22 feuilles, qui correspondent à des chapitres. Dans
chaque feuille, il y a en colonne B une valeur du style F06055, qui est le
nom d'un fichier html situé dans un répertoire donné de mon disque. Grâce
aux experts bénévoles comme toi qui m'ont aidé, j'ai fait en sorte qu'en
colonne D figure le chemin qui conduit à ce fichier sur mon disque. Par
exemple, pour le fichier F06055, c'est :
C:Documents and SettingsHP_PropriétaireMes documentsE-CIPARCOURS
16-12-2007parcoursprospectionfinanc_eval_prospectF06055.htm
Ce chemin est transformé en lien hypertexte en colonne E, grâce à la
formule
(pour la ligne 1) =LIEN_HYPERTEXTE(D1)
Quand je clique sur une cellule de la colonne E, le fichier apparaît dans
mon navigateur.
Grâce à ton code, le fichier apparaît désormais dans Word, ce que je
souhaite.
Mais si je clique sur une autre cellule sans fermer Word au préalable, le
code provoque un nouveau chargement de Word, et affiche le fichier
concerné
dans la nouvelle instance de Word. Je voudrais que le nouveau fichier
s'ouvre dans la même instance de Word.
Je ne suis pas d'accord avec toi : lorsqu'on ouvre plusieurs documents de
manière classique, une seule instance de Word est chargée, et les
différents
documents s'ouvrent dans des fenêtres différentes, qui s'affichent sur le
barre des tâches, mais il n'y a qu'une instance de Word chargée (même
chose
pour Excel, d'ailleurs).
Tu peux le vérifer via le gestionnaire des tâches de Windows.
AB
a écrit dans le message de news:
On 9 fév, 19:09, "AB" wrote:Bonsoir François,
Ca marche. Pas besoin d'activer quoi que ce soit.
Un souci, toutefois : chaque fois que je clique sur une cellule, et que
j'éxécute la macro, une nouvelle session Word s'ouvre (et non une
nouvelle
fenêtre).
Je peux le vérifier en lançant le gestionnaire de tâches : j'ai autant
de
sessions Word ouvertes que de documents (et c'est environ 90000k pour
chacune).
Il faudrait donc vérifier si Word et déjà ouvert, et dans l'affirmative,
ne
pas l'ouvrir de nouveau, mais seulement ouvrir le document concerné.
Possible ?
AB
a écrit dans le message de news:
On 9 fév, 16:05, "AB" wrote:Bonjour François,
J'ai plus de 500 fichiers qui s'ouvrent via ce classeur Excel. La
solution
1
est inenvisageable.
Quant à la solution, 2, elle pourrait marcher, mais dans ta macro, le
chemin
du fichier cible est en dur.
Alors que les chemins figurent dans des cellules, chaque fichier cible
ayant
son chemin.
AB
a écrit dans le message de news:
On 9 fév, 10:37, "AB" wrote:Hello,
J'ai paramétré mon système pour que par défaut un document html
s'ouvre
avec
Word quand je double clique dessus.
J'ai dans un fichier Excel des liens hypertexte, qui pointent vers
des
documents html. Lorsque je clique dessus, Excel va les chercher dans
leur
lieu de stockage, et les ouvre avec le navigateur par défaut.
Comment faire pour qu'ils s'ouvrent dans Word ?
Merci d'avance aux travailleurs du dimanche.
AB
Salut AB
Je te propose :
Soit de changer l'extension de tes fichiers par exemple :
Document.htm en Document.doc
Il sera nécessaire de refaire le lien dans le document Excel
Soit d'utiliser une macro avec ce code :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument.htm")
End With
Celà devrait te convenir
Dis moi !!!
Rebonjours à toi
Une petite erreur dans ma dernière proposition :
Il faut mettre Activecell.Value au lieu d'Activecell ce qui donne le
code suivant :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
N'oublies pas d'activer la Référence : Microsoft Word 10.0 Object
Library dans Outils Références
Celà devrait fonctionner
Dis moi !!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours AB
Je viens de penser éventuellement à une ligne supplémentaire à
rajouter au code :
Avant le End Sub mets :
Application.Quit
Peut être ta solution
Dis moi !!!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir François,
Merci de ta patience.
J'ai un peu modifié le code, comme suit :
Sub word2()
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)
End With
End Sub
En effet, ton code ne fonctionnait que si Word était déjà ouvert ava nt de
lancer la macro. Sinon, j'avais un message d'erreur.
Désormais, s'il n'est pas ouvert, hé bien...il s'ouvre !
Et je n'ai bien qu'une seule instance de Word.
Ca marche, donc. Pour que mon bonheur soit complet, il faudrait que le
document s'affiche dans Word au premier plan. Alors que là, le premier
s'affiche bien plein écran, mais dès que je passe aux suivants, ils ne
s'affichent pas (mais sont bien chargés et visibles dans la barre des
tâches). C'est Excel qui reste au premier plan, Word étant en fenêtr e
réduite.
Pas grave : il me suffit de cliquer sur le nom du doc dans la barre des
tâches pour que Word passe au premier plan et m'affiche mon doc.
Merci, et bonne soirée.
André
PS : Comme te le suggère François L, c'est mieux de répondre au dess us du
fil, je trouve.
a écrit dans le message de news:
On 9 fév, 21:36, "AB" wrote:Rebonsoir,
Application.Quit ne marche pas, car le programme tente dans ce cas de
fermer
Excel.
Et en tout état de cause, s'il fermait Word, je ne pourrais pas voir m on
fichier.
Comment j'utilise mon fichier Excel :
Ce fichier comporte 22 feuilles, qui correspondent à des chapitres. Da ns
chaque feuille, il y a en colonne B une valeur du style F06055, qui est le
nom d'un fichier html situé dans un répertoire donné de mon disque . Grâce
aux experts bénévoles comme toi qui m'ont aidé, j'ai fait en sorte qu'en
colonne D figure le chemin qui conduit à ce fichier sur mon disque. Pa r
exemple, pour le fichier F06055, c'est :
C:Documents and SettingsHP_PropriétaireMes documentsE-CIPARCOURS
16-12-2007parcoursprospectionfinanc_eval_prospectF06055.htm
Ce chemin est transformé en lien hypertexte en colonne E, grâce à la
formule
(pour la ligne 1) =LIEN_HYPERTEXTE(D1)
Quand je clique sur une cellule de la colonne E, le fichier apparaît d ans
mon navigateur.
Grâce à ton code, le fichier apparaît désormais dans Word, ce qu e je
souhaite.
Mais si je clique sur une autre cellule sans fermer Word au préalable, le
code provoque un nouveau chargement de Word, et affiche le fichier
concerné
dans la nouvelle instance de Word. Je voudrais que le nouveau fichier
s'ouvre dans la même instance de Word.
Je ne suis pas d'accord avec toi : lorsqu'on ouvre plusieurs documents d e
manière classique, une seule instance de Word est chargée, et les
différents
documents s'ouvrent dans des fenêtres différentes, qui s'affichent s ur le
barre des tâches, mais il n'y a qu'une instance de Word chargée (m ême
chose
pour Excel, d'ailleurs).
Tu peux le vérifer via le gestionnaire des tâches de Windows.
AB
a écrit dans le message de news:
On 9 fév, 19:09, "AB" wrote:Bonsoir François,
Ca marche. Pas besoin d'activer quoi que ce soit.
Un souci, toutefois : chaque fois que je clique sur une cellule, et qu e
j'éxécute la macro, une nouvelle session Word s'ouvre (et non une
nouvelle
fenêtre).
Je peux le vérifier en lançant le gestionnaire de tâches : j'ai autant
de
sessions Word ouvertes que de documents (et c'est environ 90000k pour
chacune).
Il faudrait donc vérifier si Word et déjà ouvert, et dans l'affi rmative,
ne
pas l'ouvrir de nouveau, mais seulement ouvrir le document concerné.
Possible ?
AB
a écrit dans le message de news:
On 9 fév, 16:05, "AB" wrote:Bonjour François,
J'ai plus de 500 fichiers qui s'ouvrent via ce classeur Excel. La
solution
1
est inenvisageable.
Quant à la solution, 2, elle pourrait marcher, mais dans ta macro, le
chemin
du fichier cible est en dur.
Alors que les chemins figurent dans des cellules, chaque fichier cib le
ayant
son chemin.
AB
a écrit dans le message de news:
On 9 fév, 10:37, "AB" wrote:Hello,
J'ai paramétré mon système pour que par défaut un document html
s'ouvre
avec
Word quand je double clique dessus.
J'ai dans un fichier Excel des liens hypertexte, qui pointent vers
des
documents html. Lorsque je clique dessus, Excel va les chercher da ns
leur
lieu de stockage, et les ouvre avec le navigateur par défaut.
Comment faire pour qu'ils s'ouvrent dans Word ?
Merci d'avance aux travailleurs du dimanche.
AB
Salut AB
Je te propose :
Soit de changer l'extension de tes fichiers par exemple :
Document.htm en Document.doc
Il sera nécessaire de refaire le lien dans le document Excel
Soit d'utiliser une macro avec ce code :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument.htm")
End With
Celà devrait te convenir
Dis moi !!!
Rebonjours à toi
Une petite erreur dans ma dernière proposition :
Il faut mettre Activecell.Value au lieu d'Activecell ce qui donne le
code suivant :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
N'oublies pas d'activer la Référence : Microsoft Word 10.0 Object
Library dans Outils Références
Celà devrait fonctionner
Dis moi !!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours AB
Je viens de penser éventuellement à une ligne supplémentaire à
rajouter au code :
Avant le End Sub mets :
Application.Quit
Peut être ta solution
Dis moi !!!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours à toi
Aprés avoir étudié ta problématique je te propose ce code modifi é :
Set oWdApp = GetObject(, "Word.Application")
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)
End With
Tu devrais associer cette macro à un bouton personnalisé ce serait
plus simple d'utilisation :
Clique sur la cellule appropriée et clique sur ce bouton pour ouvrir
le document
Je pense que là tu devrais avoir ton bonheur
Dis moi !!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir François,
Merci de ta patience.
J'ai un peu modifié le code, comme suit :
Sub word2()
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)
End With
End Sub
En effet, ton code ne fonctionnait que si Word était déjà ouvert ava nt de
lancer la macro. Sinon, j'avais un message d'erreur.
Désormais, s'il n'est pas ouvert, hé bien...il s'ouvre !
Et je n'ai bien qu'une seule instance de Word.
Ca marche, donc. Pour que mon bonheur soit complet, il faudrait que le
document s'affiche dans Word au premier plan. Alors que là, le premier
s'affiche bien plein écran, mais dès que je passe aux suivants, ils ne
s'affichent pas (mais sont bien chargés et visibles dans la barre des
tâches). C'est Excel qui reste au premier plan, Word étant en fenêtr e
réduite.
Pas grave : il me suffit de cliquer sur le nom du doc dans la barre des
tâches pour que Word passe au premier plan et m'affiche mon doc.
Merci, et bonne soirée.
André
PS : Comme te le suggère François L, c'est mieux de répondre au dess us du
fil, je trouve.
<francois.for...@wanadoo.fr> a écrit dans le message de news:
21ba5dd2-f50e-40d2-b9fe-1156042d0...@z17g2000hsg.googlegroups.com...
On 9 fév, 21:36, "AB" <spamopho...@marseille.com> wrote:
Rebonsoir,
Application.Quit ne marche pas, car le programme tente dans ce cas de
fermer
Excel.
Et en tout état de cause, s'il fermait Word, je ne pourrais pas voir m on
fichier.
Comment j'utilise mon fichier Excel :
Ce fichier comporte 22 feuilles, qui correspondent à des chapitres. Da ns
chaque feuille, il y a en colonne B une valeur du style F06055, qui est le
nom d'un fichier html situé dans un répertoire donné de mon disque . Grâce
aux experts bénévoles comme toi qui m'ont aidé, j'ai fait en sorte qu'en
colonne D figure le chemin qui conduit à ce fichier sur mon disque. Pa r
exemple, pour le fichier F06055, c'est :
C:Documents and SettingsHP_PropriétaireMes documentsE-CIPARCOURS
16-12-2007parcoursprospectionfinanc_eval_prospectF06055.htm
Ce chemin est transformé en lien hypertexte en colonne E, grâce à la
formule
(pour la ligne 1) =LIEN_HYPERTEXTE(D1)
Quand je clique sur une cellule de la colonne E, le fichier apparaît d ans
mon navigateur.
Grâce à ton code, le fichier apparaît désormais dans Word, ce qu e je
souhaite.
Mais si je clique sur une autre cellule sans fermer Word au préalable, le
code provoque un nouveau chargement de Word, et affiche le fichier
concerné
dans la nouvelle instance de Word. Je voudrais que le nouveau fichier
s'ouvre dans la même instance de Word.
Je ne suis pas d'accord avec toi : lorsqu'on ouvre plusieurs documents d e
manière classique, une seule instance de Word est chargée, et les
différents
documents s'ouvrent dans des fenêtres différentes, qui s'affichent s ur le
barre des tâches, mais il n'y a qu'une instance de Word chargée (m ême
chose
pour Excel, d'ailleurs).
Tu peux le vérifer via le gestionnaire des tâches de Windows.
AB
<francois.for...@wanadoo.fr> a écrit dans le message de news:
3293612a-8abb-486a-9782-04d1242ba...@s12g2000prg.googlegroups.com...
On 9 fév, 19:09, "AB" <spamopho...@marseille.com> wrote:
Bonsoir François,
Ca marche. Pas besoin d'activer quoi que ce soit.
Un souci, toutefois : chaque fois que je clique sur une cellule, et qu e
j'éxécute la macro, une nouvelle session Word s'ouvre (et non une
nouvelle
fenêtre).
Je peux le vérifier en lançant le gestionnaire de tâches : j'ai autant
de
sessions Word ouvertes que de documents (et c'est environ 90000k pour
chacune).
Il faudrait donc vérifier si Word et déjà ouvert, et dans l'affi rmative,
ne
pas l'ouvrir de nouveau, mais seulement ouvrir le document concerné.
Possible ?
AB
<francois.for...@wanadoo.fr> a écrit dans le message de news:
c2651928-7f10-423d-9258-a04dd494c...@v17g2000hsa.googlegroups.com...
On 9 fév, 16:05, "AB" <spamopho...@marseille.com> wrote:
Bonjour François,
J'ai plus de 500 fichiers qui s'ouvrent via ce classeur Excel. La
solution
1
est inenvisageable.
Quant à la solution, 2, elle pourrait marcher, mais dans ta macro, le
chemin
du fichier cible est en dur.
Alors que les chemins figurent dans des cellules, chaque fichier cib le
ayant
son chemin.
AB
<francois.for...@wanadoo.fr> a écrit dans le message de news:
b10c110e-3330-44da-9087-bd388614d...@e23g2000prf.googlegroups.com...
On 9 fév, 10:37, "AB" <spamopho...@marseille.com> wrote:
Hello,
J'ai paramétré mon système pour que par défaut un document html
s'ouvre
avec
Word quand je double clique dessus.
J'ai dans un fichier Excel des liens hypertexte, qui pointent vers
des
documents html. Lorsque je clique dessus, Excel va les chercher da ns
leur
lieu de stockage, et les ouvre avec le navigateur par défaut.
Comment faire pour qu'ils s'ouvrent dans Word ?
Merci d'avance aux travailleurs du dimanche.
AB
Salut AB
Je te propose :
Soit de changer l'extension de tes fichiers par exemple :
Document.htm en Document.doc
Il sera nécessaire de refaire le lien dans le document Excel
Soit d'utiliser une macro avec ce code :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument.htm")
End With
Celà devrait te convenir
Dis moi !!!
Rebonjours à toi
Une petite erreur dans ma dernière proposition :
Il faut mettre Activecell.Value au lieu d'Activecell ce qui donne le
code suivant :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
N'oublies pas d'activer la Référence : Microsoft Word 10.0 Object
Library dans Outils Références
Celà devrait fonctionner
Dis moi !!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours AB
Je viens de penser éventuellement à une ligne supplémentaire à
rajouter au code :
Avant le End Sub mets :
Application.Quit
Peut être ta solution
Dis moi !!!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours à toi
Aprés avoir étudié ta problématique je te propose ce code modifi é :
Set oWdApp = GetObject(, "Word.Application")
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)
End With
Tu devrais associer cette macro à un bouton personnalisé ce serait
plus simple d'utilisation :
Clique sur la cellule appropriée et clique sur ce bouton pour ouvrir
le document
Je pense que là tu devrais avoir ton bonheur
Dis moi !!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir François,
Merci de ta patience.
J'ai un peu modifié le code, comme suit :
Sub word2()
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)
End With
End Sub
En effet, ton code ne fonctionnait que si Word était déjà ouvert ava nt de
lancer la macro. Sinon, j'avais un message d'erreur.
Désormais, s'il n'est pas ouvert, hé bien...il s'ouvre !
Et je n'ai bien qu'une seule instance de Word.
Ca marche, donc. Pour que mon bonheur soit complet, il faudrait que le
document s'affiche dans Word au premier plan. Alors que là, le premier
s'affiche bien plein écran, mais dès que je passe aux suivants, ils ne
s'affichent pas (mais sont bien chargés et visibles dans la barre des
tâches). C'est Excel qui reste au premier plan, Word étant en fenêtr e
réduite.
Pas grave : il me suffit de cliquer sur le nom du doc dans la barre des
tâches pour que Word passe au premier plan et m'affiche mon doc.
Merci, et bonne soirée.
André
PS : Comme te le suggère François L, c'est mieux de répondre au dess us du
fil, je trouve.
a écrit dans le message de news:
On 9 fév, 21:36, "AB" wrote:Rebonsoir,
Application.Quit ne marche pas, car le programme tente dans ce cas de
fermer
Excel.
Et en tout état de cause, s'il fermait Word, je ne pourrais pas voir m on
fichier.
Comment j'utilise mon fichier Excel :
Ce fichier comporte 22 feuilles, qui correspondent à des chapitres. Da ns
chaque feuille, il y a en colonne B une valeur du style F06055, qui est le
nom d'un fichier html situé dans un répertoire donné de mon disque . Grâce
aux experts bénévoles comme toi qui m'ont aidé, j'ai fait en sorte qu'en
colonne D figure le chemin qui conduit à ce fichier sur mon disque. Pa r
exemple, pour le fichier F06055, c'est :
C:Documents and SettingsHP_PropriétaireMes documentsE-CIPARCOURS
16-12-2007parcoursprospectionfinanc_eval_prospectF06055.htm
Ce chemin est transformé en lien hypertexte en colonne E, grâce à la
formule
(pour la ligne 1) =LIEN_HYPERTEXTE(D1)
Quand je clique sur une cellule de la colonne E, le fichier apparaît d ans
mon navigateur.
Grâce à ton code, le fichier apparaît désormais dans Word, ce qu e je
souhaite.
Mais si je clique sur une autre cellule sans fermer Word au préalable, le
code provoque un nouveau chargement de Word, et affiche le fichier
concerné
dans la nouvelle instance de Word. Je voudrais que le nouveau fichier
s'ouvre dans la même instance de Word.
Je ne suis pas d'accord avec toi : lorsqu'on ouvre plusieurs documents d e
manière classique, une seule instance de Word est chargée, et les
différents
documents s'ouvrent dans des fenêtres différentes, qui s'affichent s ur le
barre des tâches, mais il n'y a qu'une instance de Word chargée (m ême
chose
pour Excel, d'ailleurs).
Tu peux le vérifer via le gestionnaire des tâches de Windows.
AB
a écrit dans le message de news:
On 9 fév, 19:09, "AB" wrote:Bonsoir François,
Ca marche. Pas besoin d'activer quoi que ce soit.
Un souci, toutefois : chaque fois que je clique sur une cellule, et qu e
j'éxécute la macro, une nouvelle session Word s'ouvre (et non une
nouvelle
fenêtre).
Je peux le vérifier en lançant le gestionnaire de tâches : j'ai autant
de
sessions Word ouvertes que de documents (et c'est environ 90000k pour
chacune).
Il faudrait donc vérifier si Word et déjà ouvert, et dans l'affi rmative,
ne
pas l'ouvrir de nouveau, mais seulement ouvrir le document concerné.
Possible ?
AB
a écrit dans le message de news:
On 9 fév, 16:05, "AB" wrote:Bonjour François,
J'ai plus de 500 fichiers qui s'ouvrent via ce classeur Excel. La
solution
1
est inenvisageable.
Quant à la solution, 2, elle pourrait marcher, mais dans ta macro, le
chemin
du fichier cible est en dur.
Alors que les chemins figurent dans des cellules, chaque fichier cib le
ayant
son chemin.
AB
a écrit dans le message de news:
On 9 fév, 10:37, "AB" wrote:Hello,
J'ai paramétré mon système pour que par défaut un document html
s'ouvre
avec
Word quand je double clique dessus.
J'ai dans un fichier Excel des liens hypertexte, qui pointent vers
des
documents html. Lorsque je clique dessus, Excel va les chercher da ns
leur
lieu de stockage, et les ouvre avec le navigateur par défaut.
Comment faire pour qu'ils s'ouvrent dans Word ?
Merci d'avance aux travailleurs du dimanche.
AB
Salut AB
Je te propose :
Soit de changer l'extension de tes fichiers par exemple :
Document.htm en Document.doc
Il sera nécessaire de refaire le lien dans le document Excel
Soit d'utiliser une macro avec ce code :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument.htm")
End With
Celà devrait te convenir
Dis moi !!!
Rebonjours à toi
Une petite erreur dans ma dernière proposition :
Il faut mettre Activecell.Value au lieu d'Activecell ce qui donne le
code suivant :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
N'oublies pas d'activer la Référence : Microsoft Word 10.0 Object
Library dans Outils Références
Celà devrait fonctionner
Dis moi !!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours AB
Je viens de penser éventuellement à une ligne supplémentaire à
rajouter au code :
Avant le End Sub mets :
Application.Quit
Peut être ta solution
Dis moi !!!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours à toi
Aprés avoir étudié ta problématique je te propose ce code modifi é :
Set oWdApp = GetObject(, "Word.Application")
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)
End With
Tu devrais associer cette macro à un bouton personnalisé ce serait
plus simple d'utilisation :
Clique sur la cellule appropriée et clique sur ce bouton pour ouvrir
le document
Je pense que là tu devrais avoir ton bonheur
Dis moi !!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir François,
Merci de ta patience.
J'ai un peu modifié le code, comme suit :
Sub word2()
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)
End With
End Sub
En effet, ton code ne fonctionnait que si Word était déjà ouvert avant de
lancer la macro. Sinon, j'avais un message d'erreur.
Désormais, s'il n'est pas ouvert, hé bien...il s'ouvre !
Et je n'ai bien qu'une seule instance de Word.
Ca marche, donc. Pour que mon bonheur soit complet, il faudrait que le
document s'affiche dans Word au premier plan. Alors que là, le premier
s'affiche bien plein écran, mais dès que je passe aux suivants, ils ne
s'affichent pas (mais sont bien chargés et visibles dans la barre des
tâches). C'est Excel qui reste au premier plan, Word étant en fenêtre
réduite.
Pas grave : il me suffit de cliquer sur le nom du doc dans la barre des
tâches pour que Word passe au premier plan et m'affiche mon doc.
Merci, et bonne soirée.
André
PS : Comme te le suggère François L, c'est mieux de répondre au dessus du
fil, je trouve.
a écrit dans le message de news:
On 9 fév, 21:36, "AB" wrote:Rebonsoir,
Application.Quit ne marche pas, car le programme tente dans ce cas de
fermer
Excel.
Et en tout état de cause, s'il fermait Word, je ne pourrais pas voir mon
fichier.
Comment j'utilise mon fichier Excel :
Ce fichier comporte 22 feuilles, qui correspondent à des chapitres. Dans
chaque feuille, il y a en colonne B une valeur du style F06055, qui est
le
nom d'un fichier html situé dans un répertoire donné de mon disque.
Grâce
aux experts bénévoles comme toi qui m'ont aidé, j'ai fait en sorte qu'en
colonne D figure le chemin qui conduit à ce fichier sur mon disque. Par
exemple, pour le fichier F06055, c'est :
C:Documents and SettingsHP_PropriétaireMes documentsE-CIPARCOURS
16-12-2007parcoursprospectionfinanc_eval_prospectF06055.htm
Ce chemin est transformé en lien hypertexte en colonne E, grâce à la
formule
(pour la ligne 1) =LIEN_HYPERTEXTE(D1)
Quand je clique sur une cellule de la colonne E, le fichier apparaît
dans
mon navigateur.
Grâce à ton code, le fichier apparaît désormais dans Word, ce que je
souhaite.
Mais si je clique sur une autre cellule sans fermer Word au préalable,
le
code provoque un nouveau chargement de Word, et affiche le fichier
concerné
dans la nouvelle instance de Word. Je voudrais que le nouveau fichier
s'ouvre dans la même instance de Word.
Je ne suis pas d'accord avec toi : lorsqu'on ouvre plusieurs documents
de
manière classique, une seule instance de Word est chargée, et les
différents
documents s'ouvrent dans des fenêtres différentes, qui s'affichent sur
le
barre des tâches, mais il n'y a qu'une instance de Word chargée (même
chose
pour Excel, d'ailleurs).
Tu peux le vérifer via le gestionnaire des tâches de Windows.
AB
a écrit dans le message de news:
On 9 fév, 19:09, "AB" wrote:Bonsoir François,
Ca marche. Pas besoin d'activer quoi que ce soit.
Un souci, toutefois : chaque fois que je clique sur une cellule, et
que
j'éxécute la macro, une nouvelle session Word s'ouvre (et non une
nouvelle
fenêtre).
Je peux le vérifier en lançant le gestionnaire de tâches : j'ai autant
de
sessions Word ouvertes que de documents (et c'est environ 90000k pour
chacune).
Il faudrait donc vérifier si Word et déjà ouvert, et dans
l'affirmative,
ne
pas l'ouvrir de nouveau, mais seulement ouvrir le document concerné.
Possible ?
AB
a écrit dans le message de news:
On 9 fév, 16:05, "AB" wrote:Bonjour François,
J'ai plus de 500 fichiers qui s'ouvrent via ce classeur Excel. La
solution
1
est inenvisageable.
Quant à la solution, 2, elle pourrait marcher, mais dans ta macro,
le
chemin
du fichier cible est en dur.
Alors que les chemins figurent dans des cellules, chaque fichier
cible
ayant
son chemin.
AB
a écrit dans le message de news:
On 9 fév, 10:37, "AB" wrote:Hello,
J'ai paramétré mon système pour que par défaut un document html
s'ouvre
avec
Word quand je double clique dessus.
J'ai dans un fichier Excel des liens hypertexte, qui pointent vers
des
documents html. Lorsque je clique dessus, Excel va les chercher
dans
leur
lieu de stockage, et les ouvre avec le navigateur par défaut.
Comment faire pour qu'ils s'ouvrent dans Word ?
Merci d'avance aux travailleurs du dimanche.
AB
Salut AB
Je te propose :
Soit de changer l'extension de tes fichiers par exemple :
Document.htm en Document.doc
Il sera nécessaire de refaire le lien dans le document Excel
Soit d'utiliser une macro avec ce code :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument.htm")
End With
Celà devrait te convenir
Dis moi !!!
Rebonjours à toi
Une petite erreur dans ma dernière proposition :
Il faut mettre Activecell.Value au lieu d'Activecell ce qui donne le
code suivant :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
N'oublies pas d'activer la Référence : Microsoft Word 10.0 Object
Library dans Outils Références
Celà devrait fonctionner
Dis moi !!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours AB
Je viens de penser éventuellement à une ligne supplémentaire à
rajouter au code :
Avant le End Sub mets :
Application.Quit
Peut être ta solution
Dis moi !!!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours à toi
Aprés avoir étudié ta problématique je te propose ce code modifié :
Set oWdApp = GetObject(, "Word.Application")
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)
End With
Tu devrais associer cette macro à un bouton personnalisé ce serait
plus simple d'utilisation :
Clique sur la cellule appropriée et clique sur ce bouton pour ouvrir
le document
Je pense que là tu devrais avoir ton bonheur
Dis moi !!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir François,
Merci de ta patience.
J'ai un peu modifié le code, comme suit :
Sub word2()
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)
End With
End Sub
En effet, ton code ne fonctionnait que si Word était déjà ouvert avant de
lancer la macro. Sinon, j'avais un message d'erreur.
Désormais, s'il n'est pas ouvert, hé bien...il s'ouvre !
Et je n'ai bien qu'une seule instance de Word.
Ca marche, donc. Pour que mon bonheur soit complet, il faudrait que le
document s'affiche dans Word au premier plan. Alors que là, le premier
s'affiche bien plein écran, mais dès que je passe aux suivants, ils ne
s'affichent pas (mais sont bien chargés et visibles dans la barre des
tâches). C'est Excel qui reste au premier plan, Word étant en fenêtre
réduite.
Pas grave : il me suffit de cliquer sur le nom du doc dans la barre des
tâches pour que Word passe au premier plan et m'affiche mon doc.
Merci, et bonne soirée.
André
PS : Comme te le suggère François L, c'est mieux de répondre au dessus du
fil, je trouve.
<francois.for...@wanadoo.fr> a écrit dans le message de news:
21ba5dd2-f50e-40d2-b9fe-1156042d0...@z17g2000hsg.googlegroups.com...
On 9 fév, 21:36, "AB" <spamopho...@marseille.com> wrote:
Rebonsoir,
Application.Quit ne marche pas, car le programme tente dans ce cas de
fermer
Excel.
Et en tout état de cause, s'il fermait Word, je ne pourrais pas voir mon
fichier.
Comment j'utilise mon fichier Excel :
Ce fichier comporte 22 feuilles, qui correspondent à des chapitres. Dans
chaque feuille, il y a en colonne B une valeur du style F06055, qui est
le
nom d'un fichier html situé dans un répertoire donné de mon disque.
Grâce
aux experts bénévoles comme toi qui m'ont aidé, j'ai fait en sorte qu'en
colonne D figure le chemin qui conduit à ce fichier sur mon disque. Par
exemple, pour le fichier F06055, c'est :
C:Documents and SettingsHP_PropriétaireMes documentsE-CIPARCOURS
16-12-2007parcoursprospectionfinanc_eval_prospectF06055.htm
Ce chemin est transformé en lien hypertexte en colonne E, grâce à la
formule
(pour la ligne 1) =LIEN_HYPERTEXTE(D1)
Quand je clique sur une cellule de la colonne E, le fichier apparaît
dans
mon navigateur.
Grâce à ton code, le fichier apparaît désormais dans Word, ce que je
souhaite.
Mais si je clique sur une autre cellule sans fermer Word au préalable,
le
code provoque un nouveau chargement de Word, et affiche le fichier
concerné
dans la nouvelle instance de Word. Je voudrais que le nouveau fichier
s'ouvre dans la même instance de Word.
Je ne suis pas d'accord avec toi : lorsqu'on ouvre plusieurs documents
de
manière classique, une seule instance de Word est chargée, et les
différents
documents s'ouvrent dans des fenêtres différentes, qui s'affichent sur
le
barre des tâches, mais il n'y a qu'une instance de Word chargée (même
chose
pour Excel, d'ailleurs).
Tu peux le vérifer via le gestionnaire des tâches de Windows.
AB
<francois.for...@wanadoo.fr> a écrit dans le message de news:
3293612a-8abb-486a-9782-04d1242ba...@s12g2000prg.googlegroups.com...
On 9 fév, 19:09, "AB" <spamopho...@marseille.com> wrote:
Bonsoir François,
Ca marche. Pas besoin d'activer quoi que ce soit.
Un souci, toutefois : chaque fois que je clique sur une cellule, et
que
j'éxécute la macro, une nouvelle session Word s'ouvre (et non une
nouvelle
fenêtre).
Je peux le vérifier en lançant le gestionnaire de tâches : j'ai autant
de
sessions Word ouvertes que de documents (et c'est environ 90000k pour
chacune).
Il faudrait donc vérifier si Word et déjà ouvert, et dans
l'affirmative,
ne
pas l'ouvrir de nouveau, mais seulement ouvrir le document concerné.
Possible ?
AB
<francois.for...@wanadoo.fr> a écrit dans le message de news:
c2651928-7f10-423d-9258-a04dd494c...@v17g2000hsa.googlegroups.com...
On 9 fév, 16:05, "AB" <spamopho...@marseille.com> wrote:
Bonjour François,
J'ai plus de 500 fichiers qui s'ouvrent via ce classeur Excel. La
solution
1
est inenvisageable.
Quant à la solution, 2, elle pourrait marcher, mais dans ta macro,
le
chemin
du fichier cible est en dur.
Alors que les chemins figurent dans des cellules, chaque fichier
cible
ayant
son chemin.
AB
<francois.for...@wanadoo.fr> a écrit dans le message de news:
b10c110e-3330-44da-9087-bd388614d...@e23g2000prf.googlegroups.com...
On 9 fév, 10:37, "AB" <spamopho...@marseille.com> wrote:
Hello,
J'ai paramétré mon système pour que par défaut un document html
s'ouvre
avec
Word quand je double clique dessus.
J'ai dans un fichier Excel des liens hypertexte, qui pointent vers
des
documents html. Lorsque je clique dessus, Excel va les chercher
dans
leur
lieu de stockage, et les ouvre avec le navigateur par défaut.
Comment faire pour qu'ils s'ouvrent dans Word ?
Merci d'avance aux travailleurs du dimanche.
AB
Salut AB
Je te propose :
Soit de changer l'extension de tes fichiers par exemple :
Document.htm en Document.doc
Il sera nécessaire de refaire le lien dans le document Excel
Soit d'utiliser une macro avec ce code :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument.htm")
End With
Celà devrait te convenir
Dis moi !!!
Rebonjours à toi
Une petite erreur dans ma dernière proposition :
Il faut mettre Activecell.Value au lieu d'Activecell ce qui donne le
code suivant :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
N'oublies pas d'activer la Référence : Microsoft Word 10.0 Object
Library dans Outils Références
Celà devrait fonctionner
Dis moi !!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours AB
Je viens de penser éventuellement à une ligne supplémentaire à
rajouter au code :
Avant le End Sub mets :
Application.Quit
Peut être ta solution
Dis moi !!!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours à toi
Aprés avoir étudié ta problématique je te propose ce code modifié :
Set oWdApp = GetObject(, "Word.Application")
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)
End With
Tu devrais associer cette macro à un bouton personnalisé ce serait
plus simple d'utilisation :
Clique sur la cellule appropriée et clique sur ce bouton pour ouvrir
le document
Je pense que là tu devrais avoir ton bonheur
Dis moi !!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir François,
Merci de ta patience.
J'ai un peu modifié le code, comme suit :
Sub word2()
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)
End With
End Sub
En effet, ton code ne fonctionnait que si Word était déjà ouvert avant de
lancer la macro. Sinon, j'avais un message d'erreur.
Désormais, s'il n'est pas ouvert, hé bien...il s'ouvre !
Et je n'ai bien qu'une seule instance de Word.
Ca marche, donc. Pour que mon bonheur soit complet, il faudrait que le
document s'affiche dans Word au premier plan. Alors que là, le premier
s'affiche bien plein écran, mais dès que je passe aux suivants, ils ne
s'affichent pas (mais sont bien chargés et visibles dans la barre des
tâches). C'est Excel qui reste au premier plan, Word étant en fenêtre
réduite.
Pas grave : il me suffit de cliquer sur le nom du doc dans la barre des
tâches pour que Word passe au premier plan et m'affiche mon doc.
Merci, et bonne soirée.
André
PS : Comme te le suggère François L, c'est mieux de répondre au dessus du
fil, je trouve.
a écrit dans le message de news:
On 9 fév, 21:36, "AB" wrote:Rebonsoir,
Application.Quit ne marche pas, car le programme tente dans ce cas de
fermer
Excel.
Et en tout état de cause, s'il fermait Word, je ne pourrais pas voir mon
fichier.
Comment j'utilise mon fichier Excel :
Ce fichier comporte 22 feuilles, qui correspondent à des chapitres. Dans
chaque feuille, il y a en colonne B une valeur du style F06055, qui est
le
nom d'un fichier html situé dans un répertoire donné de mon disque.
Grâce
aux experts bénévoles comme toi qui m'ont aidé, j'ai fait en sorte qu'en
colonne D figure le chemin qui conduit à ce fichier sur mon disque. Par
exemple, pour le fichier F06055, c'est :
C:Documents and SettingsHP_PropriétaireMes documentsE-CIPARCOURS
16-12-2007parcoursprospectionfinanc_eval_prospectF06055.htm
Ce chemin est transformé en lien hypertexte en colonne E, grâce à la
formule
(pour la ligne 1) =LIEN_HYPERTEXTE(D1)
Quand je clique sur une cellule de la colonne E, le fichier apparaît
dans
mon navigateur.
Grâce à ton code, le fichier apparaît désormais dans Word, ce que je
souhaite.
Mais si je clique sur une autre cellule sans fermer Word au préalable,
le
code provoque un nouveau chargement de Word, et affiche le fichier
concerné
dans la nouvelle instance de Word. Je voudrais que le nouveau fichier
s'ouvre dans la même instance de Word.
Je ne suis pas d'accord avec toi : lorsqu'on ouvre plusieurs documents
de
manière classique, une seule instance de Word est chargée, et les
différents
documents s'ouvrent dans des fenêtres différentes, qui s'affichent sur
le
barre des tâches, mais il n'y a qu'une instance de Word chargée (même
chose
pour Excel, d'ailleurs).
Tu peux le vérifer via le gestionnaire des tâches de Windows.
AB
a écrit dans le message de news:
On 9 fév, 19:09, "AB" wrote:Bonsoir François,
Ca marche. Pas besoin d'activer quoi que ce soit.
Un souci, toutefois : chaque fois que je clique sur une cellule, et
que
j'éxécute la macro, une nouvelle session Word s'ouvre (et non une
nouvelle
fenêtre).
Je peux le vérifier en lançant le gestionnaire de tâches : j'ai autant
de
sessions Word ouvertes que de documents (et c'est environ 90000k pour
chacune).
Il faudrait donc vérifier si Word et déjà ouvert, et dans
l'affirmative,
ne
pas l'ouvrir de nouveau, mais seulement ouvrir le document concerné.
Possible ?
AB
a écrit dans le message de news:
On 9 fév, 16:05, "AB" wrote:Bonjour François,
J'ai plus de 500 fichiers qui s'ouvrent via ce classeur Excel. La
solution
1
est inenvisageable.
Quant à la solution, 2, elle pourrait marcher, mais dans ta macro,
le
chemin
du fichier cible est en dur.
Alors que les chemins figurent dans des cellules, chaque fichier
cible
ayant
son chemin.
AB
a écrit dans le message de news:
On 9 fév, 10:37, "AB" wrote:Hello,
J'ai paramétré mon système pour que par défaut un document html
s'ouvre
avec
Word quand je double clique dessus.
J'ai dans un fichier Excel des liens hypertexte, qui pointent vers
des
documents html. Lorsque je clique dessus, Excel va les chercher
dans
leur
lieu de stockage, et les ouvre avec le navigateur par défaut.
Comment faire pour qu'ils s'ouvrent dans Word ?
Merci d'avance aux travailleurs du dimanche.
AB
Salut AB
Je te propose :
Soit de changer l'extension de tes fichiers par exemple :
Document.htm en Document.doc
Il sera nécessaire de refaire le lien dans le document Excel
Soit d'utiliser une macro avec ce code :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("C:CheminDocument.htm")
End With
Celà devrait te convenir
Dis moi !!!
Rebonjours à toi
Une petite erreur dans ma dernière proposition :
Il faut mettre Activecell.Value au lieu d'Activecell ce qui donne le
code suivant :
Dim oWdApp As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open(ActiveCell.Value)
End With
N'oublies pas d'activer la Référence : Microsoft Word 10.0 Object
Library dans Outils Références
Celà devrait fonctionner
Dis moi !!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours AB
Je viens de penser éventuellement à une ligne supplémentaire à
rajouter au code :
Avant le End Sub mets :
Application.Quit
Peut être ta solution
Dis moi !!!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Rebonjours à toi
Aprés avoir étudié ta problématique je te propose ce code modifié :
Set oWdApp = GetObject(, "Word.Application")
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)
End With
Tu devrais associer cette macro à un bouton personnalisé ce serait
plus simple d'utilisation :
Clique sur la cellule appropriée et clique sur ce bouton pour ouvrir
le document
Je pense que là tu devrais avoir ton bonheur
Dis moi !!!!- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -