Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pour collage spécial image dans Word

  • Initiateur de la discussion Initiateur de la discussion Taote
  • 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 !

Taote

XLDnaute Nouveau
Bonjour le forum,

J'ai bien cherché dans le forum et dans l'aide de VBA, mais je désespère d'arriver à maitriser "l'habillage" des images collées sous Word, pour que les images soient alignées sur le texte au lieu d'être devant le texte 😕 (je pars d'une sélection sous Excel). Et pas moyen d'enregistrer la commande avec l'enregistreur de Macro, car cette option dans le format de l'image est grisée en mode enregistrement de Macro 😡 .

J'arrive à coller des tableaux Excel dans un fichier Word avec les lignes suivantes

Code:
Dim AppWord As Word.Application
Dim DocWord As Word.Document
Set AppWord = New Word.Application
AppWord.Visible = True
Set DocWord = AppWord.Documents.Add
...
Selection.Copy
With AppWord.Selection
    .PasteSpecial DataType:=wdPasteEnhancedMetafile
    .InsertBreak Type:=wdPageBreak
End With

Quelqu'un saurait-il quel paramètre ajouter dans le PasteSpecial pour l'alignement sur le texte?

Et puis j'ai un autre problème avec le fichier Normal.dot... Quand je ferme le fichier Word, j'ai un message d'erreur car le fichier Normal.dot est déjà en cours d'utilisation et puis un deuxième message pour me demander d'enregistrer le nouveau Normal.dot. Comment éviter ces messages?

Merci d'avance
 
Re : Macro pour collage spécial image dans Word

Bonjour Taote,

à tester, à la fin du code pour le collage spécial :


Code:
With AppWord.Selection
    .PasteSpecial DataType:=wdPasteEnhancedMetafile, Link:=False, Placement:= _
        wdInLine, DisplayAsIcon:=False
    .InsertBreak Type:=wdPageBreak
End With
 
Re : Macro pour collage spécial image dans Word

Génial!! 🙂 On a bien des images alignées sur le texte. Merci Tototiti2008 !!

Saurais-tu quoi faire pour le message en fermant Word "Fichier utilisé par un autre utilisateur ou une autre application. (C:\..`\Normal.dot)"
Je fais OK et j'ai un enregistrer sous pour Normal.dot et si j'essaie d'enregistrer, j'ai un message me disant qu'il est lecture seule..
Je suis un peu perdu avec ce Normal.dot 😱

Merci d'avance
 
Re : Macro pour collage spécial image dans Word

En fait mon problème de normal.dot se produit quand j'ai déjà un document Word ouvert et je pense que cela vient de l'instruction
Set AppWord = New Word.Application

Si j'enlève le New quand j'ai un document d'ouvert, cela passe.

Maintenant mon problème est que je voudrais que ma macro s'exécute aussi bien quand Word est déjà lancé ou non.

J'ai essayé sans succès le code suivant, c'est-à-dire que j'ai toujours les messages pour enregistrer Normal.dot, que Word soit déjà ouvert ou non. Y'a peut-être plus simple...😕
Code:
Dim AppWord As Word.Application
Dim DocWord As Word.Document

On Error GoTo TraiteErreur
Set AppWord = Word.Application
TraiteErreur:
Set AppWord = New Word.Application
On Error GoTo 0

AppWord.Visible = True
Set DocWord = AppWord.Documents.Add
 
Re : Macro pour collage spécial image dans Word

Bonjour Taote,

à tester :

Code:
Dim AppWord As Word.Application
Dim DocWord As Word.Document

On Error GoTo TraiteErreur
Set AppWord = Word.Application
On Error GoTo 0
AppWord.Visible = True
Set DocWord = AppWord.Documents.Add
...
Exit Sub
TraiteErreur:
Set AppWord = New Word.Application
resume next
End Sub
 
Re : Macro pour collage spécial image dans Word

Super merci, je vais tester. Entre temps, je pensais aussi m'orienter vers des boutons d'options (nouveau ou actif) et utiliser if then...

J'ai un autre petit problème, pour insérer du texte dans word juste à l'endroit ou on se trouve dans le fichier. J'ai trouvé dans les Wiki

With wordDoc.Content
.Collapse Direction:=wdCollapseEnd 'derniere ligne du document
.insertBreak Type:=wdLineBreak 'insert saut de ligne
.Text = "Le texte à ajouter"
End With

Mais je n'arrive à pas à utiliser ce code pour ne pas aller en fin de document. Comme je colle une succession de tableaux sous Word, je voudrais entre chaque pouvoir insérer une variable indiquant quelle portion d'Excel est collée...
 
- 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
656
Réponses
0
Affichages
721
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…