bonjour
j'ai perdu Rdurupt en cours de route mais ou est il donc ?
bonjour
j'ai perdu Rdurupt en cours de route mais ou est il donc ?
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
bonjour Patrick
je ne t'oublis pas, je repart sur la version tinyeditor, en interceptant le id pour gérant la couleur différemment!
Bonsoir Rdurupt
je suis impatient de voir cela
en attendant si je te dis qu'un div est editable et que l'on peut déterminer une selection de text et que l'on a pas besoins de texteaera
et que je te dis ensuite que je suis en train d'en consevoir un en entieret que pour changer il y aura un peu de VBS tu dirais quoi ??
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
re
bonjour Rdurupt
voila le code que j'elabore doucement en javascript
il est compatible IE ,HTA,GOOGLE,et il fonctionne aussi dans le userform
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123 <!doctype html> <html lang="fr"> <head> <meta http-equiv="X-UA-Compatible" content="IE=10" /> <!-meta charset="UTF-8"-!> <style> #editeur { width:650px; height:500px; border:1px solid blue; } </style> <script type="text/vbscript"> sub codes() msgbox document.getelementbyID("editeur").innerhtml end sub </script> <script type="text/javascript"> function Backgtexte() { var selection = window.getSelection().getRangeAt(0); var selectedText = selection.extractContents(); var balise = document.createElement("span"); balise.style.backgroundColor = "yellow"; balise.appendChild(selectedText); balise.onclick = function (ev) { this.parentNode.insertBefore(document.createTextNode(this.innerText), this); this.parentNode.removeChild(this); } selection.insertNode(balise); } function texteBiU(BiU) { var selection = window.getSelection().getRangeAt(0); var selectedText = selection.extractContents(); var balise = document.createElement(BiU); balise.appendChild(selectedText); balise.onclick = function (ev) { this.parentNode.insertBefore(document.createTextNode(this.innerText), this); this.parentNode.removeChild(this); } selection.insertNode(balise); } function texte_couleur(coul) { var selection = window.getSelection().getRangeAt(0); var selectedText = selection.extractContents(); var balise = document.createElement("span"); balise.style.color = coul; balise.appendChild(selectedText); balise.onclick = function (ev) { this.parentNode.insertBefore(document.createTextNode(this.innerText), this); this.parentNode.removeChild(this); } selection.insertNode(balise); } function texte_size(valeur) { var selection = window.getSelection().getRangeAt(0); var selectedText = selection.extractContents(); var balise = document.createElement("span"); balise.style.fontSize = valeur+"px"; balise.appendChild(selectedText); balise.onclick = function (ev) { this.parentNode.insertBefore(document.createTextNode(this.innerText), this); this.parentNode.removeChild(this); } selection.insertNode(balise); } </script> </head> <body> <div id="editeur" contenteditable="true" > <p>tapez votre texte </p> </div> <button onclick="texteBiU('b')">Bolder</button> <button onclick="texteBiU('i')">italic</button> <button onclick="texteBiU('u')">souligné</button> <button onclick="texteBiU('s')">texte barré </button> <button onclick="texte_couleur('red')">texte en couleur </button> <button onclick="Backgtexte()">bacground texte</button> <select id="ListeElement" onchange="texte_size(this.value);"> <option value=8>size 8</option> <option value=10>size 10</option> <option value=12>size 12</option> <option value=14>size 14</option> <option value=16>size 16</option> <option value=18>size 18</option> <option value=20>size 20</option> <option value=22>size 22</option> <option value=24>size 24</option> <option value=26>size 26</option> <option value=28>size 28</option> <option value=30>size 30</option> <option value=34>size 34</option> <option value=40>size 40</option> <option value=50>size 50</option> <option value=60>size 60</option> <option value=70>size 70</option> <option value=80>size 80</option> </select> <button onclick="codes()">codehtml</button> </body> </html>
tu tape le texte tu selectionne et tu applique avec les boutons
pour enlever le formatage tu clique simplement a l'endroit ou tu veux supprimer le format (ca ca changera mais pour l'instant c'est comme ca )
purré je souffre
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Bonsoir Patrick,
Je me suis battu tout le weekend sans succès! Le plus portable mais le plus compliqué est bien tinyeditor!
Celui que tu propose dispose d'url faisant appel au fichier HTML en javascript mais je n'arrive pas à isolé les liens pour les convertir en lien vers des fonctions javascript!
J'entrevois une solution vb6 mais je n'aurais accès à Visual studio que demain au travail! Sens garantie!
http://www.vbforums.com/showthread.p...=1#post3487006
oula!! ta pas bien vu
le dernier en construction que je t'ai posté n'a besoins de rien
regarde teste avec l'userform
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Bonjour Patrick,
Si si je l'ai même tester ,elle va dans le bon sans, mais je l'ai vue juste avant de poster.
Mais j'ai le cerveau lent!
Bonjour Rdurupt
j'ai l'impression que tu m'a laisssé tomber
bon en attendant j'avance il y a la palette maintenant et les listes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333 <!doctype html> <html lang="fr"> <head> <meta http-equiv="X-UA-Compatible" content="IE=10" /> <!-meta charset="UTF-8"-!> <style> #editeur { width:650px; height:500px; border:1px solid blue; } #ruban { /height:50px;/ width:650px; display:block; border:1px solid green; } </style> <script type="text/javascript"> /* INITIALISATION*/ createpalette(); /*fin d ininitialisation*/ function codes() { var divcode=document.getElementById("editeur"); alert(divcode.innerHTML); } function putID_old(ELEM) { ELEM.id="old"; } function supp_old() { var myelem=document.getElementById("old"); myelem.id=""; } function quelle_balise() { return document.selection.createRange().parentElement(); } function selectionne_text() { return window.getSelection().getRangeAt(0); } function Backgtexte() { var selection = selectionne_text(); var selectedText = selection.extractContents(); var balise = document.createElement("span"); balise.style.backgroundColor = "yellow"; balise.appendChild(selectedText); balise.onclick = function () { if(document.getElementById("old")){ supp_old(); } putID_old(this); } selection.insertNode(balise); } function texteBiU(BiU) { var selection = selectionne_text(); var selectedText = selection.extractContents(); var balise = document.createElement(BiU); balise.appendChild(selectedText); /*balise.onclick = function () { if(document.getElementById("old")){ supp_old(); } putID_old(this); }*/ balise.onmouseup = function () { if(document.getElementById("old")){ supp_old(); } putID_old(this); } selection.insertNode(balise); } function texte_couleur(coul) { var selection = selectionne_text(); var selectedText = selection.extractContents(); var couleur=coul.replace("pal","#"); var bal=quelle_balise(); var balname=bal.tagName; var res=(bal.tagName=="FONT"); var texttwo=(bal.innerText==selectedText); /*alert(res+"-----"+balname+"----"+bal.innerText+"---"+texttwo);*/ /*bal.color=couleur*/ var balise = document.createElement("font"); balise.color = couleur; balise.appendChild(selectedText); balise.onclick = function () { if(document.getElementById("old")){ supp_old();} putID_old(this); } selection.insertNode(balise); document.getElementById("PALETTE").style.visibility="hidden"; } function texte_size(valeur) { var selection = selectionne_text(); var selectedText = selection.extractContents(); var balise = document.createElement("span"); balise.style.fontSize = valeur+"px"; balise.appendChild(selectedText); balise.onclick = function () { if(document.getElementById("old")){ supp_old(); } putID_old(this); } selection.insertNode(balise); } function delformat() { var obj= document.getElementById("old"); var text=obj.outerHTML; /*alert(text);*/ obj.parentNode.insertBefore(document.createTextNode(obj.innerText), obj); obj.parentNode.removeChild(obj); } function insert_liste(typliste) { var selection = selectionne_text(); var selectedText = selection.extractContents(); var baliseol = document.createElement(typliste); var baliseli = document.createElement("li"); baliseli.onclick = function () { if(document.getElementById("old")){ supp_old(); } putID_old(this); } baliseli.appendChild(selectedText); baliseol.appendChild(baliseli); selection.insertNode(baliseol); } function aligne(cote) { var bal=quelle_balise(); /*alert(bal.tagName);*/ if(bal.tagName=="P"){ bal.style.textAlign = cote; } } function affiche_palette(bT) { var bleleft=document.getElementById("txtcoul") var leleft=bT.style.left var pal=document.getElementById("PALETTE"); pal.style.visibility="visible"; pal.style.position = "absolute"; pal.style.left = 450+"px"; pal.style.top = "10px"; } function createpalette() { var coul=["FFFFFF","FFCCCC","FFCC99","FFFF99","FFFFCC","99FF99","99FFFF","CCFFFF","CCCCFF","FFCCFF","CCCCCC","FF6666","FF9966","FFFF66","FFFF33","66FF99","33FFFF","66FFFF","9999FF","FF99FF","C0C0C0","FF0000","FF9900","FFCC66","FFFF00","33FF33","66CCCC","33CCFF","6666CC","CC66CC","999999","CC0000","FF6600","FFCC33","FFCC00","33CC00","00CCCC","3366FF","6633FF","CC33CC","666666","990000","CC6600","CC9933","999900","009900","339999","3333FF","6600CC","993399","333333","660000","993300","996633","666600","006600","336666","000099","333399","663366","000000","330000","663300","663333","333300","003300","003333","000066","330099","330033"]; var MYBODY= document.body; var mydiv = document.createElement("div"); mydiv.id="PALETTE"; mydiv.style.width=187+"px"; mydiv.style.border=1+"px solid gray"; mydiv.style.display="inline-block"; mydiv.style.backgroundColor ="gray"; mydiv.style.visibility="hidden"; mydiv.style.fontSize=0; for (var i = 0; i < 70; i++) { var inputs= document.createElement("button"); inputs.style.border=1+"px solid black"; inputs.onmouseover=over; inputs.onmouseout=out; inputs.style.float="left" inputs.style.width=15+"px"; inputs.style.height=15+"px"; inputs.style.backgroundColor = "#"+coul[i]; inputs.id="pal"+coul[i]; inputs.onclick=function() { texte_couleur(this.id); } mydiv.appendChild(inputs); } MYBODY.appendChild(mydiv); } function over() {this.style.border = '1px solid #FFF';} function out() {this.style.border = '1px solid #000';} </script> </head> <body> <div id="ruban"> <button onclick="texteBiU('b')">Bolder</button> <button onclick="texteBiU('i')">italic</button> <button onclick="texteBiU('u')">souligné</button> <button onclick="texteBiU('s')">texte barré </button> <button onclick="aligne('left')">aligne a gauche</button> <button onclick="aligne('center')">centrer</button> <button onclick="aligne('right')">aligne a droite</button> <button id="txtcoul" onclick="affiche_palette(this)">texte en couleur </button> <button onclick="Backgtexte()">bacground texte</button> <button onclick="insert_liste('ol')">liste1.2.3</button> <button onclick="insert_liste('ul')">liste normale</button> <select id="ListeElement" onchange="texte_size(this.value);"> <option value=8>size 8</option> <option value=10>size 10</option> <option value=12>size 12</option> <option value=14>size 14</option> <option value=16>size 16</option> <option value=18>size 18</option> <option value=20>size 20</option> <option value=22>size 22</option> <option value=24>size 24</option> <option value=26>size 26</option> <option value=28>size 28</option> <option value=30>size 30</option> <option value=34>size 34</option> <option value=40>size 40</option> <option value=50>size 50</option> <option value=60>size 60</option> <option value=70>size 70</option> <option value=80>size 80</option> </select> <button onclick="delformat()">del format</button> <button onclick="codes()">codehtml</button> </div> <div id="editeur" contenteditable="true" > <p>tapez votre texte </p> <p>tapez UN AUTRE texte </p> </div> <script>createpalette()</script> </body> </html>
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Bonjour Patrick,
non je ne t'es pas laissé tombé, vue que le wisiwig tinyce fonctionne en mode simple sans la gestion des couleurs, je regarde si je peux gérer cette parti là indépendamment comme tu le proposais dans un de tes dernier poste.
il est vrai quand ce moment je suis overbooké et qu'il est difficile de composé,mais je m'y consacre quand même tu temps!
j'ai des traitement de mise au point qui prenne du temps et qui me laisse du temps pour naviguer sur le forum, mais trop peux pour me concentrer sur des sujet un peut compliqués!
c'est pour cela quand générale,je peux consacrer du temps sur ce forum, mais j'évite les question trop cérébral, je décompresse par la même occasion, c'est une bonne thérapie.
tu peux laisser tomber le tiny il marchera jamais dans le userform correctement
la fonction javascript addeventlistener est absolument incompatible en dessous IE9 et malheureusement le webbroser semble utiliser les librairie native de de windows et non les librairie de IE installée
donc comme les evenement sont combinés avec ca c'est choux blanc
j'ai tout essayé
peu etre qu'avec office 2010 et plus cela a changé mais avec 2007 non
il vaut mieux combiner avec ce parametre sinon ce richtext ne sera pas univercel
purré j'ai bossé et j'ai meme déserté le VBA pour javascript je metrise pas mal maintenant le createelement et appendchild
a il y a une erreur au debut dans l'exemple que je viens de te donner quand tu le met dans le userform mais tu clique continuer quand meme
en fait encore une fois dans le webbrowser le appendchild sur le body n'est pas géré correctement mais ca fonctionne
je reglerais le soucis en metant un enfant (div menu) en dur dans le code html final
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Bonjour Rdurupt
a tu essayé mon dernier script ????
j'ai l'impression que ca t'interesse plus autant que ca
???
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Bonsoir Patrick,
Oui j'ai regardé ton dernier poste, tu vas devenir un pro du javascript!
Personnellement j'ai presque terminé mon visiwig entièrement vb6!
J'arrive a insérer un spreedsheets mais pas sa mise en forme!
Il fait appel à des contrôles qui ne sont pas disponible en natif dans Excel comme Édite web.
Vue qu'il faut également installer spreedsheets je pense faire un contrôle qui lui marchera sous Excel.
Je vais regarder pour empaqueté un setups pour te faire une démo!
J'ai une autre piste pour le faire en vba mais j'en suis pas encore là!
J'ai fais un travail de bibliothécaire!
En gros nous avons une version qui fonction dans Excel mais qui ne gère pas la couleur.
Nous aurons bientôt un contrôle vb6 compatible à 100% avec Excel vba .
Alors si en plus j'arrive avec un solution Vba....
Dernière modification par Invité ; 26/11/2015 à 23h31.
re Bonjour Rdurupt
oui moi aussi le mien fonctionne parfaitement bien dans vba j'ai la palette couleur et maintenant le formulaire pour ajouter des image et celui des liens
je cherche le moyen pour la rendre resizable dynamiquement avec la souris tout en testant a chaque fois si il y a pas imcompatibilité avec le webrowser
un boulot de titan en plus j'ai pas mal de boulot en ce moment alors ca fuse
mais on aura un editeur avant noel promis
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Salut,
J'ai pas lu tout le fil mais j'avais fait il y a quelques temps un éditeur HTML WYSIWYG avec CKEDITOR.
ça vous intéresse ?
Bonjour oliv on l a essayé aussi il utilise jquery donc non compatible a 100 pour cent avec le webbrowser
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Bonsoir,
Il y à nbit qui a est un ocx wisiwig ,"il dispose même d'un correcteur d'orthographe. Mais quand je vois qu'il est venu entre 34 et 100€,"je le trouve un peut faiblard dans le rendu, il fait armateur.
Armateur averti mais amateur.
Quand à mois, je ne m'en sort pas avec htmled.ocx. Mon code fonction très bien mais n'est toujours pas distribuable.
J'ai bien lu le lien que tu ma donner Patrick mais j'ai le choix entre un version 64 et un 32 obsolète.
Je planche toujours. Si Oliv nous rejoint dans cette galère, on arrivera plus vite au bout du cul de sac!
re
Bonjour robert
voila j'ai telecharger la cersion 32 et 34 bit du dhtml.ocx
les ai mis dans leur emplacement respectifs(system32/syswow 34)
les ai enregistrer avec
j'ai bien les deux control dans les controls supplementairesRegsvr32 /s "C:\Windows\SysWOW64\dhtmled.ocx"
mais quand j'essaie de le mettre dans le userform j'ai ce mesage
j'ai regarder sur la toile et en effet il semblmerait que microsoft les ai targer de control a risqueLe sujet n’est pas approuvé pour l’action spécifiée.
alors une manip dans la base de registre est necessaire
voila un exemple de ce que j'ai pu voir
reste a trouver son clisdDes problèmes de vulnérabilité ayant été décelés en ce qui concerne certains composants (dont MSCOMM, Richtextbox, etc ...), une mise à jour de Microsoft les a rendus inaccessibles depuis Office.
Leur utilisation peut toutefois être forcée, mais nécessite alors une intervention dans la base de registre, sur la clé correspondante
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{xxxxxx-xxxx-xxxxx-xxxx-xxxxxxxxxxxxx}
(où xxxxxx... représente le CLSID du composant).
Encore te faut-il en connaître le CLSID.
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Salut patrick,
cele ne viendrait il pas du fait que tes fichiers soient dans un emplacement temporaire ?
Bonjour Oliv
non pas du tout ils sont bien dans leurs emplacement definitifs comme je l'ai preciser dans mon dernier post
system32 pour le 32 et sywow64 pour le 64 bits
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Bonjour Robert
bon j'ai pris un virage a 360° concernant le code javascript de l'editeur
en effet la methode appendchild me forcait a devoir prevoir un regexp et des multiples replace a ne plus finir pour eviter les balises entrecroisée et non fermées
en fouillant un peu sur le net j'ai découvert la fonction execommand qui a un avantage plus que certain
elle donne l'avantage de revenir en arriere gras /pas gras avec le meme bouton et la meme fonction et cela pour tout les effets sur le texte
le code en est beaucoup moins long et plus simple
j'ai un seul soucis pour les font size que je suis en train de régler
voila regarde bien les fonction texte par rapport a mon ancienne version avec le appendchild c'est ahurissant
la command execommand gere pas mal d'action je vais pouvoir ajouter des fonctions qui avec le appendchild devenait trop compliquées
en plus entierement compatible avec IE9 donc s'integre parfaitement dans le Webbrowser
regarde cette ebauche en piece jointe
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager