[Excel] Inserer l'outil Google translate. [Fermé]

Signaler
-
 Didier -
Bonjour,

J'aimerais savoir s'il existe une possibilité de traduire le contenu d'une cellule A1 dans la cellule B1 à l'aide de google Translate ( par exemple, ou un autre outil)

Je n'ai rien trouvé sur internet à ce sujet.

Merci d'avance!
A voir également:

2 réponses

J'ai renversé le problème en utilisant cet outil :

https://accounts.google.com/ServiceLogin?service=gtrans&passive=1209600&continue=https://translate.google.com/toolkit/&followup=https://translate.google.com/toolkit/

Pas mal du tout, il faut juste repasser par un format doc. C'est du bricolage, mais ca marche.
Voilà ma solution adaptée à partir d'un autre forum :

Const Adresse = "https://translate.google.com/"

Public IE As Object

Public Sub Traduction()
    ' Create InternetExplorer Object
    If IE Is Nothing Then
        Set IE = CreateObject("InternetExplorer.Application")
    End If
    IE.Visible = False
    IE.Navigate Adresse
 
    ' Statusbar
    Application.StatusBar = "Chargement du site. Patienter."
 
    ' Wait while IE loading...
    Call Attente_IE(IE)
 
    Range("B2").Select
    Do While ActiveCell.Offset(0, 0).Value <> ""
        ActiveCell.Offset(0, 1) = Traduction_Google(IE, ActiveCell.Value, "fr", "en")
        ActiveCell.Offset(1, 0).Select
    Loop
    
Fin_Traduction:
    IE.Visible = false
    IE.Quit
    Set IE = Nothing
 
    Application.StatusBar = ""
    beep
    beep
End Sub

Function Traduction_Google(IE As Object, Texte_à_traduire As String, _
        Langue_origine As String, Langue_destination As String) As String
Dim Texte_traduit As String
    Application.StatusBar = "Traduction de '" + Texte_à_traduire + "'"
    Call Attente_IE(IE)
    IE.document.forms("text_form").elements("tl").Value = Langue_destination
    Call Attente_IE(IE)
    IE.document.forms("text_form").elements("sl").Value = Langue_origine
    Call Attente_IE(IE)
    IE.document.forms("text_form").elements("source").Value = Texte_à_traduire
    Call Attente_IE(IE)
    IE.document.getElementById("text_form").submit
    Call Attente_IE(IE)
    Texte_traduit = IE.document.getElementById("result_box").innerText
    Call Attente_IE(IE)
    Texte_traduit = Replace(Texte_traduit, Chr(13), "")
    Traduction_Google = Texte_traduit
End Function

Sub Attente_IE(IE As Object)
    Do While IE.busy
        Application.Wait DateAdd("s", 1, Now)
    Loop
End Sub