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 :

Inscrire du texte dans une zone de texte du web à partir de Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Femme Profil pro
    stagiaire
    Inscrit en
    Janvier 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Janvier 2022
    Messages : 9
    Par défaut Inscrire du texte dans une zone de texte du web à partir de Excel
    Bonjour,

    Je souhaiterais le remplissage d'un site internet mais je ne comprend pas pourquoi mon code ne fonctionne pas.
    Je veux donc entrer une séquence fasta présente dans une cellule de l'Excel dans le champs dédié dans : https://services.healthtech.dtu.dk/service.php?SignalP

    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
    Sub VBAExcel()
    'Déclaration des variables
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim InputZoneTexte As HTMLInputElement
     
       'Chargement d'une page Web Google
       IE.navigate "https://services.healthtech.dtu.dk/service.php?SignalP"
     
       'Affichage de la fenêtre IE
       IE.Visible = True
     
       'On attend le chargement complet de la page
       WaitIE IE
     
       'On pointe le membre Document
       Set IEDoc = IE.document
     
       'On pointe notre Zone de texte
       Set InputZoneTexte = IEDoc.getElementsByName("fasta").Item
     
       'On définit le texte que l'on souhaite placer à l'intérieur
       InputZoneTexte.Value = "text"
     
       'On attend la fin de la recherche
       WaitIE IE
     
       'On libère les variables
       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
    Merci

  2. #2
    Membre expérimenté
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 161
    Par défaut
    Bonjour,
    Il y a un piège dans ta page web, la zone de texte se trouve à l'intérieur d'une iframe qui est une sorte de page web à l'intérieur d'une page web :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe id="servicetabs-1" class="servicetabcontent" src="/services/SignalP-6.0/1-Submission.php" style="display: block; overflow: scroll;">
    Pour accéder aux éléments qui sont dedans il faut partir de cet élément.

    D'autre part la zone de texte où tu veux écrire est un textArea qui possède un id :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea id="fasta" name="fasta" class="form-control" ng-model="fasta" placeholder="Enter protein sequence(s) in fasta format..." rows="10" cols="64">
    donc on peut référencer cet élément à partir de son id (qui est unique).
    Voici donc un code qui devrait fonctionner :
    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
    Sub VBAExcel()
    'Déclaration des variables
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim IFrame As HTMLFrameElement
    Dim InputZoneTexte As HTMLTextAreaElement
     
       'Chargement d'une page Web Google
       IE.navigate "https://services.healthtech.dtu.dk/service.php?SignalP"
     
       'Affichage de la fenêtre IE
       IE.Visible = True
     
       'On attend le chargement complet de la page
       WaitIE IE
     
       'On pointe le membre Document
       Set IEDoc = IE.Document
     
       'On pointe notre Zone de texte
       Set IFrame = IE.Document.getElementsByTagName("iframe").Item("servicetabs-1")
       Set InputZoneTexte = IFrame.contentDocument.getElementById("fasta")
     
       'On définit le texte que l'on souhaite placer à l'intérieur
       InputZoneTexte.Value = "text"
     
       'On attend la fin de la recherche
       WaitIE IE
     
       'On libère les variables
       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

    Nullosse, le plus nul des programmeurs

  3. #3
    Membre habitué
    Femme Profil pro
    stagiaire
    Inscrit en
    Janvier 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Janvier 2022
    Messages : 9
    Par défaut
    Merci beaucoup pour ton aide !! ça fonctionne très bien maintenant

Discussions similaires

  1. [OL-365] Inscrire des RDV dans Outlook (calendrier partagé) via Excel macro
    Par Lolote83 dans le forum VBA Outlook
    Réponses: 4
    Dernier message: 08/12/2023, 22h12
  2. Réponses: 1
    Dernier message: 08/06/2019, 22h09
  3. changer les proprietes d'une textbox dans word a partir d'excel
    Par froggyaz dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/01/2010, 18h49
  4. Exploiter un userform qui se trouve dans un fichier à partir d'excel
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/02/2009, 09h25
  5. Réponses: 12
    Dernier message: 05/02/2009, 15h51

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