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 :

Changer valeur d'une page web


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut Changer valeur d'une page web
    Bonjour à tous,

    Je suis débutant en VBA et je me heurte à un problème :
    Je souhaite changer l'élément d'une page html via VBA dont voici le code :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="DateInput__display-text DateInput__display-text--has-input">02/02/2018</div>

    Je voudrais pouvoir changer la date mais je n'y arrive pas.

    Quel serait le code VBA approprié ?

    Merci d'avance

    Laurent

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    En supposant que cette ligne soit dans une variable de type String nommée Ligne.
    En supposant que la date souhaitée soit dans une variable de type Date nommée MaDate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Pos As Long
    Pos = InStr(Ligne, ">")
    Ligne = Right(Ligne, Pos) & Format(MaDate, "dd/mm/yyyy") & Mid(Ligne, Pos + 11)

  3. #3
    Membre régulier
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut
    Merci pour la réponse mais je ne vois pas où mettre ce code, j'ai une erreur quand je veux attribuer une valeur à l’objet ce qui est normal mais je ne vois pas autrement.

    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
    Option Explicit
    Sub RechercheVBAExcel()
    'Déclaration des variables
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim InputGoogleZoneTexte As HTMLInputElement
    Dim InputGoogleBouton As HTMLInputElement
    Dim FormGoogleCherche As HTMLFormElement
    Dim links, link
    Dim objElement As Object
    Dim Pos As Long
     
     
    'Chargement d'une page Web Google
    IE.navigate "https://app.sencrop.com/dashboard/datas/devices"
    Do Until IE.readyState = READYSTATE_COMPLETE
    DoEvents
    Loop
    'Affichage de la fenêtre IE
    IE.Visible = True
     
    'On attend le chargement complet de la page
    While IE.readyState <> 4 Or IE.Busy
    DoEvents
    Wend
     
    'On pointe le membre Document
    Set IEDoc = IE.document
     
    'On pointe notre Zone de texte
    Set InputGoogleZoneTexte = IEDoc.all("DateInput__display-text DateInput__display-text--has-input")
     
     
     
    'On définit le texte que l'on souhaite placer à l'intérieur
    InputGoogleZoneTexte.Value = "2019-01-01"
     
     
    'On pointe notre bouton
    'Set objElement = InputGoogleZoneTexte.Value
    InputGoogleZoneTexte.Click
     
     
     
     
    While IE.readyState <> 4 Or IE.Busy
    DoEvents
    Wend
     
     
    'On libère les variables
    Set IE = Nothing
    Set IEDoc = Nothing
    End Sub

  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
    Bonjour
    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
    Sub RechercheVBAExcel()
    'Déclaration des variables
        Dim IE As Object
        Dim IEDoc As Object
        Dim mail As Object
        Dim mot_passe As Object
        Set IE = CreateObject("InternetExplorer.application")
        IE.navigate "https://app.sencrop.com/dashboard/datas/devices"    'Chargement d'une page Web Google
        IE.Visible = True    'Affichage de la fenêtre IE
        Do: DoEvents: Loop While IE.readyState <> 4    'Or IE.Busy'On attend le chargement complet de la page
        Set IEDoc = IE.document    'On pointe le membre Document
       '
        Do
            'la protection on joue   ce site joue sur la latence d'accéssibilité au htmlelement par leur id,classe,etc..
            'alors avec un do loop d'attente
            Set mail = IEDoc.getelementsbytagname("input")(0)
        Loop While mail Is Nothing Or IEDoc Is Nothing
        '
        Set mot_passe = IEDoc.getelementbyid("password")'on peut inscrire le mot de passe (si l'un est la l'autre aussi )
     
     'on inscrit les données
        mail.Value = "moi@memel.truc"
        mot_passe.Value = "blablabla"
     
        'IEDoc.getelementsbytagname("Button")(0).Click  'débloquer cette ligne pour cliquer sur ""connextion""
     
        Do: DoEvents: Loop While IE.readyState <> 4    'On attend le chargement complet de la page   '
        'On libère les variables
        Set IE = Nothing
        Set IEDoc = Nothing
    End Sub
    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. envoyer des valeurs depuis une page web a une autre
    Par freddy000 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 19/01/2011, 13h23
  2. Recuperer valeur d'une page web
    Par Manzarek dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/12/2009, 21h04
  3. récupérer des valeurs sur une page web
    Par houwa dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/07/2008, 14h27
  4. Réponses: 2
    Dernier message: 09/07/2008, 16h46
  5. Extraire une valeur d'une page web
    Par Arvin dans le forum Visual C++
    Réponses: 8
    Dernier message: 17/09/2007, 19h37

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