Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de presse-papier excel vers word

2 réponses
Avatar
Richard G.
Bonjour,

J'automatise le transfert de donn=E9es d'excel vers word avec cette
macro :

Sub zerco()

Dim wd As word.Application
Dim docu As word.Document

Set wd =3D New word.Application
wd.Documents.Add Template:=3D"C:\Program Files\Microsoft
Office\Templates\NORMAL.dot", NewTemplate:=3DFalse
wd.Visible =3D True
Set docu =3D wd.ActiveDocument


' S=E9lectionne, met en forme et colle dans Word

Range("A1").Select

For Each c In Range("A1:A3000")
If c <> 0 Then Selection.Copy
wd.Selection.TypeParagraph
wd.Selection.PasteSpecial Link:=3DFalse, DataType:=3DwdPasteRTF
wd.Selection.ParagraphFormat.Alignment =3D
wdAlignParagraphJustify
wd.Selection.TypeParagraph
Selection.Delete


Next

wd.Selection.Goto What:=3DwdGoToPage, Which:=3DwdGoToNext, Name:=3D"1"
wd.Application.Browser.Target =3D wdBrowsePage

End Sub


Le probl=E8me : =E7a marche bien au d=E9but. Mais au bout d'un momenet =E7a
bugge.
J'ai le message d'erreur suivant :
erreur d'ex=E9cution 4605. Cette m=E9thode ou propri=E9t=E9 n'est pas
disponible car le presse-papiers ets vide ou non valide
La ligne incrimin=E9e :
wd.Selection.PasteSpecial Link:=3DFalse, DataType:=3DwdPasteRTF

Je ne comprends pas ce que =E7a peut =EAtre. Peut-=EAtre devrais-je vider
r=E9guli=E8rement le presse-papier ?=20
Merci pour votre aide !

A+

2 réponses

Avatar
Stéphane L.
Bonjour Richard,

Essaye comme ceci, ou dans la même logique :

If c <> 0 Then
Selection.Copy
wd.Selection.TypeParagraph
wd.Selection.PasteSpecial Link:úlse, DataType:=wdPasteRTF
wd.Selection.ParagraphFormat.Alignment wdAlignParagraphJustify
wd.Selection.TypeParagraph
Selection.Delete
end if

Stéphane

"Richard G." a écrit dans le message de news:

Bonjour,

J'automatise le transfert de données d'excel vers word avec cette
macro :

Sub zerco()

Dim wd As word.Application
Dim docu As word.Document

Set wd = New word.Application
wd.Documents.Add Template:="C:Program FilesMicrosoft
OfficeTemplatesNORMAL.dot", NewTemplate:úlse
wd.Visible = True
Set docu = wd.ActiveDocument


' Sélectionne, met en forme et colle dans Word

Range("A1").Select

For Each c In Range("A1:A3000")
If c <> 0 Then Selection.Copy
wd.Selection.TypeParagraph
wd.Selection.PasteSpecial Link:úlse, DataType:=wdPasteRTF
wd.Selection.ParagraphFormat.Alignment wdAlignParagraphJustify
wd.Selection.TypeParagraph
Selection.Delete


Next

wd.Selection.Goto What:=wdGoToPage, Which:=wdGoToNext, Name:="1"
wd.Application.Browser.Target = wdBrowsePage

End Sub


Le problème : ça marche bien au début. Mais au bout d'un momenet ça
bugge.
J'ai le message d'erreur suivant :
erreur d'exécution 4605. Cette méthode ou propriété n'est pas
disponible car le presse-papiers ets vide ou non valide
La ligne incriminée :
wd.Selection.PasteSpecial Link:úlse, DataType:=wdPasteRTF

Je ne comprends pas ce que ça peut être. Peut-être devrais-je vider
régulièrement le presse-papier ?
Merci pour votre aide !

A+
Avatar
Richard G.
Merci effectivement je n'ai plus le message d'erreur.
Pourtant, toutes les données dans la Range("A1:A3000") ne sont pas
copiées.
La macro s'arrête avant d'avoir atteindre une ligne vide.
Une idée ?