bonsoir a tous et a toutes!!!!
voila j'ai une macro qui me permet d'importer les courses d'une réunion la R1 en l'occurence si je veut avoir la R2 avec la méme macro je suis obligé de modifier la macro a chaque fois donc j'aurais voulu vous demande si il serais pas possible de modifier la macro pour que je ne suis pas obligé de la modifier a chaque fois que je veut changer de reunion la macro ce presente comme ça
est c'est le numero en rouge qui permet de changer de reunion
Option Explicit
Sub Import()
Dim LaDate As String
LaDate = Sheets("jeux").Range("b11")
If Len(LaDate) < 8 Then MsgBox "Pas assez de caractères": Exit Sub
Sheets("reunion").Select
Range("A1").Select
With Selection.QueryTable
.Connection = "URL;http://www.turf-fr.com/partants/" & LaDate & "1" & ".shtml"
.Refresh BackgroundQuery:=True
End With
Sheets("jeux").Select
Range("a1").Select
'CalculPerfs
End Sub
et c'est le numeros entre " 1 " qui permet de changer de reunion
Bonsoir
En mettant une liste déroulante en B3, cela doit fonctionner
HTML:
Option Explicit
Sub Import()
Dim choix
Dim LaDate As String
choix = [B3].Value
LaDate = Sheets("jeux").Range("b11")
If Len(LaDate) < 8 Then MsgBox "Pas assez de caractères": Exit Sub
Sheets("reunion").Select
Range("A1").Select
With Selection.QueryTable
.Connection = "URL;http://www.turf-fr.com/partants/" & LaDate & "choix" & ".shtml"
.Refresh BackgroundQuery:=True
End With
Sheets("jeux").Select
Range("a1").Select
'CalculPerfs
End Sub
Bonsoir
En mettant une liste déroulante en B3, cela doit fonctionner
HTML:
Option Explicit
Sub Import()
Dim choix
Dim LaDate As String
choix = [B3].Value
LaDate = Sheets("jeux").Range("b11")
If Len(LaDate) < 8 Then MsgBox "Pas assez de caractères": Exit Sub
Sheets("reunion").Select
Range("A1").Select
With Selection.QueryTable
.Connection = "URL;http://www.turf-fr.com/partants/" & LaDate & "choix" & ".shtml"
.Refresh BackgroundQuery:=True
End With
Sheets("jeux").Select
Range("a1").Select
'CalculPerfs
End Sub
Bonsoir Pierrot
Tu sais je ne suis pas un spécialiste Macro et je n'ai pas testé!!
Je corrige et merci
HTML:
Option Explicit
Sub Import()
Dim choix
Dim LaDate As String
choix = [B3].Value
LaDate = Sheets("jeux").Range("b11")
If Len(LaDate) < 8 Then MsgBox "Pas assez de caractères": Exit Sub
Sheets("reunion").Select
Range("A1").Select
With Selection.QueryTable
.Connection = "URL;http://www.turf-fr.com/partants/" & LaDate & choix & ".shtml"
.Refresh BackgroundQuery:=True
End With
Sheets("jeux").Select
Range("a1").Select
'CalculPerfs
End Sub
mais ya un truc que j'avais pas fait attention c'est que la macro ce sert d'une requéte Web pour fonctionné donc si je veut modifier l'importation des reunion en changeant de de numeros comme 1 2 ou 3 je doit changer aussi la requéte Web
donc ça va pas aller aussi!
si tu modifiais cette même ligne de code, par un autre numéro de réunion, le code que t'a donné Bruno, devrait fonctionner... A condition qu'en B3 il y ait une valeur de réunion reconnue... As tu testé ???
PS : Bruno, pour un non spécialiste, je trouve que tu te débrouilles très très bien en vba...
@+
si tu modifiais cette même ligne de code, par un autre numéro de réunion, le code que t'a donné Bruno, devrait fonctionner... A condition qu'en B3 il y ait une valeur de réunion reconnue... As tu testé ???
PS : Bruno, pour un non spécialiste, je trouve que tu te débrouilles très très bien en vba...
@+
oui j'ai testé Pierrot et j'ai un message d'érreur qui me dit que la requéte web ne trouve pas les données quand j'applique les modification que vous avez apporté a la macro donc je croi que si je veut avoir la reunion 1 2 ou 3 je doit modifier a chaque fois la requéte web fesant l'importation des données de la page réunion 1 par exemple pour le reunion 1 et ainsi de suite mais si je doit créer 3 requéte Web pour avoir les trois reunion ça va vraiment étre compliqué parce que pour chaque reunion il y a pleins de formules qui calcul la musiques des chevaux donc la grosse galére!
merci beaucoup Pierrot
Re
Un peu surpris, si ta premiere macro fonctionné, il ni a pas beaucoup de changement dans la modification, seulement le critere de valeur 1, 2 , mais ne connaissant rien de plus que la macro pas facile de te donner d'autres infos
oui comprends pas trop, je viens de créer une requête web sur la réunion 1, l'ais exécuter, puis lancer le code ci dessous et cela a fonctionné....
Code:
Option Explicit
Sub test()
Dim madate As String, reunion As String
madate = "24012009"
reunion = "2"
With Selection.QueryTable
.Connection = "URL;http://www.turf-fr.com/partants/" & madate & reunion & ".shtml"
.Refresh BackgroundQuery:=True
End With
End Sub
oui comprends pas trop, je viens de créer une requête web sur la réunion 1, l'ais exécuter, puis lancer le code ci dessous et cela a fonctionné....
Code:
Option Explicit
Sub test()
Dim madate As String, reunion As String
madate = "24012009"
reunion = "2"
With Selection.QueryTable
.Connection = "URL;http://www.turf-fr.com/partants/" & madate & reunion & ".shtml"
.Refresh BackgroundQuery:=True
End With
End Sub
oui peut étre que le m'esplique mal ? mais en faite si tu veut avoir la R1 par exemple avec une requéte Web et qu'aprés avec la méme requéte tu veut avoir la R2 cela ne fonctionne pas tu est obligé de changer de requéte pour avoir la r2 et ainsi de suite donc avec la macro juste en changeant le numeros de reunion ça ne marche pas il faur aussi changer de requéte en méme temps donc trop compliqué a mon avis
merci Pierrot
Re
Un peu surpris, si ta premiere macro fonctionné, il ni a pas beaucoup de changement dans la modification, seulement le critere de valeur 1, 2 , mais ne connaissant rien de plus que la macro pas facile de te donner d'autres infos
oui d'un autre coté si je pouvais vous founir le fichier contenant la macro ça vous aiderais mieu a comprendre mais le fichier fait plus d'un mega donc il passe pas sur le forrum
A mon avis, et sauf erreur... tu peux modificer une requête dès l'instant ou elle a été créée et exécutée sur une même feuille. Regarde le fichier joint, une requête à été créée sur la journée d'hier, réunion 2, le bouton "Actualise" renverra sur cette même feuille les partants de la réunion 1 d'aujourd'hui... Enfin chez moi, Excel2003 cela fonctionne...
A mon avis, et sauf erreur... tu peux modificer une requête dès l'instant ou elle a été créée et exécutée sur une même feuille. Regarde le fichier joint, une requête à été créée sur la journée d'hier, réunion 2, le bouton "Actualise" renverra sur cette même feuille les partants de la réunion 1 d'aujourd'hui... Enfin chez moi, Excel2003 cela fonctionne...