Bonjour
Je veux copier du texte d'une cellule à l'emplacement suivant et lorsque vous compilez résultat de la traduction pâte dans une cellule
http://www.worldlingo.com/en/product...ranslator.html
Merci pour tout
Bonjour
Je veux copier du texte d'une cellule à l'emplacement suivant et lorsque vous compilez résultat de la traduction pâte dans une cellule
http://www.worldlingo.com/en/product...ranslator.html
Merci pour tout
euh... rien compris à ta demande...![]()
Bonjour
Si j'ai bien compris tu veux copier du texte d'une cellule en langue étrangère, l'insérer dans le textbox de la page du site translatons et la traduction doit revenir sur la cellule.
Regardes le tutoriel de qwazerty sur la manipulation de l'objet internet.
Edit:
J'ai regardé le code source de la page.
Voilà la partie qui nous intéresse:
Comme tu peux le voir tes deux textaera font partie de la class="free_t_t_texta"<textarea id="wl_text" name="wl_text" wrap="soft" class="free_t_t_texta" tabindex="0" onchange="detectLanguage()" onblur="detectLanguage()" onmousedown="detectLanguage()" onmouseup="detectLanguage()" ></textarea>
</td>
<td>
<textarea id="wl_text_result" name="wl_text_result" style="background-color:transparent" wrap="soft" class="free_t_t_texta" readonly="readonly"></textarea>
Donc un get classname par ce nom, ensuite un bouclage sur les enfants de cette classe te donnera les textaeras.
Le reste n'est pas très difficile, comme on a les noms des deux textaera, une simple instantiation de l'objet IE et l'objet ("wl_text")=ta cellule
Il va falloir faire certainement un sleep pour attendre que la traduction soit faite, à moins que la fonction wait IE de qwazerty suffise en la relançant une 2 ème fois pendant la traduction.
Et ensuite ta cellule = l'object("wl_text_result")
Au plaisir
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
professeur patricktoulon
Oui, aussi gentiment
J'espère que vous trouverez une solution
merci![]()
Bonjour
voilà je t'ai fait un exemple qui inscrit un texte en anglais à gauche et te le ressort en français à droite.
Pour le choix des langues le 1er item étant 0, l'anglais est = à 8
Pour la traduction en français se sera 10.
J'ai un problème à la fin pour récupérer la traduction mais je regarde.
Malgré le message d'erreur à la fin regarde le résultat sur la page du site.
J'espère trouver le problème
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 '""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ' ne pas oublier d'activer la reference microsoft html objetlibrary !!!!!! ' ne pas oublier d'activer la reference microsoft internet control !!!!!! '""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Sub lancer_la_traduction() 'Déclaration des variables Dim IE As InternetExplorer Dim IEDoc As HTMLDocument Dim InputTranslatorZoneTexte As HTMLInputElement Dim outputTranslatorZoneTexte As HTMLInputElement Dim listelanguesource As HTMLSelectElement Dim listelangueresultat As HTMLSelectElement Dim boutonvalider As HTMLGenericElement 'Initialisation des variables Set IE = CreateObject("InternetExplorer.Application") 'Chargement d'une page web Google IE.Navigate "http://www.worldlingo.com/en/products_services/worldlingo_translator.html" WaitIE IE 'Affichage de la fenêtre IE IE.Visible = True 'On pointe le membre Document Set IEDoc = IE.document 'On pointe notre Zone de texte a instruire Set InputTranslatorZoneTexte = IEDoc.all("wl_text") 'on inscrit les données dans le textaera source InputTranslatorZoneTexte.Value = "hello the world" 'donc ici tu mettra la valeur de ta cellule 'on selectione la langue source du texte inséré Set listelanguesource = IEDoc.all("wl_srclang") listelanguesource.selectedIndex = 8 'english'tu regarde dans la page les liste tu compte a partir de zero etc.. pour la langue que tu veux 'on selectionne la langue de sortie Set listelangueresultat = IEDoc.all("wl_trglang") listelangueresultat.selectedIndex = 10 'francais 'On pointe notre bouton valider Set boutonvalider = IEDoc.all("submit") 'On simule un clic boutonvalider.Click 'maintenant on attend la traduction WaitIE IE 'On pointe notre Zone de texte du résultat Set outputTranslatorZoneTexte = IEDoc.all("wl_text_result") WaitIE IE Do DoEvents Loop Until outputTranslatorZoneTexte.Value <> "" 'ICI J'AI PERMISSION REFUSEE je ne sais pas encore pourquoi MsgBox outputTranslatorZoneTexte.Value Set IE = Nothing Set IEDoc = Nothing End Sub Sub WaitIE(IE As InternetExplorer) 'On boucle tant que la page n'est pas totalement chargée Do Until IE.readyState = READYSTATE_COMPLETE DoEvents Loop End Sub
Pour finir il n'y a pas de professeur, il n'y a que des bons élèves
Au plaisir
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
professeur patricktoulon
Merci pour la réponse
msgbox error
message
"Compile error: User-defined type not defined"
en
professeur patricktoulon
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sub WaitIE(IE As InternetExplorer)
Après avoir changé le code comme suit
n'a pas montré msgbox error
Le résultat traduction de message n'est pas montré?
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 Sub lancer_la_traduction() 'Déclaration des variables Dim IE Dim IEDoc Dim InputTranslatorZoneTexte Dim outputTranslatorZoneTexte Dim listelanguesource Dim listelangueresultat Dim boutonvalider 'Initialisation des variables Set IE = CreateObject("InternetExplorer.Application") 'Chargement d'une page web Google IE.Navigate "http://www.worldlingo.com/en/products_services/worldlingo_translator.html" Do Until IE.readyState = READYSTATE_COMPLETE DoEvents Loop ' WaitIE IE 'Affichage de la fenêtre IE IE.Visible = True 'On pointe le membre Document Set IEDoc = IE.document 'On pointe notre Zone de texte a instruire Set InputTranslatorZoneTexte = IEDoc.all("wl_text") 'on inscrit les données dans le textaera source InputTranslatorZoneTexte.Value = "hello the world" 'donc ici tu metra la valeur de ta cellule 'on selectione la languesource du texte inseré Set listelanguesource = IEDoc.all("wl_srclang") listelanguesource.selectedIndex = 8 'english'tu regarde dans la page les liste tu compte a partir de zero etc.. pour la langue que tu veux 'on selectionne la langue de sortie Set listelangueresultat = IEDoc.all("wl_trglang") listelangueresultat.selectedIndex = 10 'francais 'On pointe notre bouton valider Set boutonvalider = IEDoc.all("submit") 'On simule un clic boutonvalider.Click 'maintenant on attend la traduction ' WaitIE IE Do Until IE.readyState = READYSTATE_COMPLETE DoEvents Loop Set outputTranslatorZoneTexte = IEDoc.all("wl_text_result") Do Until IE.readyState = READYSTATE_COMPLETE DoEvents Loop ' WaitIE IE Do DoEvents Loop Until outputTranslatorZoneTexte.Value <> "" 'ICI J'AI PERMISSION REFUSEE je ne sais pas encore pourquoi MsgBox outputTranslatorZoneTexte.Value Set IE = Nothing Set IEDoc = Nothing End Sub
macro gelée.
professeur patricktoulon
Cette macro fonctionne très bien
ĆáÇßä dans traduction Google
Si l'amendement possible du site : http://www.worldlingo.com/en/product...ranslator.html
Fichier Excel a une macro en fichier attaché
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 Public Sub Tr_Go() Dim Al_x As Object, i As Long Dim Ad_B As String, Ot_B As String, Tr_g As String, Da_re As String, C_d Set Al_x = CreateObject("InternetExplorer.application") If Sheet1.ComboBox1.Value = "Detect" Then Ad_B = "auto" Else Ad_B = Application.WorksheetFunction.VLookup(Sheet1.ComboBox1.Value, Sheets("S_List").Range("a:b"), 2, 0) End If If Sheet1.ComboBox2.Value = "English" Then Ot_B = "en" Else Ot_B = Application.WorksheetFunction.VLookup(Sheet1.ComboBox2.Value, Sheets("S_List").Range("a:b"), 2, 0) End If Tr_g = Sheets("Sheet1").Range("b6").Value Al_x.Visible = False Al_x.navigate "http://translate.google.com/#" & Ad_B & "/" & Ot_B & "/" & Tr_g Do Until Al_x.ReadyState = 4 DoEvents Loop Application.Wait (Now + TimeValue("0:00:5")) Do Until Al_x.ReadyState = 4 DoEvents Loop C_d = Split(Application.WorksheetFunction.Substitute(Al_x.Document.getElementById("result_box").innerHTML, "</SPAN>", ""), "<") For i = LBound(C_d) To UBound(C_d) Da_re = Da_re & Right(C_d(i), Len(C_d(i)) - InStr(C_d(i), ">")) Next Sheets("Sheet1").Range("L6").Value = "" Sheets("Sheet1").Range("L6").Value = Da_re Al_x.Quit MsgBox "End Translation", vbOKOnly End Sub
Partager