'erreur 4605

Le
gilles
bonjour,
depuis word je cherche à ouvrir un fichier xl
je reçois le message suivant:
Selection.PasteExcelTable False, False, False 'erreur 4605 cette commande
n'est pas disponible
kekun peut-il m'espliquer la signification, car sur l'aide en ligne j'ai une
page blanche
merci
--
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
CAP2
Le #16660621
Salut,

si tu es le même Gilles du post "Insertion de données depuis xl dans word"
en date du 26/08/2008, pourquoi ne continues-tu pas dans le sens où l'on est
partis ?

On touchait vraiment au but. Dommage si ça ne t'intéresse finalement plus...

Quoi qu'il en soit, tu as ce message parce qu'il ne trouve rien à coller !
Il n'y a rien eu de copié, donc ton presse-papier est vide.

CAP2

"gilles"
bonjour,
depuis word je cherche à ouvrir un fichier xl
je reçois le message suivant:
Selection.PasteExcelTable False, False, False 'erreur 4605 cette commande
n'est pas disponible
kekun peut-il m'espliquer la signification, car sur l'aide en ligne j'ai
une
page blanche
merci
--



michdenis
Le #16661361
| Selection.PasteExcelTable False, False, False 'erreur 4605 cette commande

Si tu en en même temps, l'application Word et Excel d'ouvert, tu dois
t'assurer que c'est la bonne application qui est active lorsque tu veux
faire exécuter une commande.

L'Objet "Selection" peut représenter une plage de cellules, un
objet "bouton de commande" sélectionner dans excel mais peut
aussi représenter une sélection "Texte" dans Word .... la commande
qui te cause problème n'existe pas dans Excel mais probablement
valide dans Word....(je ne connais pas bien le modèle objet word)
Il te renvient à toi de t'assurer que tu as le bon objet de sélectionner
dans la bonne application lorsque vient le temps d'exécuter cette ligne
de code.

L'autre possibilité est de passer par une variable objet comme ceci :
Dim Rg as range
set Rg =
Application.Workbooks("Sonnom.xls").Worksheets("FEuille").range("A1:A10")
et au lieu d'utiliser le mot "Selection" qui peut représenter plusieurs
chose,
tu emploies ta variable Rg . Ce n'était qu'un exemple .... à toi d'adapter
par rapport à ce que tu fais.





"gilles"
bonjour,
depuis word je cherche à ouvrir un fichier xl
je reçois le message suivant:
Selection.PasteExcelTable False, False, False 'erreur 4605 cette commande
n'est pas disponible
kekun peut-il m'espliquer la signification, car sur l'aide en ligne j'ai une
page blanche
merci
--
gilles
Le #16662201
Salut CAP2
oui c'est moi et mon pb m'interssse toujours beaucoup
mais j'ai vu que tu n'avais pas répondu à mon dernier message, et je me suis
dit que je commençais à te gaver avec mon pb!!
j'ai dû méclipser du fil mais je tente toujours d'arriver à le résoudre et
justement je repartias d'un de tes codes qui insère dans l'entête de word et
qui me met le message ce ce nouveau fil
OK je reprends les codes pour voir pourquoi je n'ai rien de collé

Merci Michel également
j'essaie avec mes limites de piger les finesses VBAtiques
à+
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"CAP2" a écrit :

Salut,

si tu es le même Gilles du post "Insertion de données depuis xl dans word"
en date du 26/08/2008, pourquoi ne continues-tu pas dans le sens où l'on est
partis ?

On touchait vraiment au but. Dommage si ça ne t'intéresse finalement plus...

Quoi qu'il en soit, tu as ce message parce qu'il ne trouve rien à coller !
Il n'y a rien eu de copié, donc ton presse-papier est vide.

CAP2

"gilles"
> bonjour,
> depuis word je cherche à ouvrir un fichier xl
> je reçois le message suivant:
> Selection.PasteExcelTable False, False, False 'erreur 4605 cette commande
> n'est pas disponible
> kekun peut-il m'espliquer la signification, car sur l'aide en ligne j'ai
> une
> page blanche
> merci
> --
>





CAP2
Le #16662941
Salut Gilles,

mais non tu me gaves pas. J'ai bien répondu à ton dernier message (27/08 à
16h53).

Moi, j'en suis à ce code qui trouve le dossier en cours où il y a tous tes
fichiers et va chercher les infos en H8:H10. D'après ce que tu me disais, ça
marchait bien...

Donc je te repose les mêmes questions que dans mon dernier post ;o))

A plus,

CAP2

Pour info, je te mets le texte de mes 2 derniers posts :

*********************DEBUT***********************************

Bon,

j'avance bien, on va procéder par étapes :

Partant du principe que tes utilsateurs vont avoir un dossier contenant
plein de fichiers, dont Fiche info affaire.xls, et des fichiers WORD où tu
veux récupérer les valeurs des cellule H8 à H10, tu vs créer un doc WORD
vierge dans ton dossier où il y a tout...

Et sur son Open, tu mets ce code (le code cherche le nom du dossier en
cours, part à la recherche de Fiche info affaire.xls et de ses cellules H8 à
H10 dans ce dossier, et fait crée mon code de champs. C'est une première
étape, parce qu'ensuite il faudra automatiser le positionnement du code là
où tu le veux. Tu me diras ça après. Tente déjà ce code) :

Private Sub Document_Open()
Dim dossier
Dim lien As String
Dim final As String

dossier = Replace(ActiveDocument.Path, "", "\")

lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)

final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C8:L10C8 t "

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=final

Selection.Fields.Update

End Sub

Ca donne quoi ? Chez moi, ça marche bien !

CAP2

**********************FIN**********************************

Et voici le texte de mon dernier post :


*********************DEBUT***********************************

Bon,

déjà si ça marche avec ce premier jet, c'est qu'on avance dans la bonne
direction ;o))

Maintenant, l'import ne concerne-t-il que la plage H8:H10 ou bien y'a-t-il
d'autres plages à insérer ?
De plus, tu veux qu'on insère ça dans quelle zone de ton doc WORD ?

CAP2

**********************FIN**********************************
gilles
Le #16663411
OK
je te remets donc ma réponse à tes questions:


A l'origine je m'étais dis que quelques données placées en en-tête, à
droite
, ça irait
...et c'est toujours le cas, mais sur la page il y a plusieurs données qui
pourraient être placées ici ou là
en surfant j'ai cru voir qu'on pouvait placer des signets et les numéroter
(faut deja que je vois ce qu'est un signet sur word!!)
Sinon il y a un petit pb (quand même!)
si jouvre et ferme 3 fois le fichier, les données viennent se mettre bout à
bout, et on crée 3 liaisons
pendant que tu t'arrachais les cheveux, j'ai enregistré une macro, pour
supprimer ces liaisons (et eventuellement effacer les donnees) avant de
copier la nouvelle liaison, mais j'obtiens juste ce code:

Private Sub Document_Open()
Dim dossier
Dim lien As String
Dim final As String

dossier = Replace(ActiveDocument.Path, "", "\")

lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)

final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C8:L10C8 t "

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=final

Selection.Fields.Update

End Sub

à+(et merci encore)--


...et je t'ai posté un autre message pour te dire que mon copié collé se
faisat sur le code que tu m'avais fourni
voila
si tu as le courage de t'y replonger...
merci

--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"CAP2" a écrit :

Salut Gilles,

mais non tu me gaves pas. J'ai bien répondu à ton dernier message (27/08 à
16h53).

Moi, j'en suis à ce code qui trouve le dossier en cours où il y a tous tes
fichiers et va chercher les infos en H8:H10. D'après ce que tu me disais, ça
marchait bien...

Donc je te repose les mêmes questions que dans mon dernier post ;o))

A plus,

CAP2

Pour info, je te mets le texte de mes 2 derniers posts :

*********************DEBUT***********************************

Bon,

j'avance bien, on va procéder par étapes :

Partant du principe que tes utilsateurs vont avoir un dossier contenant
plein de fichiers, dont Fiche info affaire.xls, et des fichiers WORD où tu
veux récupérer les valeurs des cellule H8 à H10, tu vs créer un doc WORD
vierge dans ton dossier où il y a tout...

Et sur son Open, tu mets ce code (le code cherche le nom du dossier en
cours, part à la recherche de Fiche info affaire.xls et de ses cellules H8 à
H10 dans ce dossier, et fait crée mon code de champs. C'est une première
étape, parce qu'ensuite il faudra automatiser le positionnement du code là
où tu le veux. Tu me diras ça après. Tente déjà ce code) :

Private Sub Document_Open()
Dim dossier
Dim lien As String
Dim final As String

dossier = Replace(ActiveDocument.Path, "", "\")

lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)

final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C8:L10C8 t "

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=final

Selection.Fields.Update

End Sub

Ca donne quoi ? Chez moi, ça marche bien !

CAP2

**********************FIN**********************************

Et voici le texte de mon dernier post :


*********************DEBUT***********************************

Bon,

déjà si ça marche avec ce premier jet, c'est qu'on avance dans la bonne
direction ;o))

Maintenant, l'import ne concerne-t-il que la plage H8:H10 ou bien y'a-t-il
d'autres plages à insérer ?
De plus, tu veux qu'on insère ça dans quelle zone de ton doc WORD ?

CAP2

**********************FIN**********************************





CAP2
Le #16663701
Procédons par étapes Gilles,

le code que tu me renvoies c'est celui que j'ai écrit. Celui qui découle de
ta macro, tu le trouveras en ouvrant ton fichier, en faisant Alt F11 et en
double-cliquant (sur la gauche de l'écran) sur la feuille "Module" de ton
fichier...

Parcequ'effectivement, il faudra prévoir la suppression des liens déjà
établis.

Maintenant, j'attends juste que tu me précises bien à quel endroit de ton
doc Word tu veux insérer des liens et vers quelles cellules du fichier excel
ces liens doivent pointer.

Le code que j'ai écrit est maintenant "universel" puisqu'il va à la
recherche du dossier en cours pour y trouver le fichier Fiche info
affaire.xls, donc une fois que tu m'auras donné ces précisions, je fais le
truc,je te l'envoie via cjoint et ça doit tourner ;o)))

Ca marche ?

CAP2

"gilles"
OK
je te remets donc ma réponse à tes questions:


A l'origine je m'étais dis que quelques données placées en en-tête, à
droite
, ça irait
...et c'est toujours le cas, mais sur la page il y a plusieurs données qui
pourraient être placées ici ou là
en surfant j'ai cru voir qu'on pouvait placer des signets et les numéroter
(faut deja que je vois ce qu'est un signet sur word!!)
Sinon il y a un petit pb (quand même!)
si jouvre et ferme 3 fois le fichier, les données viennent se mettre bout
à
bout, et on crée 3 liaisons
pendant que tu t'arrachais les cheveux, j'ai enregistré une macro, pour
supprimer ces liaisons (et eventuellement effacer les donnees) avant de
copier la nouvelle liaison, mais j'obtiens juste ce code:

Private Sub Document_Open()
Dim dossier
Dim lien As String
Dim final As String

dossier = Replace(ActiveDocument.Path, "", "\")

lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)

final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C8:L10C8 t "

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty,
Text:=final

Selection.Fields.Update

End Sub

à+(et merci encore)--


...et je t'ai posté un autre message pour te dire que mon copié collé se
faisat sur le code que tu m'avais fourni
voila
si tu as le courage de t'y replonger...
merci

--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...


"CAP2" a écrit :

Salut Gilles,

mais non tu me gaves pas. J'ai bien répondu à ton dernier message (27/08
à
16h53).

Moi, j'en suis à ce code qui trouve le dossier en cours où il y a tous
tes
fichiers et va chercher les infos en H8:H10. D'après ce que tu me disais,
ça
marchait bien...

Donc je te repose les mêmes questions que dans mon dernier post ;o))

A plus,

CAP2

Pour info, je te mets le texte de mes 2 derniers posts :

*********************DEBUT***********************************

Bon,

j'avance bien, on va procéder par étapes :

Partant du principe que tes utilsateurs vont avoir un dossier contenant
plein de fichiers, dont Fiche info affaire.xls, et des fichiers WORD où
tu
veux récupérer les valeurs des cellule H8 à H10, tu vs créer un doc WORD
vierge dans ton dossier où il y a tout...

Et sur son Open, tu mets ce code (le code cherche le nom du dossier en
cours, part à la recherche de Fiche info affaire.xls et de ses cellules
H8 à
H10 dans ce dossier, et fait crée mon code de champs. C'est une première
étape, parce qu'ensuite il faudra automatiser le positionnement du code

où tu le veux. Tu me diras ça après. Tente déjà ce code) :

Private Sub Document_Open()
Dim dossier
Dim lien As String
Dim final As String

dossier = Replace(ActiveDocument.Path, "", "\")

lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)

final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C8:L10C8 t "

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty,
Text:=final

Selection.Fields.Update

End Sub

Ca donne quoi ? Chez moi, ça marche bien !

CAP2

**********************FIN**********************************

Et voici le texte de mon dernier post :


*********************DEBUT***********************************

Bon,

déjà si ça marche avec ce premier jet, c'est qu'on avance dans la bonne
direction ;o))

Maintenant, l'import ne concerne-t-il que la plage H8:H10 ou bien
y'a-t-il
d'autres plages à insérer ?
De plus, tu veux qu'on insère ça dans quelle zone de ton doc WORD ?

CAP2

**********************FIN**********************************







gilles
Le #16663991
OK
les cellules d'XL sont B8 à B12 ( et non pas H comme je te l'avais dit)
- dans un prmier temps je souhaites le mettre dans l'entête à droite, ou il
effacera , à chaque ouverture les données qui ont été mises à l'ouverture
précédente (sinon il vient s'jouter aux données de lea fois précédente)
-dans un deuxième temps, j(aurais souhaité insérer d'autre données à des
endroits à définir (mais ça fera l'objet d'un autre développement!!)
j'esprère que c'est compréhensible
Il n' y a pas d'urgence, car je vais être obligé de quitter le fil dans 5min
j'irai voir les jours suivants
merci encore bon we



"CAP2" a écrit :

Procédons par étapes Gilles,

le code que tu me renvoies c'est celui que j'ai écrit. Celui qui découle de
ta macro, tu le trouveras en ouvrant ton fichier, en faisant Alt F11 et en
double-cliquant (sur la gauche de l'écran) sur la feuille "Module" de ton
fichier...

Parcequ'effectivement, il faudra prévoir la suppression des liens déjà
établis.

Maintenant, j'attends juste que tu me précises bien à quel endroit de ton
doc Word tu veux insérer des liens et vers quelles cellules du fichier excel
ces liens doivent pointer.

Le code que j'ai écrit est maintenant "universel" puisqu'il va à la
recherche du dossier en cours pour y trouver le fichier Fiche info
affaire.xls, donc une fois que tu m'auras donné ces précisions, je fais le
truc,je te l'envoie via cjoint et ça doit tourner ;o)))

Ca marche ?

CAP2

"gilles"
> OK
> je te remets donc ma réponse à tes questions:
>
>
> A l'origine je m'étais dis que quelques données placées en en-tête, à
> droite
> , ça irait
> ...et c'est toujours le cas, mais sur la page il y a plusieurs données qui
> pourraient être placées ici ou là
> en surfant j'ai cru voir qu'on pouvait placer des signets et les numéroter
> (faut deja que je vois ce qu'est un signet sur word!!)
> Sinon il y a un petit pb (quand même!)
> si jouvre et ferme 3 fois le fichier, les données viennent se mettre bout
> à
> bout, et on crée 3 liaisons
> pendant que tu t'arrachais les cheveux, j'ai enregistré une macro, pour
> supprimer ces liaisons (et eventuellement effacer les donnees) avant de
> copier la nouvelle liaison, mais j'obtiens juste ce code:
>
> Private Sub Document_Open()
> Dim dossier
> Dim lien As String
> Dim final As String
>
> dossier = Replace(ActiveDocument.Path, "", "\")
>
> lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)
>
> final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C8:L10C8 t "
>
> Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty,
> Text:=final
>
> Selection.Fields.Update
>
> End Sub
>
> à+(et merci encore)--
>
>
> ...et je t'ai posté un autre message pour te dire que mon copié collé se
> faisat sur le code que tu m'avais fourni
> voila
> si tu as le courage de t'y replonger...
> merci
>
> --
> en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
> aujourd'hui,
> mais à chaque jour suffit sa peine...
>
>
> "CAP2" a écrit :
>
>> Salut Gilles,
>>
>> mais non tu me gaves pas. J'ai bien répondu à ton dernier message (27/08
>> à
>> 16h53).
>>
>> Moi, j'en suis à ce code qui trouve le dossier en cours où il y a tous
>> tes
>> fichiers et va chercher les infos en H8:H10. D'après ce que tu me disais,
>> ça
>> marchait bien...
>>
>> Donc je te repose les mêmes questions que dans mon dernier post ;o))
>>
>> A plus,
>>
>> CAP2
>>
>> Pour info, je te mets le texte de mes 2 derniers posts :
>>
>> *********************DEBUT***********************************
>>
>> Bon,
>>
>> j'avance bien, on va procéder par étapes :
>>
>> Partant du principe que tes utilsateurs vont avoir un dossier contenant
>> plein de fichiers, dont Fiche info affaire.xls, et des fichiers WORD où
>> tu
>> veux récupérer les valeurs des cellule H8 à H10, tu vs créer un doc WORD
>> vierge dans ton dossier où il y a tout...
>>
>> Et sur son Open, tu mets ce code (le code cherche le nom du dossier en
>> cours, part à la recherche de Fiche info affaire.xls et de ses cellules
>> H8 à
>> H10 dans ce dossier, et fait crée mon code de champs. C'est une première
>> étape, parce qu'ensuite il faudra automatiser le positionnement du code
>> là
>> où tu le veux. Tu me diras ça après. Tente déjà ce code) :
>>
>> Private Sub Document_Open()
>> Dim dossier
>> Dim lien As String
>> Dim final As String
>>
>> dossier = Replace(ActiveDocument.Path, "", "\")
>>
>> lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)
>>
>> final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C8:L10C8 t "
>>
>> Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty,
>> Text:=final
>>
>> Selection.Fields.Update
>>
>> End Sub
>>
>> Ca donne quoi ? Chez moi, ça marche bien !
>>
>> CAP2
>>
>> **********************FIN**********************************
>>
>> Et voici le texte de mon dernier post :
>>
>>
>> *********************DEBUT***********************************
>>
>> Bon,
>>
>> déjà si ça marche avec ce premier jet, c'est qu'on avance dans la bonne
>> direction ;o))
>>
>> Maintenant, l'import ne concerne-t-il que la plage H8:H10 ou bien
>> y'a-t-il
>> d'autres plages à insérer ?
>> De plus, tu veux qu'on insère ça dans quelle zone de ton doc WORD ?
>>
>> CAP2
>>
>> **********************FIN**********************************
>>
>>
>>





CAP2
Le #16664441
Bon Gilles,

t'as plus qu'à remplacer mon ancienne macro par celle-ci qui va à
l'ouverture du fichier Word faire tout ça :
vider l'ancien entête, aller chercher sur le fichier Excel "Fiche Info
Affaire.xls" les valeurs des cellules B8 à B12, rappatrier le tout en entête
à droite. C'est bien ce que tu voulais ?! ;o)) :

Donc tu ouvres ton fichier Word, tu fais Alt F11, tu regardes à gauche de
l'écran, tu vois ton fichier Word, tu double-cliques sur son ThisDocument et
tu colles ça (ça marche chez moi) :

Private Sub Document_Open()
Dim dossier
Dim lien As String
Dim final As String

dossier = Replace(ActiveDocument.Path, "", "\")

lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)

final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C2:L12C2 t "

If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If

If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If

ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader

Selection.WholeStory
Selection.Delete

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=final

Selection.WholeStory
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight

Selection.Fields.Update

ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument

End Sub

Voilà, j'attends que tu me dise ce que ça donne, et si on continue pour
rappatrier d'autres infos à d'autres endroits du document Word ;o))

Ca marche ?

CAP2
gilles
Le #16680891
salut CAP
ma réponse n'a pas été prise en compte
donc je disais: NICKEL
il reste, si tu es OK un tric à creuser:
inérer d'autre données sur la feuille, à divers endroits, toujours depuis la
même fichier XL fiche info affaire
mettons B15 à un endroit(signet?)
et B20 à un autre
Par contre ur le code j'ai un truc bizarre:
si j'ouvre et ferme plusieurs fois le fichier word, 1 fois sur 2 j'ai un
message qui me dit que"Ficche info affaire.xls" est deja ouvert, alors qu'XL
est fermé
bizarre non?
à+
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"CAP2" a écrit :

Bon Gilles,

t'as plus qu'à remplacer mon ancienne macro par celle-ci qui va à
l'ouverture du fichier Word faire tout ça :
vider l'ancien entête, aller chercher sur le fichier Excel "Fiche Info
Affaire.xls" les valeurs des cellules B8 à B12, rappatrier le tout en entête
à droite. C'est bien ce que tu voulais ?! ;o)) :

Donc tu ouvres ton fichier Word, tu fais Alt F11, tu regardes à gauche de
l'écran, tu vois ton fichier Word, tu double-cliques sur son ThisDocument et
tu colles ça (ça marche chez moi) :

Private Sub Document_Open()
Dim dossier
Dim lien As String
Dim final As String

dossier = Replace(ActiveDocument.Path, "", "\")

lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)

final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C2:L12C2 t "

If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If

If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If

ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader

Selection.WholeStory
Selection.Delete

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=final

Selection.WholeStory
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight

Selection.Fields.Update

ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument

End Sub

Voilà, j'attends que tu me dise ce que ça donne, et si on continue pour
rappatrier d'autres infos à d'autres endroits du document Word ;o))

Ca marche ?

CAP2





gilles
Le #16681941
Re-salut CAP
ci-dessous ton code que j'ai complété pour insérer sur la page
apparemment, ça marche
mais il me reste le petit pb de message à l'ouverture du fichier word 1 fois
sur 2
Fiche info affaire.xls" est deja ouvert, si vous l'ouvrez à nouveau vos
modifications seront perdues. Voulez vous rouvrir "Fiche info affaire.xls",
alors qu'XL est fermé

Si tu vois kekchose àa ce sujet ou dans la modif proposée, n'hésite pas
mais dans tous les cas, un grand merci ;
là ça correspond à ce que je cherchais
merci CAP
à+


Private Sub Document_Open()
Dim dossier
Dim lien As String
Dim finalA As String
Dim finalB As String
Dim finalC As String

dossier = Replace(ActiveDocument.Path, "", "\")

lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)
finalA = "LINK Excel.Sheet.8 " & lien & " fiche!L8C2:L10C2 t "

If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If

If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If

ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader

Selection.WholeStory
Selection.Delete

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=finalA

Selection.WholeStory
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight

Selection.Fields.Update

ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
'signet "numéro"
finalB = "LINK Excel.Sheet.8 " & lien & " fiche!L12C2:L12C2 t "
Selection.GoTo What:=wdGoToBookmark, Name:="numero"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByLocation
.ShowHidden = False
End With
Selection.Delete
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=finalB
Selection.Fields.Update

'signet "date"
finalC = "LINK Excel.Sheet.8 " & lien & " fiche!L24C2:L24C2 t "
Selection.GoTo What:=wdGoToBookmark, Name:="date"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByLocation
.ShowHidden = False
End With
Selection.Delete
Selection.Fields.Add

--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"CAP2" a écrit :

Bon Gilles,

t'as plus qu'à remplacer mon ancienne macro par celle-ci qui va à
l'ouverture du fichier Word faire tout ça :
vider l'ancien entête, aller chercher sur le fichier Excel "Fiche Info
Affaire.xls" les valeurs des cellules B8 à B12, rappatrier le tout en entête
à droite. C'est bien ce que tu voulais ?! ;o)) :

Donc tu ouvres ton fichier Word, tu fais Alt F11, tu regardes à gauche de
l'écran, tu vois ton fichier Word, tu double-cliques sur son ThisDocument et
tu colles ça (ça marche chez moi) :

Private Sub Document_Open()
Dim dossier
Dim lien As String
Dim final As String

dossier = Replace(ActiveDocument.Path, "", "\")

lien = Chr(34) & dossier & "\Fiche info affaire.xls" & Chr(34)

final = "LINK Excel.Sheet.8 " & lien & " fiche!L8C2:L12C2 t "

If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If

If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If

ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader

Selection.WholeStory
Selection.Delete

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=final

Selection.WholeStory
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight

Selection.Fields.Update

ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument

End Sub

Voilà, j'attends que tu me dise ce que ça donne, et si on continue pour
rappatrier d'autres infos à d'autres endroits du document Word ;o))

Ca marche ?

CAP2





Publicité
Poster une réponse
Anonyme