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 :

Joujou avec le traducteur google


Sujet :

Macros et VBA Excel

  1. #1
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut Joujou avec le traducteur google
    Messieurs bonjour,

    Je cherche à traduire un fichier excel en chinois... Idée, traducteur google.

    Je fais joujou avec mais quand je récupère ma string traduite quand j'ai plusieurs mots j'ai des trucs du genre :

    <SPAN class=hps closure_uid_919448237="4">Real estate</SPAN> <SPAN class=hps closure_uid_919448237="5">development and investment</SPAN> <SPAN class=hps closure_uid_919448237="6">index</SPAN>

    Or je ne veux que

    Real estate development and investment index
    J'ai pensé à la fonction split avec "<" comme argument... Mais vomme les iud changent à chaque fois...

    Qui a une idée brillante ?

    Bien à vous,
    E

  2. #2
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    Tu as un bout de code à nous montrer ?

  3. #3
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    J'arrive à virrer facilement les fermetures de spans avec un replace..

    Mais les ouvertures me posent problèeme, tout d'abord parce que ce IUD est variable et parce que mon nombre de balises est variable...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    t
    ag = span
    s = s.Replace(s.Substring(InStr(LCase(s), "<" & tag) - 1, InStr((InStr(LCase(s), "<" & tag) + 1), s, ">") - InStr(LCase(s), "<" & tag) + 1), "")
    mais ne marche pas...

    Le bout de code qui fait la traduction de mes cells c'est :


    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
        If .Cells(lig, col) <> "" Then
       Siteweb = "http://translate.google.fr/#zh-CN/en/" & .Cells(lig, col)
     
        Set ie = CreateObject("InternetExplorer.Application")
     
     
     
            ie.navigate Siteweb
            ie.Visible = True
     
            waitIE ie
     
             wait3secs
     
             DoEvents
     
              'x = Split(Application.WorksheetFunction.Substitute(ie.Document.getElementById("result_box").innerHTML, "</SPAN>", ""), "<")
    x = ie.Document.getElementById("result_box").innerHTML
    Si je vous demande de l'aide c'est parce que je n'ai pas de code opérationnel...

  4. #4
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Re,

    Et si tu utilises innerText au lien de innerHTML ?

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour EngueEngue,

    au cas où la proposition précédente ne te convienne pas, avec l'exemple du message initial,
    un code limite de débutant de cinq lignes au maximum peut extraire le texte …

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Avec un code basique peut être ?
    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
     
    Sub Extraire()
     
        Dim Chaine As String
        Dim Texte As String
        Dim Pos1 As Integer
        Dim Pos2 As Integer
        Dim I As Integer
     
        Chaine = "<SPAN class=hps closure_uid_919448237=""" & 4 & """>Real estate</SPAN> <SPAN class=hps closure_uid_919448237=""" & 5 & """>development and investment</SPAN> <SPAN class=hps closure_uid_919448237=""" & 6 & """>index</SPAN>"""
     
        For I = 1 To Len(Chaine)
     
            Pos1 = InStr(I, Chaine, ">") + 1
            Pos2 = InStr(Pos1, Chaine, "<")
     
            If Pos1 = Len(Chaine) Then Exit For
     
            Texte = Texte & Mid(Chaine, Pos1, Pos2 - Pos1)
     
            I = Pos2
     
        Next I
     
        MsgBox Texte
     
    End Sub
    Hervé.

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    A l'arrache, une autre approche par une fonction d'environ cinq lignes de code :
    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
    Function TextOnly$(ByVal T$, Optional S$ = "<", Optional E$ = ">")
             Do
                 D& = InStr(T, S)
                 If D Then F& = InStr(D, T, E): If F Then T = Replace$(T, Mid$(T, D, F - D + 1), "")
             Loop While D * F
     
             TextOnly = T
    End Function
     
    Sub Demo()
        S$ = "<SPAN class=hps closure_uid_919448237=""4"">Real estate</SPAN> " & _
             "<SPAN class=hps closure_uid_919448237=""5"">development and investment</SPAN> " & _
             "<SPAN class=hps closure_uid_919448237=""6"">index</SPAN>"
     
        MsgBox TextOnly(S)
    End Sub
    __________________________________________________________
    Quelle époque terrible que celle où des idiots dirigent des aveugles. (Shakespeare)

  8. #8
    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 heu
    bonjour

    ta demande est de récupérer le texte sans les balises html
    si tu va te promener dans les contributions tu trouvera une de mes contribution nommée

    code source d'une page sur le net
    une partie du code fait exactement ce que tu cherche

    parfois une recherche peut etre tres fructueuse

    et encore mieux!!! cet exemplaire recupere le texte avec ou sans balise d'une classe dans une page html
    fonction getclassName sur un page du net

    voila voila


    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

Discussions similaires

  1. gérer l'ajout d'événement avec l'API Google Calendar
    Par brunoperel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/03/2009, 16h41
  2. Tester l'existence d'un point avec l'api google map
    Par numerodix dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/10/2008, 09h28
  3. [Web Service] Tracer des zones avec l'API Google
    Par Cvbdev dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/03/2008, 11h20

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