Commander Word à partir d'Excel

  • Initiateur de la discussion Initiateur de la discussion nak
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nak

XLDnaute Occasionnel
Bonjour à tous,

Aujourd'hui j'essai de créer un document Word à partir d'Excel.
J'ai donc activé la référence MS Word et j'écris mon docx ligne par ligne. Cela fonctionne plutot bien.

Néanmoins je rencontre un problème avec le BackgroundPatternColor.
Lorsque j'écris mon titre j'applique un fond bleu avec une police blanche. Ensuite je vais à la ligne et j'applique un fond blanc pour écrire un second paragraphe.
Malheureusement le fond s'applique toujours pour mon paragraphe ET mon titre. Je n'arrive pas à différentier les deux.

Voici mon code :
Code:
Sub Passage_Excel_Word()
Dim appWord As New Word.Application
Dim docWord As New Word.Document

' Il faut créer un nouveau document Word dans l'application Word ou ouvrir un existant
With appWord
    .Visible = True
    Set docWord = .Documents.Open(ThisWorkbook.Path & "\essai.docx") 'Set docWord = .Documents.Add
    .Activate
End With

'Dans Word on ajoute une ligne de titre avec une mise en forme
With appWord.Selection
    .TypeText Text:="Chiffre d'affaire 2013"
    .HomeKey Unit:=wdLine
    .EndKey Unit:=wdLine, Extend:=wdExtend
    .ParagraphFormat.Alignment = wdAlignParagraphCenter
    .Font.Size = 18
    .Font.Color = wdColorWhite 'blanc
    .Shading.Texture = wdTextureNone
    .Shading.ForegroundPatternColor = wdColorAutomatic
    .Shading.BackgroundPatternColor = -553582593 'Je mets mon titre sur fond bleu
    
    .EndKey Unit:=wdLine
    .TypeParagraph

    .Font.Color = wdColorAutomatic
    .Font.Size = 12
    .TypeText Text:="essai" 'ICI, je n'arrive pas à écrire mon texte sur fond automatique (blanc)
    
    '.Shading.Texture = wdTextureNone
    '.Shading.ForegroundPatternColor = wdColorAutomatic
    '.Shading.BackgroundPatternColor = wdColorAutomatic


'Copier le tableau Excel dans le presse papier
    Range("a1:b13").Copy
    
' Coller le tableau dans Word avec liaison
    .EndKey Unit:=wdLine
    .TypeParagraph
    .PasteSpecial Link:=True, Placement:=wdInLine ', DisplayAsIcon:=False, DataType:=wdPasteOLEObject

' Remise à zéro du style
    .Shading.Texture = wdTextureNone
    .Shading.ForegroundPatternColor = wdColorAutomatic
    .Shading.BackgroundPatternColor = wdColorAutomatic

'Un autre paragraphe    
    .Font.Color = wdColorAutomatic
    .TypeText Text:="essai"

'Aller au début du document
    .HomeKey Unit:=wdStory

End With

'Réinitialiser l'objet
Set appWord = Nothing

'End With

End Sub


Avez-vous une idée pour mon problème ? Peut-être un saut de section ?

Merci

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
594
Réponses
2
Affichages
2 K
Retour