IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

traducteur Google "translate.google"


Sujet :

Macros et VBA Excel

  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Par défaut traducteur Google "translate.google"
    bonjour,
    Avec le VBA de Excel, j'ai voulu faire une fonction de traduction français / anglais via le traducteur Google mais j'ai comme l'impression que le lien:
    http://translate.google.com/?hl=fr&tab=wT#" & LangIn & "/" & LangOut & "/" & Hexa(Texte_a_traduire)
    ne fonctionne plus, il me semble pourtant que à une époque ça fonctionnait
    qu'en pensez vous ?
    merci
    Antoine M

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut une qui fonctionne encore avec le translate version IE9
    Bonjour
    la mienne fonctionne très bien
    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
    Option Explicit
    'it=italien
    'fr=francais
    'en=anglais
    'de= allemand
    'es=espagnol
    'etc...
    Sub test()
    'mode valeur a traduire
        MsgBox Translate("toto mange des pommes au miel ", "FR", "de")
        'formule:   "=Translate(cellule; "fr"; "DE")
    End Sub
    '
    '
    Sub test2()
    'mode url injecté
        MsgBox Translate(urlI:="https://translate.google.pl/m?&sl=fr&tl=en&ie=UTF-8&prev=_m&q=" & "toto mange des bannanes comme un singe")
    End Sub
    '
    '
    Public Function Translate(Optional texte As String, Optional From As String = "en", Optional ToLang As String = "fr", Optional urlI As String)
        Dim RQ As Object, URL As String, code As String, elem As Object, x As Long
        Set RQ = CreateObject("microsoft.xmlhttp")    '"MSXML2.ServerXMLHTTP"
        If urlI <> "" Then
            URL = urlI
        Else
            URL = "https://translate.google.pl/m?&sl=" & From & "&tl=" & ToLang & "&ie=UTF-8&prev=_m&q=" & texte
        End If
        RQ.Open "POST", URL, False
        RQ.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
        RQ.send
        With CreateObject("htmlfile")
            .body.innerhtml = RQ.responsetext
            Debug.Print Replace(RQ.responsetext, "<>", ">" & vbCrLf & "<")
            For Each elem In .ALL
                If elem.Tagname = "DIV" And elem.classname = "t0" Then Translate = elem.innerhtml: Exit For
            Next
        End With
    End Function
    en fait c'est la version mobile de maintenant
    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

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Par défaut test
    bonsoir,
    ton exemple fonctionne à merveille, super et bravo et merci pour le coup de main
    bonne soirée
    antoine M

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    de rien
    je suis entrain de travailler sur la version actuelle qui bascule en app web mais on peut le contourner en modifiant l'url pour des texte beaucoup plus longs
    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

  5. #5
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Par défaut test ok
    slts,
    disons que c'est pour traduire en "rosbif" les commentaires d'un programme pour automate sous UNITY-PRO , un commentaire c'est une centaine de caractères environs.
    ceci dit si tu fais des modifs , fais les suivre,
    BB
    antoinem

  6. #6
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Par défaut translate
    bonjour,
    tout marche bien mais les lettres accentuée sont remplacées par un "?" dans le texte traduit, tu vois d'ou ça peut venir ?
    cordial
    antoine M

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test)
    'mode valeur a traduire
        MsgBox Translate("C'est terminé ", "FR", "en")
        'formule:   "=Translate(cellule; "fr"; "DE")
    End Sub

  7. #7
    Membre actif
    Homme Profil pro
    Technicien d'essais
    Inscrit en
    Octobre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien d'essais
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 22
    Par défaut Bravo et merci
    Bonjour,

    Je n'ai pas de contribution à apporter, mais je souhaitais dire un grand bravo au concepteur de ce programme.

    Personnellement j'ai supprimé la msgbox et j'ai utilisé Translate dans une boucle pour traduire une colonne de mots en Allemand en Français, et ça marche très bien.
    Quel gain de temps pour moi !

    C'est stupéfiant.

    Merci beaucoup

  8. #8
    Membre actif
    Homme Profil pro
    Technicien d'essais
    Inscrit en
    Octobre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien d'essais
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 22
    Par défaut Questions sur SetRequestHeader
    Bonjour,

    J'ai chanté trop vite, la macro s'est arrêtée au bout de 476 mots sur 8000 "Accès refusé" à la ligne "RD.Send".
    Par contre si je reprends directement à cette ligne ça reprends.
    A la ligne SetRequestHeader, peut on la rendre spécifique pour Edge; j'ai tout remplacé ce qui était entre guillemets par "Edge" mais ça n'a pas marché ?
    Que puis faire pour éviter ces arrêts, ajouter un délai pour la réponse, une ligne "on error resume next" pour passer au mot suivant, ou paramétrer différemment la macro ?

    Pour info, j'utilise Windows10 avec office 2010, et je traduit des cellules contenant 1 à 5 mots en Allemand séparés par des virgules.
    Et pour le Latin l'abréviation c'est "La" ?

    Merci pour vos avis

Discussions similaires

  1. [XL-2010] Joujou avec le traducteur google
    Par EngueEngue dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/10/2013, 16h28
  2. Réponses: 13
    Dernier message: 19/09/2013, 15h46
  3. Modifier google traducteur
    Par Décibel dans le forum Internet
    Réponses: 0
    Dernier message: 03/08/2010, 09h25
  4. Problème encodage avec google translator
    Par ddove53 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/09/2009, 19h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo