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

Copier coller de excel vers word transparent sans couleur

3 réponses
Avatar
Luc
Bonjour,
J'ai un tableau dans excel 2010 et je voudrais le copier dans word 2010
Le tableau comporte des couleurs
Comment faire un copier coller sans couleur, transparent
J'y arrivai avant avec excel et word 2003 en collage special image

Merci d'avance de vos lumieres
Luc

3 réponses

Avatar
MichD
Bonjour,

Un exemple de code pour copier la plage A1:D5
vers un tableau d'un nouveau fichier Word sans
la couleur. Le formatage des bordures est optionnel.


'--------------------------------------------------
Sub test()
Dim Rg As Range
Dim Wd As Object
Dim Dc As Object, C As Column
Dim T As Object, P As Row
Dim A As Integer, B As Integer
Dim Bb As Border

'Defined range to copy
With Worksheets("Feuil1")
Set Rg = .Range("A1:D5")
End With

Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add

Set T = Dc.Tables.Add(Range:Ü.Range, _
NumRows:=Rg.Rows.Count, _
NumColumns:=Rg.Columns.Count)

For A = 1 To Rg.Rows.Count
For B = 1 To Rg.Columns.Count
T.Cell(A, B).Range = Rg(A, B)
Next
Next

'To apply borders if necessary
With T
For Each C In .Range.Columns
C.Borders(wdBorderHorizontal).Visible = True
Next
For Each P In .Range.Rows
P.Borders(wdBorderVertical).Visible = True
Next
For A = -4 To -1
.Range.Borders(A) = True
Next
End With

End Sub
'--------------------------------------------------

MichD
---------------------------------------------------------------
Avatar
Luc
MichD avait écrit le 15/03/2013 :
Bonjour,

Un exemple de code pour copier la plage A1:D5
vers un tableau d'un nouveau fichier Word sans la couleur. Le formatage des
bordures est optionnel.


'--------------------------------------------------
Sub test()
Dim Rg As Range
Dim Wd As Object
Dim Dc As Object, C As Column
Dim T As Object, P As Row
Dim A As Integer, B As Integer
Dim Bb As Border

'Defined range to copy
With Worksheets("Feuil1")
Set Rg = .Range("A1:D5")
End With

Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add

Set T = Dc.Tables.Add(Range:Ü.Range, _
NumRows:=Rg.Rows.Count, _
NumColumns:=Rg.Columns.Count)

For A = 1 To Rg.Rows.Count
For B = 1 To Rg.Columns.Count
T.Cell(A, B).Range = Rg(A, B)
Next
Next

'To apply borders if necessary
With T
For Each C In .Range.Columns
C.Borders(wdBorderHorizontal).Visible = True
Next
For Each P In .Range.Rows
P.Borders(wdBorderVertical).Visible = True
Next
For A = -4 To -1
.Range.Borders(A) = True
Next
End With

End Sub
'--------------------------------------------------

MichD
---------------------------------------------------------------



ok bien recu, mais un peu neophyte dans les codes
comment on fait pour rentrer les codes ?
Merci
Luc
Avatar
MichD
| comment on fait pour rentrer les codes ?

Tu ouvres l'éditeur de code (macro) d'Excel.
Tu peux utiliser le raccourci clavier : Alt + F11

Dans la fenêtre ouvrante/ barre de menu / insertion /
tu ajoutes un module standard.
Tu copies le code dans ce module.

Après dans la procédure, tu dois définir ces variables :

With Worksheets("Feuil1") 'Nom de la feuille où sont les données
Set Rg = .Range("A1:D5") ' la plage de cellule à copier dans Word
End With


MichD
---------------------------------------------------------------