Controle du raffraichissement d'un objet Word dans EXCEL (OleObject)

Orpheu

XLDnaute Nouveau
Bonjour à tous,
Me voici de retour après une longue absence. Maintenant à la retraite je ne passe plus trop de temps sur mon ordi, et je reconnais avoir délaissé ce forum. Je vais faire un effort pour tenter d'apporter ma contribution.

En attendant voici mon problème aujourd'hui: Je travaille sur un logiciel qui gère des textes (entre autres) dans une base MySQL. A chaque affichage d'un élément de l'arborescence la page (Feuille EXCEL) présente un objet WORD lié à un fichier externe. Lorsque l'objet (shape) est créé, le contenu apparaît dans la zone de texte. Si l'utilisateur clique dans l'objet une session WORD s'ouvre. Mais à la sortie (fermeture de la fenêtre WORD) la géométrie du contrôle n'est pas adaptée (les polices sont déformées: voir dans l'image ci-dessous le texte à droite de la feuille ).
Ecran_r.jpg

J'ai pensé que je devrais simplement recréer l'objet (shape) de façon à ce qu'il s'adapte au nouveau contenu, mais je n'arrive pas à capter cet événement. Par ailleurs il n'y a même pas de WorkBook_Activate lors du retour de Word.

Quelqu'un sait il comment faire en sorte (au niveau des propriétés de l'OLEObject) que l'affichage du contenu soit correct après modification dans Word, ou bien comment je pourrais intervenir pour reformater l'objet à chaque modification du fichier lié ?

Voici un extrait de la procédure qui crée l'objet...
Code:
Dim OleObj As OLEObject
Dim NfDoc As String            
...
' le fichier est créé et localisé (NfDoc)
' un nom de plage (TEXT) désigne l'emplacement de l'objet 
' je ne définis pas la hauteur: elle s'ajuste automatiquement avec l'affichage du texte
...
Set OleObj = ActiveSheet.OLEObjects.Add(Filename:=NfDoc, Link:=True, DisplayAsIcon:=False)
DoEvents
With OleObj
    .Left = ActiveSheet.Range("TEXT").Left
    .Top = ActiveSheet.Range("TEXT").Top
    .Width = ActiveSheet.Range("TEXT").Width
    .Placement = xlMove
End With
Cells(1, 1).Select
...

Merci et Bonne année à tous
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino