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 :

Taille du fichier en exponentiel suite requete puis optimisation [XL-2013]


Sujet :

Macros et VBA Excel

  1. #321
    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 63
    bonjour sebphyto que fait on maintenant
    63
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    'http://www.geny.com/partants-pmu/2015-07-28-chantilly-pmu-prix-du-bois-brandin
    Sub testesimple63()
        Dim z As Long, pluss As Long, dicoseb, dicopat, mesTRREF, listPRnst, MESTH, docTemp
        listPRnst = Array("Bilto :", "Agence TIP :", "Top Entraineurs : ", "Stato Turf : ", "Paris Turf : ")
        Set dicoseb = CreateObject("Scripting.Dictionary")
        Set dicopat = CreateObject("Scripting.Dictionary")
        Set docTemp = CreateObject("htmlfile")
        url = "http://www.pronostics-turf.info/fg-pronostics-presse.php"
        Set ie = CreateObject("internetexplorer.application")
        With ie:
            .navigate url
            'IE.Visible = True:
            Do: DoEvents: Loop While .readystate <> 4 Or .busy
            codehtml = .document.body.innerhtml
            'on crée une table avec les source choisie
            Set mestr = .document.getelementsbytagname("tr")
            For i = 0 To mestr.Length - 1
                For p = 0 To UBound(listPRnst)
                    If InStr(mestr(i).innertext, listPRnst(p)) > 0 Then codetable = codetable & mestr(i).outerhtml
                Next
            Next
            codetable = "<table ID=tableref>" & codetable & "</table>"
            'on créé une table avec la synthese
            ligneplace = "<TR bgcolor=""#BDBDBD"" id=Places><TH>Places</TH>"
            lignecheval = "<TR bgcolor=""#BDBDBD"" id=cheval><TH>Cheval</TH>"
            For i = 1 To 17
                ligneplace = ligneplace & "<TH>" & i & "</TH>"
                lignecheval = lignecheval & "<TH>" & i & "</TH>"
            Next
            ligneplace = ligneplace & "</TR>"
            lignecheval = lignecheval & "</TR>"
            For i = 0 To mestr.Length - 1
                If InStr(mestr(i).innertext, "Synthèse") > 0 Then
                    For Each elem In mestr(i).Children: elem.innerhtml = elem.innertext: Next
                    mestr(i).ID = "synthW"
                    codesynth = ligneplace & mestr(i).outerhtml & "<TR></TR>" & lignecheval
                End If
            Next
            'on prepare la lignes des syntheses pat et seb
            suitesynth = suitesynth & "<tr id=fois><th> X fois cité</th>" & Application.Rept("<th>0</th>", 17) & vbCrLf
            suitesynth = suitesynth & "<tr id=synthS><th> synthese sebphyto</th>" & Application.Rept("<th></th>", 17) & vbCrLf
            suitesynth = suitesynth & "<tr id=synthP><th> synthese patrick</th>" & Application.Rept("<th></th>", 17) & vbCrLf
            codesynth = "<table>" & codesynth & suitesynth & "</table>"
            'on supprime le script 3 et on récupère le debut
            lscript = Split(codehtml, "<script")
            codehtml = Replace(codehtml, Split(lscript(3), "</script>")(0) & "</script>", "")
            docTemp.body.innerhtml = codehtml
            DEBUT = Split(Split(docTemp.body.innerhtml, "Résultat")(1), "<TABLE")(0)
            docTemp.body.innerhtml = DEBUT
            textedebut = "": textedebut = Replace(Replace(docTemp.body.innertext, " - ", "-"), vbCrLf, " ")
            Set docTemp = Nothing
            .Quit
        End With
        'model seb
        'textedebut = "QUINTE Arrivée du QUINTE PMU d'aujourd'hui Lundi 27 Juillet 2015: 14-5-9/11-7 27/07/2015 [Il est 18:46:41]-Course 4590 PRONOSTICS PRESSE HIPPIQUE POUR LE QUINTE PMU: Prix DU BOIS BRANDIN-16 partants à CHANTILLY Mardi le 28-07-2015, Réunion 1 Course 3 Départ: 13h50 (allocation: 60000€) Plat PRONOSTICS DE LA PRESSE (Revue de Presse) de pronostics-turf.info "
        'model pat
        'textedebut =QUINTE Arrivée du QUINTE PMU d'aujourd'hui Lundi 27 Juillet 2015: 14-5-9/11-7 27/07/2015 [Il est 17:42:03]-Course 4590 QUINTE: Prix DU BOIS BRANDIN à CHANTILLY Mardi le 28-07-2015, Réunion 1 Course 3 Départ: 13h50 (allocation: 60000€) Plat PRONOSTICS DE LA PRESSE (Revue de Presse) de pronostics-turf.info
        ' date de la precedente course
        oldate = Split(Split(Replace(textedebut, "hui", "hier"), "hier ")(1), ":")(0)
        daystring = Split(oldate, " ")(0)
        oldate = Format(Split(oldate, daystring)(1), "dd/mm/yyyy")
        newdate = Format(Split(Split(textedebut, " le ")(1), ",")(0), "dd/mm/yyyy")
        oldarrivée = Replace(Split(Split(textedebut, ": ")(1), " ")(0), "/", "-")
        nomprix = "Prix" & Split(Split(textedebut, "Prix")(1), "à")(0)
        If InStr(nomprix, "partants") > 0 Then
            nomprix = Split(nomprix, "-")(0)
            nbpartant = Replace(Split(Split(textedebut, "partants")(0), nomprix)(1), "-", "")
        End If
        HiPPo = Split(Split(textedebut, "à ")(1), " ")(0)
        RC = "R" & Replace(Split(Split(textedebut, "Réunion ")(1), " Départ")(0), " Course ", "C")
        DsP = Split(Split(textedebut, "€) ")(1), " PRONOSTICS")(0)
        codedebut = codedebut & "<a>" & " date de la course precedente : " & oldate & "</a><br>"
        codedebut = codedebut & "<a>" & " arrivée de la course precedente : " & oldarrivée & "</a><br>"
        codedebut = codedebut & "<a>" & " date de la nouvelle course : " & newdate & "</a><br>"
        codedebut = codedebut & "<a>" & " Hippodrome  de la nouvelle course : " & HiPPo & "</a><br>"
        codedebut = codedebut & "<a>" & " prix de la nouvelle course : " & nomprix & "</a><br>"
        codedebut = codedebut & "<a>" & " Réunion et course de la nouvelle course : " & RC & "</a><br>"
        codedebut = codedebut & "<a>" & " discipline  de la nouvelle course : " & DsP & "</a><br>"
        codedebut = codedebut & "<a>" & " nombre de partant  de la nouvelle course : " & nbpartant & "</a><br>"
     
     
        With CreateObject("htmlfile")
            .body.innerhtml = textedebut & "<br>" & codedebut & codetable & "<br>" & codesynth
     
            '************************************************************************************
            'nombre de fois cité dans les sources choisies
            Set mesthref = .getelementbyid("tableref").getelementsbytagname("TH")
            Set fois = .getelementbyid("fois")
            For i = 1 To 17
                For a = 0 To mesthref.Length - 1
                    If Val(mesthref(a).innertext) = i Then fois.Children(i).innertext = Val(fois.Children(i).innertext) + 1
                Next
            Next
            '***************************************************************************
            'syntheze patric avec  les sources choisies par points
            Set mesTRREF = .getelementbyid("tableref").getelementsbytagname("TR")
            Set synthP = .getelementbyid("synthP")
            For i = 0 To mesTRREF.Length - 1
                For z = 1 To mesTRREF(i).Children.Length - 1
                    dicopat(mesTRREF(i).Children(z).innertext) = dicopat(mesTRREF(i).Children(z).innertext) + (8 - (z - 1))
                Next
            Next
            Do
                num = num + 1: old = 0
                For Each elem In dicopat
                    If dicopat(elem) > old Then old = dicopat(elem): items = elem
                Next
                'MsgBox items & " :  " & dicopat(items)
                dicopat(items) = 0
                synthP.Children(num).innertext = items
            Loop Until num = dicopat.Count
            '****************************************************************************
            Set synthS = .getelementbyid("synthS")
            Set synthW = .getelementbyid("synthW")
            Set mesthref = .getelementbyid("tableref").getelementsbytagname("TH")
            ' remplissage des chevauc de la ligne syntheze par point dans le dicoseb
            For i = 1 To synthW.Children.Length - 1
                If synthW.Children(i).innertext <> "" Then dicoseb(Val(synthW.Children(i).innertext)) = ""
            Next
            'remplissage des point dans le dicoseb par raport au nombre de fois cité dans la table de source choisies
            For z = 0 To mesthref.Length - 1
                If dicoseb.exists(Val(mesthref(z).innertext)) Then dicoseb(Val(mesthref(z).innertext)) = Val(dicoseb(Val(mesthref(z).innertext))) + 1
            Next
            'retranscription dans le meme ordre que la ligne syntheze par point dans la ligne syntheze sebphyto
            z = 0
            For lMax = 5 To 0 Step -1
                For i = 1 To synthW.Children.Length - 1
                    If Val(dicoseb(Val(synthW.Children(i).innertext))) = lMax Then z = z + 1: synthS.Children(z).innertext = synthW.Children(i).innertext
                Next
            Next
            '************************************************************************************
    code = .body.innerhtml
            'If .parentWindow.clipboardData.setData("Text", .body.innerhtml) Then
               ' Application.ScreenUpdating = False
               ' With Sheets(1)
                   ' .Activate
                    '.Cells.Clear
                    '.Columns("A:A").ColumnWidth = 17
                    '.Columns("B:R").ColumnWidth = 6
                   ' Cells(2, 1).Select
                    '.Paste
               ' End With
               ' .parentWindow.clipboardData.clearData "Text"
            'End If
        End With
        'http://www.geny.com/partants-pmu/2015-07-28-chantilly-pmu-prix-du-bois-brandin
        url = "http://www.geny.com/partants-pmu/" & Format(newdate, "yyyy-mm-dd") & "-" & HiPPo & "-pmu-" & Split(nomprix, "Prix")(1)
        musiquegeny url, code
    End Sub
    Sub musiquegeny(url, code)
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ligpointgeny = "<tr ID=Pgeny><th> point musique geny</th>"
        ligmusiquegeny = "<tr ID=Mgeny><th> musique geny</th>"
        ligchev = "<tr bgcolor=""#BDBDBD""><th> cheval</th>"
        confiance = "<tr bgcolor=""#BDBDBD""><th> Confiance</th>"
        ReQ.Open "POST", url, False
        ReQ.setRequestHeader "User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"
        ReQ.send
        With CreateObject("htmlfile")
            .write ReQ.responsetext
            MsgBox .body.innertext
            Set matable = .getelementbyid("dt_partants")
            Set mestr = matable.getelementsbytagname("tr")
             numchev = mestr.Length
             For i = 1 To mestr.Length - 1
             ligchev = ligchev & "<th>" & i & "</th>"
             ligpointgeny = ligpointgeny & "<th>" & mestr(i).Children(12).innertext & "</th>"
     
             If InStr(mestr(i).Children(11).innertext, "(") > 0 Then asup = Split(Split(mestr(i).Children(11).innertext, "(")(1), ")")(0)
            musique = Replace(Replace(mestr(i).Children(11).innertext, asup, ""), "()", "")
              musique = Replace(Replace(musique, "D", 11), "0p", "11p")
             div = UBound(Split(musique, "p"))
             resultat = 0
             For e = 0 To UBound(Split(musique, "p"))
     
             resultat = resultat + Val(Split(musique, "p")(e))
             Next
            resultat = resultat / UBound(Split(musique, "p"))
     
     
     
            ligmusiquegeny = ligmusiquegeny & "<th>" & musique & "</th>"
         confiance = confiance & "<th>" & resultat & "</th>"
             Next
          ligpointgeny = ligpointgeny & "</tr>"
        ligmusiquegeny = ligmusiquegeny & "</tr>"
         ligchev = ligchev & "</tr>"
         confiance = confiance & "</tr>"
     
         titre = "<tr><th colspan=" & numchev & ">Bilan de Geny course</th></tr>"
         .body.innerhtml = code & "<br>" & "<table id=geny>" & titre & ligchev & ligpointgeny & ligmusiquegeny & confiance & "</table>"
         .getelementbyid("geny").Style.Border = "2px  solid " & "#088A08"
         If .parentWindow.clipboardData.setData("Text", .body.innerhtml) Then
                Application.ScreenUpdating = False
                With Sheets(1)
                    .Activate
                    .Cells.Clear
                    .Columns("A:A").ColumnWidth = 17
                    .Columns("B:R").ColumnWidth = 10
                    Cells(2, 1).Select
                    .Paste
                End With
                .parentWindow.clipboardData.clearData "Text"
            End If
     
        End With
    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

  2. #322
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Re,

    Top travail

    Maintenant, la mission est la consignation dans une bdd de ce type
    Nom : Capture.PNG
Affichages : 458
Taille : 15,1 Ko

    Avec recup sur zeturf des rapports trio, ZE4, ZE5, ZE234 et ZE 345

    avec ce code que tu as déjà travaillé
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    ' lien 1 ="http://www.zeturf.fr/fr/resultats-et-rapports/?day=2015-06-16"
    'la table a pour classe "simple"
    Dim tablo_lien(4, 15)
    Dim Ok As Boolean
    Public madate
    Public thecell As Range
     
    Sub listecombo()
     
    Dim combo As Object, tablo
     
        'For i = 1 To 4
    Set plage = Sheets("Recup").Columns("A:A").Cells.SpecialCells(xlCellTypeConstants, 23)
    ReDim tablo(plage.Cells.Count, 2)
        '    Select Case i
         '   Case 1: Set combo = Sheets(4).ComboBox1.Object
         Set combo = Sheets(5).ComboBox1.Object
          '  Case 2: Set combo = Sheets(4).ComboBox2.Object
           ' Case 3: Set combo = Sheets(4).ComboBox3.Object
            'Case 4: Set combo = Sheets(4).ComboBox4.Object
           ' End Select
            combo.Clear
            ind = 0
            tablo(0, 0) = "Choisir une date"
            For Each elem In plage.Cells
                'MsgBox elem.Row
                If IsDate(elem) And elem.Offset(0, 14) = "" Then
                    ind = ind + 1
                   tablo(ind, 0) = elem: tablo(ind, 1) = elem.Address
     
                End If
            Next
            combo.List = tablo
         combo.ListIndex = 0
        Erase tablo
        'Next
     
    End Sub
    Sub suite()
      listecombo
    End Sub
     
    Sub starts(madate)
        Sheets(5).Range("A1:n10").Clear
        url = "http://www.zeturf.fr/fr/resultats-et-rapports/?day=" & (Format(madate, "yyyy-mm-dd"))
        'url = "http://www.zeturf.fr/fr/resultats-et-rapports/?day=2015-07-15"
        recupe_lien_1 url
        Do: DoEvents: Loop Until Ok = True
        Ok = False: recupe_lien_2
        Sheets(5).Cells(1, 1).Resize(4, 10) = tablo_lien
     
    End Sub
     
    Public Function recupe_html(url)
        Dim ReQ
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ReQ.Open "POST", url, False
        ReQ.send
        recupe_html = ReQ.responsetext
        Set ReQ = Nothing
    End Function
     
    Sub recupe_lien_1(url)
        Dim matable, mestables
     
        With CreateObject("htmlfile")
            .write recupe_html(url)
            Set mestables = .getelementsbytagname("TABLE")
            For i = 0 To mestables.Length - 1
                If mestables(i).classname = "simple" Then Set matable = mestables(i)
            Next
            Set meslignes = matable.getelementsbytagname("TR")
            For a = 0 To 4
                Set course = meslignes(a).getelementsbytagname("a")(0)
                'Debug.Print course.innertext & "  " & course.Title & "  " & course.href
                tablo_lien(a, 0) = course.Title
                tablo_lien(a, 1) = course.href
            Next
        End With
        Ok = True
        Set matable = Nothing: Set mestables = Nothing
    End Sub
    'lien a tester http://www.zeturf.fr/fr/programmes-et-pronostics/course?id=161886&prefill=12.....12 signifie ZE5
    Sub recupe_lien_2()
        For a = 0 To 4
            Dim matable, mestables
            url = tablo_lien(a, 1)
            With CreateObject("htmlfile")
                .write recupe_html(url)
                Set mestables = .getelementsbytagname("TABLE")
                For i = 0 To mestables.Length - 1
                    If mestables(i).classname = "double" Then Set matable = mestables(i)
                Next
                Set meslignes = matable.getelementsbytagname("TR")
                ReDim tabP(meslignes.Length, 1)
                For col = 1 To meslignes.Length - 1
                    Set course = meslignes(col).getelementsbytagname("a")(0)
                    tablo_lien(a, col + 1) = Replace(course.href, "programmes-et-pronostics", "resultats-et-rapports") _
                                           & "-*-" & meslignes(col).getelementsbytagname("TD")(5).innertext
     
                Next
     
            End With
     
        Next
    End Sub
    Sub reunion(madate)
     
        starts madate
        recup_données 0
     
    End Sub
     
    Public Function thedoc() As Object
    'on construit un table html correspondant a la ligne de la course mais vierge!!!!!!
        Set thedoc = CreateObject("htmlfile")
        tablefinale = "<TABLE class = fin><TR><TD id= Discipline></TD><TD id= Courses></TD><TD id= Nb_partants></TD>"
        tablefinale = tablefinale & "<TD id=P1></TD><TD id=P2></TD><TD id= P3></TD><TD id= P4></TD><TD id= P5></TD><TD id= P6></TD> "
        tablefinale = tablefinale & "<TD ID= P7></TD><TD id=P8></TD><TD id= P9></TD><TD id= P10></TD><TD class= arriv id=arriv_0></TD><TD class= arriv id=arriv_1></TD>"
        tablefinale = tablefinale & "<TD class= arriv id=arriv_2></TD><TD class= arriv id=arriv_3></TD><TD class= arriv id= arriv_4>"
        tablefinale = tablefinale & "<TD id= Trio></TD><TD id= ZE_4></TD></TD><TD id= z234_0></TD>"
        tablefinale = tablefinale & "<TD id= z234_1></TD><TD id= z234_2></TD><TD id= z234_3></TD><TD id= z234_4></TD><TD id= z234_5><TD id= z345_0></TD><TD id= z345_1></TD>"
        tablefinale = tablefinale & "<TD id= z345_2></TD><TD id= z345_3></TD><TD id= z345_4></TD><TD id= z345_5></TD></TR></TABLE>"
        With thedoc
            .write ""
            .write tablefinale
     
        End With
    End Function
    Function recup_données(reunion)
        Dim arrivée As String, cel As Range
        Dim doc, couleur
     
        thecell.Value = madate
        thecell.Offset(1, 0) = tablo_lien(reunion, 0)
        For col = 2 To 9
            Set doc = thedoc
     
            arr = 0
            Set PLAGEPRONO = Sheets("Recup").Range(thecell.Offset(col - 2, 4), thecell.Offset(col - 2, 13))
            If tablo_lien(reunion, col) <> "" Then
                'cel.Offset(col, 3) = Split(tablo_lien(reunion, col), "-*-")(1)
                With CreateObject("htmlfile")
                    .write recupe_html(Split(tablo_lien(reunion, col), "-*-")(0))
     
                    '*************************************************************************************************************************
                    ' récupération de l'arrivée et mise en place dans  le document html 2(doc)
                    Set debut = .getelementsbytagname("p")
                    For e = 1 To debut.Length - 1
                        arrive = ""
                        If debut(e).classname = "paragraph" Then
     
                            tabarr = Split(debut(e).Children(1).innertext, "-")
     
                            For Each elem In doc.all
                                If elem.classname = "arriv" Then
                                On Error Resume Next
                                    elem.innertext = Val(Trim(tabarr(arr)))
                                    arr = IIf(arr < 4, arr + 1, 4)
                                    ' MsgBox arr
                                End If
                            Next
                        End If
                        '*****************************************************************************************************
                        ' récupération du type de discipline et mise en place dans  le document html 2(doc)
                        If debut(e).classname = "justify" Then doc.getElementById("Discipline").innertext = Split(debut(e).innertext, " ")(0)
                    Next
                    '******************************************************************************************************
     
                    ' récupération des pronostiques et mise en place dans  le document html 2(doc)
                    cols = 5
                    For Each cel In PLAGEPRONO.Cells
                        ' MsgBox doc.getElementById("p" & cols - 4).outerHTML & vbCrLf & cel.Value
                        doc.getElementById("P" & cols - 4).innertext = IIf(cel.Value <> "", Val(cel.Value), "0")
                        cols = cols + 1
                    Next
                    '******************************************************************************************************
     
                    'récupération du type de course et mise en place dans  le document html 2(doc)
                    Set mestagA = .getelementsbytagname("a")
                    For Each elem In mestagA
                        If elem.classname = "pill" Then doc.getElementById("Courses").innertext = Trim(elem.innertext)
                    Next
                    'récupération du nombre de partants
                    doc.getElementById("Nb_partants").innertext = Split(tablo_lien(reunion, col), "-*-")(1)
     
                    '************************************************************************************************************************
                    ' Trio  ZE4 z234 z345
     
                    'récupération des tables
                    Set mesdivs = .getelementsbytagname("div")
                    For Each elem In mesdivs
                        If elem.classname = "bigpad center" Then    'on recupére les div "bigpad center" les tableaux html sont dedans
                            Select Case elem.Children(0).innertext
     
                            Case "Trio"
                                doc.getElementById("Trio").innertext = Val(elem.getelementsbytagname("b")(0).innertext)
                                'Debug.Print trio
     
                            Case "ZE 4"
                                doc.getElementById("ZE_4").innertext = Val(elem.getelementsbytagname("b")(0).innertext)
                                'Debug.Print ze4
     
                            Case "ZE 234"
                                Set matable = elem.getelementsbytagname("TABLE")(0)
                                Set z234 = matable.getelementsbytagname("b")
                                For nbc = 0 To z234.Length - 1
                                    doc.getElementById("z234_" & nbc).innertext = Val(z234(nbc).innertext)
                                Next
                                ' Debug.Print Z_234
     
                            Case "ZE 345"
                                Set matable = elem.getelementsbytagname("TABLE")(0)
                                Set z345 = matable.getelementsbytagname("b")
                                For nbc = 0 To z234.Length - 1
                                    doc.getElementById("z345_" & nbc).innertext = Val(z345(nbc).innertext)
                                Next
     
                            End Select
     
                        End If
                    Next
                    '***************************************************************************************************************************
     
                    .body.innerhtml = doc.body.innerhtml
                    Set doc = Nothing
                    For Each elemtd In .all
                        If elemtd.tagname = "TD" Then
                            With elemtd
                                .Style.borderTop = 1 & "px solid #BDBDBD "
                                .Style.borderBottom = 1 & "px solid #BDBDBD "
     
                                .Style.TextAlign = "center"
                                If elemtd.classname = "arriv" Then
                                    .Style.fontWeight = "bold"
                                    .Style.fontFamily = "arial"
                                End If
     
                            End With
     
                            Select Case elemtd.ID
                            Case "P10": elemtd.Style.borderRight = 2 & "px " & "solid" & "  " & "red"
                            Case "P1": elemtd.Style.borderLeft = 2 & "px " & "solid" & "  " & "red"
                            Case "arriv_4": elemtd.Style.borderRight = 4 & "px " & "solid" & "  " & "red"
                            Case Else
                                elemtd.Style.borderRight = 1 & "px " & "solid #BDBDBD"
                                elemtd.Style.borderLeft = 1 & "px " & "solid #BDBDBD"
                            End Select
                            '****************************************************************************************************
                            ' ET VOILA MORT DE RIRE !!!!!!! 4 LIGNES POUR LA "M F C"  CA FOUT LES BOULES HEIN!!!!!!!
                            ' mfc externe in code html to CSS dynamique
                            couleur = Array("#7030A0", "#92D050", "#95B3D7", "#FAC090", "#FFFFFF")    'les couleurs de la M F C au format html !!!!
                            tds = Array("P1", "P2", "P3", "P4", "P5", "P6", "P7", "P8", "P9", "P9", "P10")
                            For clr = 0 To 4
                                For cr = 0 To 10    'UBound(tds)
                                    If Val(.getElementById(tds(cr)).innertext) = Val(.getElementById("arriv_" & clr).innertext) Then .getElementById(tds(cr)).Style.Background = couleur(clr)
                                Next
                                'If Val(elemtd.innerText) = Val(.getElementById("arriv_" & clr).innerText) Then elemtd.Style.Background = couleur(clr)
                            Next
                            'fin de M F C
                            '***********************************************************************************************************
                        End If
                    Next
                    Debug.Print .body.innerhtml
     
                    If .parentWindow.clipboardData.setData("Text", .body.innerhtml) Then
                        Application.ScreenUpdating = False
                        With Sheets("Recup")
                            .Activate
                            lig = IIf(col < 3, 0, lig + 1)
                            thecell.Offset(lig, 1).Select
                            .Paste
     
                        End With
                        .parentWindow.clipboardData.clearData "Text"
                    End If
                    'Debug.Print .body.innerHTML
                    '.body.innerHTML = ""
                End With
            End If
            'Debug.Print "***********************************************"
        Next
    End Function
    il y a également dans le code la MFC.


    Je suis en train de regarder comment je peux simuler par exemple:

    je prend les 5 1er du prono (ou 6 ou 7 ou 8), et regarde combien de chevaux j'ai à l'arrivée, si dans cette sélection j'ai le trio, le ZE4, etc et si j'ai il calcule selon le rapport ce que je gagne moins la mise. après ce qu'il serait bien c d'appliquer une montante (choix selon plusieurs sortes de montante) et voir le rendement toujours moins les mises.....bref....c pas si simple car j'aimerai l'appliquer à ce fichier, et à d'autre, une fonction peut-être, je sais pas par quoi commencer.
    Dois-je ouvrir une autre discussion, qui je pense serai bien pour ne pas polluer celle-ci.

    Seb

  3. #323
    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
    tout d'abords Bonjour

    ensuite on rapatyrie quoi? maintenant dan la BDD hein!!! le choix n'est pas si simple

    heureux l'ignorant ,heureux celui qui ne connais pas le mots choix ,heureux celui qui est la et qui ne sais pas qu'il pourrais etre ailleurs ,etc....... etc......


    ensuite la recup(ze4 etc....) on peut le faire au meme endroit

    il y a ici les resultat et gains des 2 dernieres courses
    http://www.pronostics-turf.info/cour...rse-du-pmu.php
    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. #324
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Salut Patrick,
    il y a ici les resultat et gains des 2 dernieres courses
    http://www.pronostics-turf.info/cour...rse-du-pmu.php
    Oui je sais, à la différence que ce sont les rapports PMU et non Zeturf, par exemple aujourd'hui pour le Quarté donne 258€ alors que le ZE4 sur Zeturf donne 400€ (ça correspond au même jeu mais appellation différentes)... donc le rapport n'ai pas le même, le ZE4 sur zeturf coût 35€ en 8ch alors que sur PMU 91€...

    Pour la récup des rapports j'en parle dans mon post plus haut

    Avec recup sur zeturf des rapports trio, ZE4, ZE5, ZE234 et ZE 345

    il y a également dans le code la MFC.


    Je suis en train de regarder comment je peux simuler par exemple:

    je prend les 5 1er du prono (ou 6 ou 7 ou 8), et regarde combien de chevaux j'ai à l'arrivée, si dans cette sélection j'ai le trio, le ZE4, etc et si j'ai il calcule selon le rapport ce que je gagne moins la mise. après ce qu'il serait bien c d'appliquer une montante (choix selon plusieurs sortes de montante) et voir le rendement toujours moins les mises.....bref....c pas si simple car j'aimerai l'appliquer à ce fichier, et à d'autre, une fonction peut-être, je sais pas par quoi commencer.
    Dois-je ouvrir une autre discussion, qui je pense serai bien pour ne pas polluer celle-ci.
    Seb et merci encore

    JE viens de relancer le test63 le dernier et j'ai une erreur sur la musique

    url n'est pas bonne dans la sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub musiquegeny(url, code)
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ligpointgeny = "<tr ID=Pgeny><th> point musique geny</th>"
        ligmusiquegeny = "<tr ID=Mgeny><th> musique geny</th>"
        ligchev = "<tr bgcolor=""#BDBDBD""><th> cheval</th>"
        confiance = "<tr bgcolor=""#BDBDBD""><th> Confiance</th>"
        ReQ.Open "POST", url, False
        ReQ.setRequestHeader "User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"
        ReQ.send
    url = "http://www.geny.com/partants-pmu/2015-07-29-ENGHIEN-pmu- DU PARC DES PRINCES"
    alors que ça devrait être
    url = "http://www.geny.com/partants-pmu/2015-07-29-enghien-pmu-prix-du-parc-des-princes"
    il manque "prix"


    d'où
    erreur 6: dépassement de capacité
    ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resultat = resultat / UBound(Split(musique, "p"))
    car il veut diviser 0 par quelque chose

    Seb

  5. #325
    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
    oui j'avais prevu ca pour toi
    ton ie est vraiment basique
    regarde sur les forum comment on parametre IE
    chez moi meme si l'url a des petits defaut ca me recherche la plus proche chez toi non
    ne me demande pas comment on fait IE 11 moi j'ai jetté tout de suite

    je vais regarder ca
    ensuite comme t'es un peu long je suis parti sur l'autre projet que je t'avais parlé
    annalyse de toutes les ource sur 1 mois et plus
    alors je démarre
    ca n'est qu'un brouillon pour le momment je me contente de récupérer toutes les source
    d'archiver la page dans un nouveau sheets et de mettre l'arrivée si un sheets portant comme nom la date de la derniere course
    la aussi j'ai prevu l'utilisation (plusieur fois par jour )
    si la course d'aujourd'hui a été deja prise il ne refait pas la manip il récupere juste l'arrivée

    bon je vais regarder le defaut d'url sur l'autre

    entre nous
    le bilan de geny c'est une cata aujourd'hui on aurait perdu de l'argent
    quand a nos syntheze elle donne au mieux le trio en 6 chevaux

    jes sources aujourdh'ui n etaitent pas a la boone mesure
    ta synthese aujourdh'ui est la meilleure en terme du premier mais il est quand meme en 4 position
    bref je sais maintenant pourquoi tu utilise d'autre sources hein!!! tu veux pas me les dires hein!!!!

    Pièce jointe 184116

    Edit:

    je me reprend en fait c'est ton system de calcul qui fausse la donne
    regarde les point geny il etait dans le vrai !!!!!!
    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

  6. #326
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    C'est cool, il y a de l'idée, je te félicite

    je vois que tu a prévu un pourcentage de réussite

    Seb

    Avec mon prono aujourd'hui on a un ZE4 en 8ch pour une mise de 35€ et un gain de 400€....c pas mal quand même

  7. #327
    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
    oui peut etre je ne connais pas tout ces parametres moi je ne joue pas

    tu dis un the 4 en huit chevaux 40 €

    purée la derniere fois que j'ai joué au tiercé c'estait encore en franc et meme en franc c'etait plus cher en huit chevaux

    bon enfin bref

    il se trouve que ca n'est pas l'url de geny qui n'est pas bonne c'est les elements qui sont diférement placer pour cette course dans le grille geny

    je vais regarder un peu

    tiens fait le test met cette url qui n'est pas bonne dans la barre d'adresse de IE et vois comme tu te trompe
    http://www.geny.com/partants-pmu/201...9-ENGHIEN-pmu- DU PARC DES PRINCES

    ou meme
    http://www.geny.com/partants-pmu/2015-07-29-ENGHIEN
    ou meme
    http://www.geny.com/partants-pmu/2015-07-29

    les 3 fonctionnent selon les argument c'est plus ou moins long c'est tout


    oulahhh regarde mieux
    les 3 syntheses ajourd'hui nous les donne en 5

    regarde mieux la capture
    si tu a pas les meme que moi ca veut dire que tu utilise pas les meme source choisies

    tiens remplace la construction de l'url
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url = LCase("http://www.geny.com/partants-pmu/" & Format(newdate, "yyyy-mm-dd") & "-" & HiPPo & "-pmu-" & Replace(Trim(nomprix), " ", "-"))
    donne ceci:
    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

  8. #328
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Exact les 3 fonctionnent

    je me suis trompé en 8ch c 70€ et en 7ch c 35€

    Seb

    tiens remplace la construction de l'url


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url = LCase("http://www.geny.com/partants-pmu/" & Format(newdate, "yyyy-mm-dd") & "-" & HiPPo & "-pmu-" & Replace(Trim(nomprix), " ", "-"))donne ceci:

    http://www.geny.com/partants-pmu/201...rc-des-princes
    Ok j'ai le bon retour de url


    parcontre j'ai toujours une erreur dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     resultat = resultat / UBound(Split(musique, "p"))
    erreur "dépassement de capacité"

    As-tu essayer pour demain?

    car j'ai oublié de te dire quelque chose

    Musique au trot

    Au trot, elle se présente sous cette forme : Da1a4a0a(10)9a7m6m

    Explications :

    "a" correspond au trot attelé
    "m" correspond au trot monté.
    "D" correspond à disqualifié.
    "Dpag" Disqualifié pour avoir passé le Poteau Au Galop

    Le chiffre précédent la lettre correspond à son classement : 4a = 4ème à l'attelé ; 7m = 7ème au monté ; 0a signifie que le cheval est non placé à l'attelé c'est à dire qu'il n'a pas terminé dans les neuf premiersn de la course.

    "(10)" correspond à l'année, c'est l'année 2010. C'est à dire que les performances à droite de (10) se sont disputées en 2010, celles à gauche en (10) se sont disputées en 2011.

    2/ Musique en obstacles

    On trouvera des musiques telles que : 7s8h1cTs4cAh

    "s" correspond à la discipline du steeple-chase.
    "h" correspond à la discipline des haies.
    "c" correspond à la discipline du cross-country.
    "T" correspond à tombé dans le parcours.
    "A" correspond à arrêté durant la parcours.
    "R" ou "Ret" correspond à rétrogradé.

    Le principe est le même : Ce cheval vient donc de finir 7ème en steeple-chase, et avant cette course il avait terminé 8ème en haies, 1er en cross-country, était tombé en steeple-chase, 4ème en cross-country, et a été arrêté en haies.

    3/ Musique en plat

    Le fonctionnement reste identique pour le plat. Seule la lettre change pour indiquer qu'il s'agit de course de plat (exemple : 6p8p2p0p).

    "p" correspond à plat.
    "R" correspond à rétrogradé.
    "0" (qui se lit "zéro") correspond à non placé, c'est à dire que le cheval n'a pas terminé parmi les 10 premiers à l'arrivée.

    voilà

  9. #329
    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
    Ok j'ai compris
    en fait c'est une course en réclamé (des tocards et des looser et vieillards) qui nont pas gagné 325000€ ce qui fait qu'il nont pas une grille habituelle la musique se trouve en 9 ieme postion au lieu de 12 et 12 comme les autre courses dans l'arborescence de l'element tr
    ca va etre un probleme
    j'ai fouillé le code element par element leur class est cachée donc pas accessible (j ai essayé)
    dans le outer html ils n'ont rien de particulier qui pourrait les différencier
    enfin bref la c'est la colle
    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. #330
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    c pas bien grave si on l'est à pas sur ce style de courses, avec une condition on devrait pouvoir empêcher d'importer la musique de ce style de course non??

  11. #331
    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
    bon je suis pas a bout de ressourses je crois que j'ai une solution pour cibler le bon td je vais essayer

    si ca marche il faut que tu me dises a quoi crrespond (Da,m ,Dm) et tout et tout
    car pour moi c'est du javafrasicojaponais
    par quoi on les remplace
    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. #332
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    regarde le post #405

    "a" correspond au trot attelé
    "m" correspond au trot monté.
    "D" correspond à disqualifié.
    "Dpag" Disqualifié pour avoir passé le Poteau Au Galop
    Dm veut dire disqualifié au Monté
    M = monté
    Da= Disqualifié attelé

    Pourquoi on replace
    j'imagine que tu demande pourquoi on remplace le D, le A, le T ou le Dpag, par 11, c'est pour le calcul de l'indice come tu l'as vu, car jusqu'à la 10ème places ils sont comptabilisés et au delà non donc le 11 représente l'échec c comme ça pour ce genre de calcul....


    Crois-tu que pour cela je dois ouvrir un autre post afin de ne pas polluer celui-ci, j'attends ta réponse pour faire soit l'un soit l'autre?
    Je suis en train de regarder comment je peux simuler par exemple:

    je prend les 5 1er du prono (ou 6 ou 7 ou 8), et regarde combien de chevaux j'ai à l'arrivée, si dans cette sélection j'ai le trio, le ZE4, etc et si j'ai il calcule selon le rapport ce que je gagne moins la mise. après ce qu'il serait bien c d'appliquer une montante (choix selon plusieurs sortes de montante) et voir le rendement toujours moins les mises.....bref....c pas si simple car j'aimerai l'appliquer à ce fichier, et à d'autre, une fonction peut-être, je sais pas par quoi commencer.

  13. #333
    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 on l'aura quand meme!!!!

    j'ai une trouver solution

    on boucle sur les enfant de la 1 ere ligne on a les titres 'n° cheval,jockey,entraineur musique etc...
    des que l'on tombe sur musique on ajoute 3 a l'index
    donc toutes les lignes .enfant index+3 auront la musique
    et cela pour toutes les sortes de courses
    puré j'suis trop fort
    bon maintenant il va faloir que je mette ca en vba la on va rigoler
    bon aplus
    parcontre il me faut la traduction des exepressions (D,Dm,Da,a,) etc....

    on remplace quoi? par quoi?,
    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. #334
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    On remplace
    pour le calcul
    on enlève tout sauf les chiffres

    on remplace
    D, Dpag,T,A,R et 0 (zéro) par 11 pour faire le calcul

    Par exemple pour trot (regroupe 2 disciplines : monté et attelé)
    Da1aAa0a(10)9aTmDpagm
    10+1+11+11+9+11+11+11

    autre ex: (obstacle regroupe 3 disciplines: haies, steeple-chase et cross-country)
    7s8h1cTs4cAh
    7+8+1+11+4+11

    RAPPEL:
    "a" correspond au trot attelé
    "m" correspond au trot monté.
    "D" correspond à disqualifié.
    "Dpag" Disqualifié pour avoir passé le Poteau Au Galop

    Le chiffre précédent la lettre correspond à son classement : 4a = 4ème à l'attelé ; 7m = 7ème au monté ; 0a signifie que le cheval est non placé à l'attelé c'est à dire qu'il n'a pas terminé dans les neuf premiersn de la course.

    "(10)" correspond à l'année, c'est l'année 2010. C'est à dire que les performances à droite de (10) se sont disputées en 2010, celles à gauche en (10) se sont disputées en 2011.

    2/ Musique en obstacles

    On trouvera des musiques telles que : 7s8h1cTs4cAh

    "s" correspond à la discipline du steeple-chase.
    "h" correspond à la discipline des haies.
    "c" correspond à la discipline du cross-country.
    "T" correspond à tombé dans le parcours.
    "A" correspond à arrêté durant la parcours.
    "R" ou "Ret" correspond à rétrogradé.

    Le principe est le même : Ce cheval vient donc de finir 7ème en steeple-chase, et avant cette course il avait terminé 8ème en haies, 1er en cross-country, était tombé en steeple-chase, 4ème en cross-country, et a été arrêté en haies.

    3/ Musique en plat

    Le fonctionnement reste identique pour le plat. Seule la lettre change pour indiquer qu'il s'agit de course de plat (exemple : 6p8p2p0p).

    "p" correspond à plat.
    "R" correspond à rétrogradé.
    "0" (qui se lit "zéro") correspond à non placé, c'est à dire que le cheval n'a pas terminé parmi les 10 premiers à l'arrivée.

  15. #335
    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
    voila testé avec les deux types de courses
    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
    Sub test()
        'url = "http://www.geny.com/partants-pmu/2015-07-29-enghien-pmu-prix-du-parc-des-princes_c734793"
        url = "http://www.geny.com/partants-pmu/2015-07-27-clairefontaine-deauville-pmu-prix-miss-dan_c734224"
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ReQ.Open "POST", url, False
        ReQ.setRequestHeader "User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"
        ReQ.send
        With CreateObject("htmlfile")
            .write ReQ.responsetext
            'MsgBox .body.innertext
            Set matable = .getelementbyid("dt_partants")
            Set mestr = matable.getelementsbytagname("tr")
            For m = 0 To mestr(0).Children.Length - 1
                If mestr(0).Children(m).innertext = "Musique" Then ind = m + 3: Exit For
            Next
            For c = 1 To mestr.Length - 1
                MsgBox mestr(c).Children(ind).innertext
            Next
        End With
    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. #336
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    niquel rien à dire les msgbox sont correct

  17. #337
    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
    bon t'a pas tres bien compris la question

    sur le papier c'est facile mais en vba c'est une autre paire de manche il faut etre plus rigoureux
    et tu n'a pas assez boon niveau pour raisonner en vba
    alors je repete
    Par exemple pour trot (regroupe 2 disciplines : monté et attelé)
    Da1aAa0a(10)9aTmDpagm
    10+1+11+11+9+11+11+11

    autre ex: (obstacle regroupe 3 disciplines: haies, steeple-chase et cross-country)
    7s8h1cTs4cAh
    7+8+1+11+4+11
    ici dans tes deux exemple
    dans le 1
    on a "TmDpagm" que tu remplace par " +11+11+11"

    a quoi corespond chaque 11!!!

    d'apres ton model je crois comprendre que dans le 2 on peut carément supprimer le "s" et le "c" et le "h" et ne pas en tenir compte c'est bien ca ?

    si c'est le cas on faira un replace
    on remplace automatiquement le "T,A,D" par 11 ca OK

    donc ce que je veux que tu me fasse c'est un tableau

    avec par exemple
    toute les possibilités
    a=11
    t=11
    d=11
    da=11
    dpgm=??
    etc etc..........
    recu?
    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. #338
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    a quoi correspond chaque 11!!!
    le 11 représente le nb de point attribués s'il est placé après la 10ème position de l'arrivée, ou disqualifié (D), arrêté (A), Tombé (T), disqualifié poteau au galop (Dpag), Rétrogradé (R) et 0(Zéro) hors des 10 de l'arrivée.

    d'après ton model je crois comprendre que dans le 2 on peut carrément supprimer le "s" et le "c" et le "h" et ne pas en tenir compte c'est bien ca ?
    oui c ça, mais également les "a", "m" et "p"

    si c'est le cas on fera un replace
    on remplace automatiquement le "T,A,D" par 11 ca OK
    c ça mais également "R et Dpag"

    D=11
    A=11
    T=11
    Dpag=11
    R=11
    0(zéro)=11

    Seb

  19. #339
    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
    bon voila j'ai un prototype qui a l'air de fonctionner
    essaie le avec d'autre adress de geny pour voir si c'est bon on l'adopte je l'integre
    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
     Sub test()
        url = "http://www.geny.com/partants-pmu/2015-07-29-enghien-pmu-prix-du-parc-des-princes_c734793"
        'url = "http://www.geny.com/partants-pmu/2015-07-27-clairefontaine-deauville-pmu-prix-miss-dan_c734224"
        Set ReQ = CreateObject("microsoft.xmlhttp")
        ReQ.Open "POST", url, False
        ReQ.setRequestHeader "User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"
        ReQ.send
        With CreateObject("htmlfile")
            .write ReQ.responsetext
            'MsgBox .body.innertext
            Set matable = .getelementbyid("dt_partants")
            Set mestr = matable.getelementsbytagname("tr")
            For m = 0 To mestr(0).Children.Length - 1
                If mestr(0).Children(m).innertext = "Musique" Then ind = m + 3: Exit For
            Next
            For c = 1 To mestr.Length - 1
     
               musique = Replace(Replace(Replace(Replace(Replace(mestr(c).Children(ind).innertext, "Dpag", 11), "T", 11), "A", 11), 0, 11), "D", 11)
            musique = Replace(Replace(Replace(Replace(musique, "a", "+"), "m", "+"), "p", "+"), "R", 11)
           If InStr(musique, "(") > 0 Then asupp = "(" & Split(Split(musique, "(")(1), ")")(0) & ")"
           musique = Replace(musique, asupp, "")
           MsgBox musique
     
            Next
        End With
    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. #340
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    url = "http://www.geny.com/partants-pmu/2015-06-13-lyon-parilly-pmu-prix-andre-baboin-grand-cross-de-lyon_c721330" 'cross-country
        'url = "http://www.geny.com/partants-pmu/2015-06-23-aix-les-bains-pmu-prix-alain-du-breil_c723981" ' steeple-chase
        'url = "http://www.geny.com/partants-pmu/2015-07-24-les-sables-d-olonne-pmu-prix-carcaradec_c733511" ' haie
        'url = "http://www.geny.com/partants-pmu/2015-07-29-enghien-pmu-prix-du-parc-des-princes_c734793" 'monté et attelé
        'url = "http://www.geny.com/partants-pmu/2015-07-27-clairefontaine-deauville-pmu-prix-miss-dan_c734224" 'plat
    voila les adresses que j'ai utilisé pour chaque discipline

    seul monte/attelé, et plat fonctionne

    Les autres non car comme tu l'a dit plus haut
    d'après ton model je crois comprendre que dans le 2 on peut carrément supprimer le "s" et le "c" et le "h" et ne pas en tenir compte c'est bien ca ?
    en gros, comme tu a fait pour "a", "m" et "p", tu doit remplacer le "s", "h", et "c" par un "+"

    Seb

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete pour fixer taille maximale fichier log ?
    Par julienkim dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 12/02/2013, 16h03
  2. [Socket][Byte] Probleme d'envoi d'une taille de fichier
    Par Erok dans le forum Entrée/Sortie
    Réponses: 14
    Dernier message: 12/05/2009, 17h38
  3. [DOS] Obtenir la taille du fichier
    Par Amélie Ladoque dans le forum Windows
    Réponses: 2
    Dernier message: 15/02/2005, 12h33
  4. Taille de fichier
    Par nicolas.pissard dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/11/2003, 16h24
  5. [langage] Problème de taille de fichier à mettre dans
    Par And_the_problem_is dans le forum Langage
    Réponses: 10
    Dernier message: 13/08/2002, 09h41

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