OVH Cloud OVH Cloud

Coller le presse papier en VBA

14 réponses
Avatar
Christian
Bonjour à tous

Voila, pour une application multi logiciels, je souhaite copier, par
l'intermédiaire de VBA, une colonne d'un tableau Excel dans un document
Word.
Copier la colonne dans le presse papier depuis Excel avec VBA ne pose pas de
problème, c'est le collage dans Word qui pose problème.

En effet le "ActiveDocument.Selection.paste" ne marche pas

Merci pour vos réponses


C.L.

10 réponses

1 2
Avatar
Geo
Bonsoir Christian,

Fais une recherche dans l'aide vba onglet index avec :
"Presse-papiers"
et regarde plutôt la méthode GetFromClipboard.

--

A+



Bonjour à tous

Voila, pour une application multi logiciels, je souhaite copier, par
l'intermédiaire de VBA, une colonne d'un tableau Excel dans un
document Word.
Copier la colonne dans le presse papier depuis Excel avec VBA ne
pose

pas de problème, c'est le collage dans Word qui pose problème.

En effet le "ActiveDocument.Selection.paste" ne marche pas

Merci pour vos réponses


C.L.


Avatar
Anacoluthe
Bonjour !

"Christian" nous a écrit ...
Copier la colonne dans le presse papier depuis Excel avec VBA ne pose
pas de problème, c'est le collage dans Word qui pose problème.
En effet le "ActiveDocument.Selection.paste" ne marche pas


Selection.Paste suffit !!!
Pas besoin du GetFromClipBoard de Geo pour si peu ;-)

Anacoluthe
« Ce n’est pas la colle qui fait le collage. »
- Max ERNST

Avatar
Guy Moncomble
Bonjour à tous,
dans le message ,

|| Copier la colonne dans le presse papier depuis Excel avec VBA ne pose
|| pas de problème, c'est le collage dans Word qui pose problème.
|| En effet le "ActiveDocument.Selection.paste" ne marche pas
|
| Selection.Paste suffit !!!

Je crois que c'est une fois de plus l'occasion de rappeler qu'il y a des
pratiques de programmation aberrantes compte tenu des outils dont nous
disposons. Si christian voulait bien prendre la peine de cocher les 3
premières options de l'éditeur VBA (pour ma part, je les ai toutes
cochées), il saurait que l'objet ActiveDocument n'a pas de propriété
Selection et encore moins de méthode Paste. Quand on veut obtenir de
l'aide sur un mot clé il suffit de mettre le curseur sur lui et de faire
F1, idem à partir de la fenêtre référence, il suffit d'effectuer une
recherche puis de faire F1.
Ce n'est quand même pas compliqué, bon sang de bois #:o+ --
A+

GMO MVP des maux.
Avatar
Ouille ouille ouille !!!! Y a Guy qui se fâche !!!! :-(

Bon, j'espère que tout le monde a compris que l'objet ActiveDocument n'a pas
de propriété
Selection ni de méthode Paste !!!
C'est pourtant pas compliqué bon dieu de bois ! Quand on tape le point, Word
propose tout ce qui est possible et Selection n'en fait pas partie !!!

Ben, moi, je vous le dis : mieux vaut faire partie du club des AMIS, parce
que dans ce club, au moins, on ne se fait pas eng...er... ;-)))))

nuindacil


Anacoluthe wrote:
|| Bonjour !
||
|| "Christian" nous a écrit ...
||| Copier la colonne dans le presse papier depuis Excel avec VBA ne
||| pose pas de problème, c'est le collage dans Word qui pose problème.
||| En effet le "ActiveDocument.Selection.paste" ne marche pas
||
|| Selection.Paste suffit !!!
|| Pas besoin du GetFromClipBoard de Geo pour si peu ;-)
||
|| Anacoluthe
|| « Ce n’est pas la colle qui fait le collage. »
|| - Max ERNST
Avatar
geo
Bonjour

Quand on tape le point, Word
propose tout ce qui est possible


Il ne le fait que si on a coché les bonnes options,
ce que tu as fait semble-t-il.

A+

Avatar
Christian
Bonjour à tous

Merci pour toutes vos réponses

Le problème, qui n'est toujours pas résolu, c'est que quand je tape
"Selection" suivi d'un point, VBA ne me propose rien.
Hors quand j'affiche l'exporateur d'objet, selection à bien la méthode
"Paste"

Quand je programme ces deux lignes
" WordApp.Documents(1).Activate
" Selection.Paste

VBA passe la première, et but sur la deuxième en précisant que la "Propriété
n'est pas supportée par l'objet"

D'autre part, quand j'enregistre automatiquement la macro de collage dans
Word, c'est la deuxième ligne qui est enregitrée

Mystère..............

Christian L.



"geo" a écrit dans le message de
news:029401c39e05$7b633470$
Bonjour

Quand on tape le point, Word
propose tout ce qui est possible


Il ne le fait que si on a coché les bonnes options,
ce que tu as fait semble-t-il.

A+

Avatar
Bonjour,
geo wrote:
| Bonjour
|
|| Quand on tape le point, Word
|| propose tout ce qui est possible
|
| Il ne le fait que si on a coché les bonnes options,
| ce que tu as fait semble-t-il.

Ben je dirais plutôt que je ne les ai pas décochées !! ;-))

n'd'cil

|
| A+
Avatar
Christian
Bonjour à tous

Merci pour toutes vos réponses

J'ai résolu le problème, et comme vous m'avez aidé de manière si contructive
je vous donne la solution

Mon erreur était d'appliquer la sélection au document, comme ci dessous :

" WordApp.Documents(1).Activate
" Selection.Paste

alors, qu'il fallait appliquer la selection à l'application, comme ci
dessous :

" WordApp.Selection.Paste

WordApp étant bien sur l'objet "Application Word" que l'on va ouvrir et
reconaitre depuis Excel

Etant plus habitué a fréquenter les forums Excel et Autocad, je vous dit "A
bientôt"

Merci encore

Christian L.
Avatar
Attention Christian, tu vas te faire manger tout cru par Guy !!!

Il a dit que ActiveDocument n'avait pas de propriété Selection, il n'a pas
dit que Selection n'avait pas la méthode Paste !
Donc, comme t'a dit anacoluthe, tu peux simplement utiliser la méthode
Paste, mais avec Selection !

Selection.Paste

nuiundacil

Christian wrote:
|| Bonjour à tous
||
|| Merci pour toutes vos réponses
||
|| Le problème, qui n'est toujours pas résolu, c'est que quand je tape
|| "Selection" suivi d'un point, VBA ne me propose rien.
|| Hors quand j'affiche l'exporateur d'objet, selection à bien la
|| méthode "Paste"
||
|| Quand je programme ces deux lignes
|| " WordApp.Documents(1).Activate
|| " Selection.Paste
||
|| VBA passe la première, et but sur la deuxième en précisant que la
|| "Propriété n'est pas supportée par l'objet"
||
|| D'autre part, quand j'enregistre automatiquement la macro de collage
|| dans Word, c'est la deuxième ligne qui est enregitrée
||
|| Mystère..............
||
|| Christian L.
||
||
||
|| "geo" a écrit dans le message
|| de news:029401c39e05$7b633470$
|| Bonjour
||
||| Quand on tape le point, Word
||| propose tout ce qui est possible
||
|| Il ne le fait que si on a coché les bonnes options,
|| ce que tu as fait semble-t-il.
||
|| A+
Avatar
Anacoluthe
Bonjour !

"Christian" nous a écrit ...
Quand je programme ces deux lignes
" WordApp.Documents(1).Activate
" Selection.Paste
VBA passe la première, et but sur la deuxième
Mystère..............


Meuhhh non yapa mystère !!!!!!! C'est hyper-simple :

Si tu écris WordApp.Documents(1).Activate avec un 'WordApp'
c'est que l'application Word déclarée WordApp n'est pas ton
application par défaut (tu es dans excel ou dans n'importe
quoi d'autre supportant VBA, bref pas directement dans WordApp)
_Donc_ ta deuxième ligne doit être logiquement
WordApp.Selection.Paste
J'ose pas reprendre les termes de Guy (bsdb) ....
J'eng... personne, moi, pur sucre moi les AMIS :-D

Anacoluthe
« Ce n’est pas la colle qui fait le collage. »
- Max ERNST

1 2