Insérer en VBA un doc Word dans un UserForm

Signaler
Messages postés
8
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
28 novembre 2008
-
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
-
Bonjour,

J'ai besoin d'afficher du texte formaté dans un UserForm VBA sous Word

Faute de pouvoir utiliser un RichTextBox (ce qui ne semble pas possible) il serait peut-être possible de poser un document word dans le UserForm et de lui passer du texte formaté ?

Oui/Non ?
Si oui, comment ?
Sinon quelle autre idée ?

Merci d'avance à tous

6 réponses

Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Bonjour
la seule possibilité c'est de convertir un Word en RTF et de l'afficher dans un RichTextBox. 
A tout ceux qui ne peuvent pas se passer des formats propriétaire point de salut.
Messages postés
8
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
28 novembre 2008

Sauf qu'en VBA (sauf erreur de ma part) on ne PEUT pas insérer un RichTextBox dans un UserForm.

(ou alors y'a une astuce que je n'ai pas trouvée et ... dont je serais preneur !)
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
Salut,
IL semblerait qu'en passant par un USERCONTROL (contenant le RichTextBox) cela puisse etre contourné => ICI

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Y a quelque chose qui me chagrine au plus haut point, si on est en VBA c'est qu'on a Word ou Excel d'installer sur la même machine?
Alors pourquoi un RichTextBox dans une form?
Une session word ne suffit t'elle pas?
Messages postés
8
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
28 novembre 2008

Loulou, parce le UserForm sert à saisir des données et qu'il est souhaitable que l'utilisateur ait sous les yeux certains éléments du document en cours (péchés à droite ou à gauche et synthétisés dans le UserForm).

Ceci dit, je ne sais pas ouvrir une session word dans un form et je suis preneur de cette solution (avec si possible la combine pour planquer une partie des menus et des raccourcis clavier) !
Le mieux pour moi serait d'avoir non pas une session word mais un objet document word juste affiché.
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Donc, je ne reviens pas sur ce que j'ai dit dans mes deux réponses.


J'ai déjà utilisé la solution de jrivet à savoir riched20.dll dont une solution est disponible sur le site vbaccelerator mais je constate qu'avec Windows XP SP cela ne fonctionne plus : alors s'il existe un projet qui tourne en VBA et/ou VB6 je suis aussi preneur tout en sachant que cela n'a pas d'avenir.


Ensuite, il peut appartenir à l'utilisateur de lire le document en l'ouvrant avant d'appeler ta form. C'est beaucoup moins dansgereux que de chercher une solution non fiable.


Il m'est arrivé le besoin d'ouvrir les documents de manière très superficielle pour indiquer dans une form qui me permettait de saisir les informations de classement documentaire et parfois au lieu d'ouvrir le document j'utilisais dans la boite "Fichier/Ouvrir " de Word , le mode "aperçu" à droite du champ "Regarder dans" sous Word 2003.


Ouvrir une session Word
Sans faire de copier/coller de mémoire désolé si cela ne fonctionne pas


Dim oWord
Dim oDoc
Set oWord = CreateObject("Application.Word")
Set oDoc= oWord.Documents.Open("c:\toto.doc")
Dim oParagraph
For each oParagraph in oDoc.Paragraphs
   dim oRange
   set oRange= oParagraph.Text
   ... Traiter le contenu de chaque paragraphe de mon document
Next
Set oDoc=Nothing
Set oWrd=Nothing