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 :

Récupérer des données sur internet et les integrer dans un ficher Excel [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Points : 23
    Points
    23
    Par défaut Récupérer des données sur internet et les integrer dans un ficher Excel
    Bonjour à tous,

    Voila dans le cadre d'un de mes projet je voudrais pouvoir extraire des données d'internet pour les intégrer dans un fichier excel.

    Mon url est celui ci : http://aguila-bidart.fr/demo/ISSY/we...e.php?ndDay=31

    Je souhaiterai que les informations contenue sur cette URL soit intégrer dans un ficher Excel en passant par une macro pour l'automatiser.

    Avez vous une idée pour m'aidez s'il vous plaît ?

    Merci par avance.

    Clément.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Bonjour,

    Une piste avec le code suivant
    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 aa()
    Call ExtractionData("http://aguila-bidart.fr/demo/ISSY/webservice.php?ndDay=31")
    End Sub
     
    Sub ExtractionData(URL As String)
    Dim S As Worksheet
    Dim IE As Object
    Dim A$
    Dim var
    Dim i&
    '---
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Navigate (URL)
    '---
    Do While IE.Busy
      DoEvents
    Loop
    '---
    A$ = IE.document.body.InnerText
    If A$ = "" Then Exit Sub
    '---
    var = (Split(A$, "}"))
    Set S = Sheets.Add
    '---
    For i& = LBound(var) To UBound(var)
      S.Range("a" & i& + 1 & "") = var(i&)
    Next i&
    '---
    IE.Quit
    Set IE = Nothing
    End Sub
    Lancez la macro "aa".
    Fichiers attachés Fichiers attachés

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu...
    Bonsoir
    le soucis avec ce genre de fichier que j'aparenterais a du json c'est qu'il n'est pas structuré correctement
    alors quand on le recupere il tient dans une 15 ne de ligne tout acrochées

    si tu veux le restituer a l'identique du fichier initial sur le web
    il te faut astucer
    ici encore l'exercice sera facile
    prenons la 1 ere ligne en exemple
    [{"value_Mesure":"0","timestamp_Mesure":"1436172169"},{"value_Mesure":"0","timestamp_Mesure":"1436179595"},{"value_Mesure":"0","timestamp_Mesure":"1436187024"},{"
    il y a 6 fois mesure
    3 fois timestamp
    et je suppose que cse sont les mesure que tu veux récupérer et donc :
    nous en trouvons 6 tiens!!!! 6 sa me rappelle quelque chose

    nous allons donc couper le texte par mesure acompagné de son ":"

    pour cela
    split(texte,"mesure"":" & chr(34)
    maintenant comme le texte obtenu par le telechargement par IE ou une requete nous le restitu pas ligne par ligne il faut les recréer
    donc dans une boucle sur les mesure (coupe) on incremente une variable jusqu'a 6 puis la ramenons a zero et incrementant une seconde variable pour la ligne a chaque fois que la 1 ere ateint 6
    resultat moins d'un quart de seconde
    j'ai utiliser plutot une requete (plus rapide ne demandant pas de parametre )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
        Dim ReQ, url,coupe,compte,lig
        url = "http://aguila-bidart.fr/demo/ISSY/webservice.php?ndDay=31"
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ReQ.Open "POST", url, False
        ReQ.send
        coupe = Split(ReQ.responsetext, "Mesure"":" & Chr(34))
        lig = 1
        For i = 1 To UBound(coupe)
            compte = compte + 1
            Cells(lig, compte) = Split(coupe(i), Chr(34))(0)
            If compte = 6 Then lig = lig + 1: compte = 0
        Next
    End Sub
    résultat voila
    Pièce jointe 184277

    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

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    Bonjour PMO2017 et Patricktoulon,

    D'abord merci beaucoup pour votre aide c'est un grand début pour moi.

    Pour répondre à ta question Patricktoulon, en effet les informations dans cet URL sont en vrac, moi j'aimerai avoir deux information par ligne (comme dans ta macro) mais avec seulement deux colonnes :

    colonne 1 colonne 2
    Ligne 1 : 0 | 1436172169
    Ligne 2 : 0 | 1436179595
    etc ...

    Car la la macro que tu as faite, qui est très bien, mais elle met les résultats sur 6 colonnes alors que moi j’aimerai seulement avoir deux colonnes.

    Je vous remercie grandement pour votre aide !

    Merci par avance pour cette dernière question.

    Bonne journée à vous.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    Re,

    Et j'aimerai aussi rajouter pour chaque case de ce type "1436172169" la transformer avec cette formule =((("case"/60)/60)/24)+ DATE(1970;1;1)+(1/24) pour avoir une date normale qui s'affiche.

    Merci pour votre aide

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    colonne 1 colonne 2
    Ligne 1 : 0 | 1436172169
    Ligne 2 : 0 | 1436179595
    etc ...
    Bonjour,

    Essayez avec ce nouveau 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
    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
    Sub Extraire()
    Call ExtractionData("http://aguila-bidart.fr/demo/ISSY/webservice.php?ndDay=31")
    End Sub
     
    Sub ExtractionData(URL As String)
    Dim S As Worksheet
    Dim IE As Object
    Dim A$
    Dim var
    Dim i&
     '---
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Navigate (URL)
    '---
    Do While IE.Busy
      DoEvents
    Loop
    '---
    A$ = IE.document.body.InnerText
    '---
    IE.Quit
    Set IE = Nothing
     
    '###########################
    If A$ = "" Then Exit Sub
    A$ = Replace(A$, "[", ",")
    A$ = Replace(A$, "]", "")
    A$ = Replace(A$, ",{" & Chr(34) & "value_Mesure" & Chr(34) & ":" & Chr(34), "")
    A$ = Replace(A$, "," & Chr(34) & "timestamp_Mesure" & Chr(34) & ":" & Chr(34), "")
    var = (Split(A$, "}"))
    Set S = Sheets.Add
    '---
    For i& = LBound(var) To UBound(var)
      S.Range("a" & i& + 1 & "") = var(i&)
    Next i&
    '---
    S.[a1].CurrentRegion.TextToColumns Destination:=Range("A1"), _
      DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
      ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
      Comma:=False, Space:=False, Other:=True, OtherChar:=""""
    End Sub
    Lancez la macro "Extraire".
    Fichiers attachés Fichiers attachés

  7. #7
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    Re,

    MERCI PMO2017 ! c'est exactement ça ! merci beaucoup !

    Encore une dernière question et je ne t’embête plus.. Saurait tu comment transformer directement dans la macro les éléments "timestamp_Mesure" qui sont actuellement de ce style "1436172169" en ce style la (13/03/2015 08:45) grâce à la formule suivante : =((("case"/60)/60)/24)+ DATE(1970;1;1)+(1/24).

    Merci beaucoup pour ton temps !

    Clément.

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    re
    re avec mon code tu change 6 pour 2 c'est tout

    serait ce ce resultat que tu veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test()
    '1436172169
    truc = (1436172169 / 60 / 60 / 24)
    MsgBox CDate(truc)
    End Sub
    resultat
    04/07/1945 08:42:49
    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

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re exemple
    c'est ce resultat que tu veux ?
    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
    Sub test2()
        Dim ReQ, url, coupe, compte, lig
        url = "http://aguila-bidart.fr/demo/ISSY/webservice.php?ndDay=31"
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ReQ.Open "POST", url, False
        ReQ.send
        coupe = Split(ReQ.responsetext, "Mesure"":" & Chr(34))
        lig = 1
        For i = 1 To UBound(coupe)
            compte = compte + 1
            donnée = Split(coupe(i), Chr(34))(0)
           Cells(lig, compte) = IIf(compte < 2, donnée, CDate((donnée / 60 / 60 / 24)))
            If compte = 2 Then
                année = Format(Cells(lig, 2), "yyyy")
                Cells(lig, 2) = Replace(Cells(lig, 2), année, année + 70)
                lig = lig + 1: compte = 0
            End If
        Next
    End Sub
    Pièce jointe 184298
    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

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Saurait tu comment transformer directement dans la macro les éléments "timestamp_Mesure" qui sont actuellement de ce style "1436172169" en ce style la (13/03/2015 08:45)
    Bonjour,
    Plutôt que d'écraser les valeurs de la colonne B, j'ai préféré inscrire le résultat en colonne C.
    Vous pourrez ainsi vérifier si ce sont bien les résultats escomptés (???).

    Le nouveau 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
    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
    Sub Extraire()
    Call ExtractionData("http://aguila-bidart.fr/demo/ISSY/webservice.php?ndDay=31")
    End Sub
     
    Sub ExtractionData(URL As String)
    Dim S As Worksheet
    Dim R As Range
    Dim R2 As Range
    Dim IE As Object
    Dim A$
    Dim var
    Dim i&
     '---
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Navigate (URL)
    '---
    Do While IE.Busy
      DoEvents
    Loop
    '---
    A$ = IE.document.body.InnerText
    '---
    IE.Quit
    Set IE = Nothing
     
    '###########################
    If A$ = "" Then Exit Sub
    A$ = Replace(A$, "[", ",")
    A$ = Replace(A$, "]", "")
    A$ = Replace(A$, ",{" & Chr(34) & "value_Mesure" & Chr(34) & ":" & Chr(34), "")
    A$ = Replace(A$, "," & Chr(34) & "timestamp_Mesure" & Chr(34) & ":" & Chr(34), "")
    var = (Split(A$, "}"))
    Set S = Sheets.Add
    '---
    For i& = LBound(var) To UBound(var)
      S.Range("a" & i& + 1 & "") = var(i&)
    Next i&
    '---
    S.[a1].CurrentRegion.TextToColumns Destination:=Range("A1"), _
      DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
      ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
      Comma:=False, Space:=False, Other:=True, OtherChar:=""""
    '--- Format "dd/mm/yyyy   hh:mm:ss" ---
    For i& = 1 To UBound(var)
      Set R = S.Range("b" & i& & "")
      Set R2 = R.Offset(0, 1)
      R2 = (R / 86400) + CDbl(CDate("1/1/1970") + (1 / 24))
      R2.NumberFormat = "dd/mm/yyyy   hh:mm:ss"
    Next i&
    End Sub
    Fichiers attachés Fichiers attachés

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    bien vu PMO pour la formule
    en l'adaptant a mon principe je n'arrive pas a avoir les secondes c'est assez etonnant

    pourquoi utilise tu IE pour ce genre de fichier Ie est plus lourd qu'une requete et plus long ??

    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
    Sub test2()
        Dim ReQ, URL, coupe, compte, lig
        URL = "http://aguila-bidart.fr/demo/ISSY/webservice.php?ndDay=31"
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ReQ.Open "POST", URL, False:    ReQ.send
        coupe = Split(ReQ.responsetext, "Mesure"":" & Chr(34))
        lig = 1
        For i = 1 To UBound(coupe)
            compte = compte + 1
            donnée = Split(coupe(i), Chr(34))(0)
           Cells(lig, compte) = IIf(compte < 2, donnée, Format(CDate((donnée / 86400) + CDbl(CDate("1/1/1970")) + (1 / 24)), "dd/mm/yyyy hh:nn:ss"))
            If compte = 2 Then lig = lig + 1: compte = 0
     
        Next
    End Sub
    bon..en meme temps les secondes a mons que se soit pour la nasa hein!!!!
    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

  12. #12
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    MERCI BEAUCOUP !!!!

    Vous m'avez sauvez la vie tous les deux. It's just amazing !

    Si je voudrais juste rajouter pour la colone "value_Mesure" un "%" derrière chaque nombre ?

    Merci encore

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    dans la formule de PMO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i& = LBound(var) To UBound(var)
      S.Range("a" & i& + 1 & "") = "%" & var(i&)
    Next i&
    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

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Salut patricktoulon,

    J'étais parti sur IE et y suis donc resté.


    en l'adaptant a mon principe je n'arrive pas a avoir les secondes c'est assez etonnant
    Voir ton code modifié ('///)
    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
    Sub test2()
        Dim ReQ, URL, coupe, compte, lig
        URL = "http://aguila-bidart.fr/demo/ISSY/webservice.php?ndDay=31"
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ReQ.Open "POST", URL, False:    ReQ.send
        coupe = Split(ReQ.responsetext, "Mesure"":" & Chr(34))
        lig = 1
        For i = 1 To UBound(coupe)
            compte = compte + 1
            donnée = Split(coupe(i), Chr(34))(0)
           Cells(lig, compte) = IIf(compte < 2, donnée, Format(CDate((donnée / 86400) + CDbl(CDate("1/1/1970")) + (1 / 24)), "dd/mm/yyyy hh:mm:ss"))
     
    '///ajout (spécifie le format de la cellule ET NON PAS celui de son contenu)
    Cells(lig, compte).NumberFormat = "dd/mm/yyyy hh:mm:ss"
    '///
            If compte = 2 Then lig = lig + 1: compte = 0
     
        Next
    End Sub

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut RE
    RE
    ET OUI MAIS NON

    EN AJOUTANT TA LIGNE TU CONVERTI LES DEUX COLONNE AU FORMAT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    '///ajout (spécifie le format de la cellule ET NON PAS celui de son contenu)
    Cells(lig, 2).NumberFormat = "dd/mm/yyyy hh:mm:ss"
    '///
    MAIS J'AI QUAND MEME UN SOUCIS

    mon exemple ne donne pas les meme dates que toi pourtant j'ai ta formule

    essaie le tiens sur un sheets et le mien sur un autre sheets tu verra
    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
    Sub test4()
        Dim ReQ, URL, coupe, compte, lig
        URL = "http://aguila-bidart.fr/demo/ISSY/webservice.php?ndDay=31"
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ReQ.Open "POST", URL, False:    ReQ.send
        coupe = Split(ReQ.responsetext, "Mesure"":" & Chr(34))
        lig = 1
        For i = 1 To UBound(coupe)
            compte = compte + 1
            donnée = Split(coupe(i), Chr(34))(0)
           Cells(lig, compte) = IIf(compte < 2, donnée, Format(CDate((donnée / 86400) + CDbl(CDate("1/1/1970")) + (1 / 24)), "dd/mm/yyyy hh:mm:ss"))
     
    '///ajout (spécifie le format de la cellule ET NON PAS celui de son contenu)
    Cells(lig, 2).NumberFormat = "dd/mm/yyyy hh:mm:ss"
    '///
            If compte = 2 Then lig = lig + 1: compte = 0
     
        Next
    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

  16. #16
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    Patricktoulon,

    Et dans ton code à toi pour le pourcentage il faut le situer où ?

    Merci

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(lig, compte) = IIf(compte < 2, "%" & donnée, Format(CDate((donnée / 86400) + CDbl(CDate("1/1/1970")) + (1 / 24)), "dd/mm/yyyy hh:mm:ss"))
    mais attention!!! les dates ne sont pas les meme que PMO!!!!
    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

  18. #18
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    C'est bizarre car sur le fichier Excel, une fois la macro lancé, il semblerait que ce soit les mêmes dates !

    Clément.

  19. #19
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    non ce ne sont pas les meme
    regarde bien

    par contre j'ai plus de mois que PMO
    RESTE A SAVOIR CE QUE TU ATTENDS car pour le moment j'essai de comprendre pourquoi PMO et moi n'avons pas le meme résultat avec la meme formule
    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
    Sub test4()
        Dim ReQ, URL, coupe, compte, lig
        URL = "http://aguila-bidart.fr/demo/ISSY/webservice.php?ndDay=31"
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ReQ.Open "POST", URL, False:    ReQ.send
        coupe = Split(ReQ.responsetext, "Mesure"":" & Chr(34))
        lig = 1
        For i = 1 To UBound(coupe)
            compte = compte + 1
            donnée = Split(coupe(i), Chr(34))(0)
           Cells(lig, compte) = IIf(compte < 2, "%" & donnée, Format(CDate((donnée / 86400) + CDbl(CDate("1/1/1970")) + (1 / 24)), "dd/mm/yyyy hh:mm:ss"))
     
    '///ajout (spécifie le format de la cellule ET NON PAS celui de son contenu)
    Cells(lig, 2).NumberFormat = "dd/mm/yyyy hh:mm:ss"
    '///
            If compte = 2 Then lig = lig + 1: compte = 0
     
        Next
    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

  20. #20
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Juillet 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 37
    Points : 23
    Points
    23
    Par défaut
    Exactement ça se que vous avez fait c'est ce que je voulais mais effectivement c'est bizarre que vous n’ayez pas les mêmes dates alors que l'URL du fichier internet ne change pas.

    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/07/2012, 15h57
  2. récupérer des données sur internet
    Par rico63 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/01/2012, 16h59
  3. [AC-2007] Récupérer des données sur internet
    Par nadir-1961 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 24/06/2011, 13h09
  4. [MySQL] Récupérer des données de MySQL et les envoyer dans un PDF
    Par cdevl32 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 16/03/2009, 20h53
  5. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22

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