J'ai cherché sur plusieurs forum, mais rien trouver de concluant.
Voici ce que je souhaite réaliser : Copier la sélection de cellules Excel et la coller sous forme d'image dans Word à l'emplacement actif du curseur.
J'arrive à tout faire sauf à positionner mon "collage" à l'endroit où se trouve le curseur.
Voici mon code :
VB:
Sub Copier_Colle_Image_Cellule_selectionnée()
Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
Set wdapp = GetObject(, "Word.Application")
wdapp.activedocument.Range(0, 0).PasteSpecial Placement:=wdInLine
wdapp.Activate
End Sub
Hé oui Hervé, j'avais omis cette précision importante (sorry)
Juste incroyables !!!
Vous êtes juste incroyables
Merci à vous pour vos solutions.
Petit débriefing : sur mon ordi toutes fonctionnent sauf malheureusement celle de Staple1600
Ensuite, lorsque le curseur du document Word est dans un texte, la macro ajoute un retour. Le texte qui suit le curseur va donc à la ligne.
J'ai aussi reçu une réponse d'Eric Kergresse que j'avais contacté en privé et qui a trouvé lui aussi une solution qui fonctionne. Avec la sienne, lorsque le curseur est dans du texte, le texte qui suit ne va pas à la ligne. C'est exactement ce dont j'ai besoin. Je vais donc utiliser son code :
VB:
Sub Copier_Coller_Image_Cellule_selectionnée_Kergresse()...
l’inconvénient avec la méthode de Eric c'est qu'ajouter un paragraphe change le count du range de plus de 1
si tu dois faire plusieurs insertions ben c'est pas de la tarte pour le move
un paragraphe c'est un paragraphe c'est pas un insert string ou autre
ici tu insert une image de ta sélection tu ne dois augmenter le range pour (unit) que de 1 et tu n'aura pas de soucis à avancer dans le document
donc tout simplement .paste
Resalut Patrick,
Merci pour l'info. J'ai fais un test d'insertions multiples avec le code d'Eric et cela fonctionne toujours, même si j'insère à plusieurs endroits du documents word.
Mais merci, je sais que je devrai surveiller cela.