Incorporer Word dans un Userform

Papynou

XLDnaute Occasionnel
Bonjour le forum,

Avec l'aide plusieurs forumeurs que je salue et remercie encore :) j'ai tenté de concrétiser l'idée de me servir d'un TextBox comme d'un traitement de texte, Word pour ne pas le citer, en incorporant à l'UserForm une barre d'outils "Format".

A part via VB.Net et l'utilisation d'un controle nommé Rich TextBox solution qui malheureusement est trop complexe à mettre en oeuvre, à cause du partage de l'application avec des utilisateurs non équipés de VB.Net, je n'ai pas trouvé de solution alors, j'ai abandonné l'idée de démarrage.

Mais, aujourd'hui, nouvelle idée puisque je n'ai pas de pétrole :D

Ma question est de de savoir s'il est possible à la place d'un TextBox d'incorporer autre chose, comme par exemple l'emplacement dans lequel je tape ce texte :confused:

Ca va surement paraître bizarre comme question mais je n'ai rien trouvé sur le Net et quand c'est comme ça je rapplique sur ce super forum :p
 

Bebere

XLDnaute Barbatruc
Re : Incorporer Word dans un Userform

bonjour Papynou
regarde ce code,si j'ai compris la demande,qui sait?

1. 'il faut rajouter Microsoft Excel 10.0 Object Library dans les references
2. 'déclaration de la chaine
3. Dim chaine As String
4. 'enregistrement de la chaine
5. chaine = Text1.Text
6. 'déclaration du tableau
7. Dim tableau() As String
8. 'lecture du textbox ligne par ligne avec pr caractere de séparation vbCrLf
9. tableau = Split(Text1, vbCrLf)
10.
11. nbligne = 0
12.
13. 'calcul du nombre de ligne
14. For j = 1 To Len(chaine)
15. If Mid(chaine, j, 1) = Chr(13) Then
16. nbligne = nbligne + 1
17. End If
18. Next j
19.
20. 'déclaration des chaines d'adresse
21. Dim adresse As String
22. Dim Source As String
23.
24. adresse = "C:\copie.xls"
25. Source = "C:\model.xls"
26.
27. 'creation et copie du fichier copie
28. Set dossier = CreateObject("Scripting.FileSystemObject")
29. copier = dossier.copyfile(Source, adresse)
30.
31. 'déclaration du systeme xls
32. Dim xls As excel.Workbook
33.
34. Set xls = GetObject(adresse)
35.
36. Dim ligneexcel As Integer
37. Dim cellule As String
38. ligneexcel = 1
39.
40. For j = 0 To nbligne
41.
42. 'composition des cellules pour la collone A
43. ligneexcel = ligneexcel + 1
44. cellule = Str(ligneexcel) 'cellule= " x" avec x le chiffre
45. Mid(cellule, 1, 1) = "A" 'remplace l'espace par la lettre de la collone
46.
47. 'copie dans les cellules du fichier xls
48. With xls
49. .Worksheets(1).Range(cellule).Value = tableau(j)
50. End With
51.
52. Next j
53.
54. 'enregistrement du fichier
55. xls.Save
56.
57. 'initialisation de la variable xls
58. Set xls = Nothing



Dim NbreLignes As Integer
Dim i As Integer
Dim Chaine As String
ReDim lignes(0) As String

Chaine = TextBox1
NbreLignes = Len(Chaine) – Len(Replace(Chaine‚ Chr(13)‚ “")) + 1
'MsgBox NbreLignes
ReDim lignes(NbreLignes – 1)

For i = 1 To NbreLignes – 1
lignes(i – 1) = Left(Chaine‚ InStr(Chaine‚ Chr(13)) – 1)
Chaine = Replace(Chaine‚ lignes(i – 1)‚ “")
Chaine = Right(Chaine‚ Len(Chaine) – 2)
Next i
lignes(i – 1) = Chaine

' Distribution des lignes sur des cellules
Dim Cellule As Range
For i = 0 To UBound(lignes)
Set Cellule = Range("a65536").End(xlUp)(2)
Cellule = lignes(i)
Next i

à bientôt
 

Papynou

XLDnaute Occasionnel
Re : Incorporer Word dans un Userform

Bonjour Bebere,

Super, on dirait une procédure de lancement de fusée. Je ne sais pas à quoi elle sert mais en attendant elle me plaît bien !

Il va me falloir un peu, beaucoup, de temps pour comprendre quoi en faire surtout que j'ai dans le cerveau la RAM d'un poisson rouge, 3 secondes de mémoire !!!

Qu'est-ce que je disais ? Ah oui, merci pour ce code, il me plaît beaucoup.

Je reviens pour dire ce qui s'est passé.
 

Papynou

XLDnaute Occasionnel
Re : Incorporer Word dans un Userform

Me revoilou !

Ce code vient de là :

LECTURE DE TEXTBOX LIGNE PAR LIGNE ET ENREGISTREMENT DANS LES CELLULES D'UN FICHIER EXCEL .XLS ☼ Code source N°31871 ☼ Visual Basic, VB6, VB.NET, VB 2005

"ce programme crée un fichier excel copié à partir d'un model préenregistré, lit un textbox ligne par ligne et copie chacune de ces lignes dans une cellule du fichier excel créé."

J'avais oublié l'avoir déjà regardé lors de mes recherches d'où ma réputation d'avoir une mémoire de poisson rouge :p

Ce n'est pas ce que je recherche et c'est bien dommage car il me plaisait vraiment beaucoup.

Et voilà, encore une fois je tape un message dans exactement ce que je voudrais.

Qu'est-ce que c'est que cette zone de saisie :confused:

Vous n'en n'avez pas une en magasin :D
 

Papynou

XLDnaute Occasionnel
Re : Incorporer Word dans un Userform

Re,

Bebere, lorsque tu as cliqué sur "répondre" tu a été redirigé sur "Répondre à la discussion" et tu as tapé ton texte dans une fenêtre avec au dessus une série d'options, à droite des smileys et en bas des icônes. C'est celle devant laquelle je me trouve en ce moment. :D

Voilà ce que je voudrais :D
 

Papynou

XLDnaute Occasionnel
Re : Incorporer Word dans un Userform

Re

Si je ne me trompe pas, Firefox est un navigateur Web tout comme Windows Internet Explorer que j'utilise. Je pensais que le forum s'affichait d'une seule manière, c'est la raison pour laquelle je faisais allusion à ce que je voyais.

Désolé, je vais essayer de trouver un autre exemple pour expliquer ce que je recherche.
 

Hervé

XLDnaute Barbatruc
Re : Incorporer Word dans un Userform

bonjour papynou

il ne me semble pas que l'on puisse incorporer un objet word à un usf.

la seule solution possible passe par un Spreadsheet (voir piece jointe)

tu risques d'avoir un message lors de l'ouverture du fichier t'informant de la présence d'un activeX pas sur, c'est normal :)

je te souhaite bien du plaisir si tu veux t'amuser avec ce type de controle, pas toujours facile à manier.

salut
 

Pièces jointes

  • Papynou.zip
    11.2 KB · Affichages: 114

Papynou

XLDnaute Occasionnel
Re : Incorporer Word dans un Userform

Re

C'est un bel outil que ce SpreadSheet, merci encore Hervé.

Pour ceux que le sujet intéresse il y a une super démo, de @+Thierry, qui est souvent citée dans les archives. Pas de chance pour moi, elle a été faite sur une ancienne version d'Excel et ma machine ne reconnaît pas le SpreadSheet, dommage. :(

Malheureusement, ce bel outil ne correspond pas à ce que je recherche. En effet, le changement de format du texte saisi offre aussi la possibilité de changer tous les réglages initiaux du SpreadSheet. Et ça, c'est une possibilité qui me fait froid dans le dos quand je pense aux problèmes futurs avec mon épouse, vu que c'est elle qui va se servir de cette application.

Note pour les femmes forumeuses : Soyez certaines, Mesdames, que ce n'est pas de la mysoginie mais elle va OBLIGATOIREMENT à un moment ou à un autre toucher à quelque chose, me dire sans aucune vergogne "Ca plante ton truc !" et me traîter de tous les noms d'oiseaux qui vont lui passer par la tête...

Que celui qui n'a jamais vécu ça commande la première bière ! :cool:

Pour revenir à mon souci, dans cette application la très grande majorité des données saisies sont des chiffres, d'où le choix d'Excel pour la réaliser, mais on doit aussi y saisir des commentaires, donc du texte, régulièrement mis à jour.

Suivant l'importance de ces commentaires il est nécessaire de changer le format du texte en gras, souligné, etc.

Il semblerait que les différents contrôles disponibles en VBA ne permettent pas cet manip "Format".

Maintenant, d'après Hervé,
il ne me semble pas que l'on puisse incorporer un objet word à un usf.

Je lui fait toute confiance à Hervé :) mais comme le "Format" modifiable est un élément incontournable dans mon application , je rétière ma question : Quelqu'un a-t-il une idée :confused:
 

Discussions similaires

Statistiques des forums

Discussions
312 581
Messages
2 089 916
Membres
104 304
dernier inscrit
halo palo