Recherche dans macro vba

BONJOUR A TOUS

J’aurais besoin des lumières de @Mimimathy puisque c’est la spécialiste du VBA en espérant être le plus

clair possible pour ne pas me faire crier dessus :weary: :wink:

Bon voila je vous met un classeur test dans lequel il y a une macro que vous ferez défiler avec “F8” et a un

certain moment vous allez arriver a une ligne ou j’ais marquer " '1 faire un point d’arrêt " car je dois changer

constamment la ligne " Range(“I134:I139”).Select " pour que je puisse sélectionner l’endroit ou ce trouve

la " réunion du jour " ici dans le classeur essaie c’la ce trouve en " I153:I159 " sachant que le positionnement

change tous les jours alors je voudrais que c’la ce fasse sans toujours le faire manuellement en espérant

avoir été acer clair si toute fois vous voulez plus d’explications

essaie VBA.xlsm (71,2 Ko)

Cordialement

@kiss6

Bonjour,

Je te stoppe tout de suite,

si tu comptes récupèrer tes données de “bourins” de cette manière, eh bien c’est tout faux

Donne simplement l’adresse du site (je l’ai vu dans le classeur) et ce que tu veux récupèrer (je suppose chaque jour) car là tu es mal barré
La macro automatique, c’est bien, mais pas pour en faire un roman :eye::eye:

1 « J'aime »

Re @Mimimathy

Je ne comprend pas car c’est le même programme ou hier je vous est demander a vous et @mdo100 de me

changer une formule dans le post #10

car ce que je vous est envoyer ce n’est qu’un morceau du programme et il est telle quel je voulais juste

un coup de main pour les deux points d’arrêt que j’ais spécifié dans la macro puisque je le fait manuellement

et le programme part lui même fonctionne très bien mise a part le " '1 faire un point d’arrêt Range

(« I134:I139 »).Select " et le " '2 faire un point d’arrêt End With " que je suis obliger de changer

Mais je vous remercie de vous este penché sur le problème si vous saviez depuis combien de temps que

j’essais de trouver la solution vous auriez des cheveux blanc je croyais que c’était faisable merci

quand même je continuerais a le faire manuellement

Cordialement

@kiss6

Bonjour @kiss6,
Salut @Mimimathy, :wink:

@kiss6, Je n’ais rien résolu hier dans la demande " Formule pour trouver un mot ".

C’est écrit noir sur blanc, c’est toi même qui a résolu ta question ! :face_with_raised_eyebrow:

Cordialement.

Bonjour Kiss6
Salut MDO

Une p’tite macro
regarde avec trés peu de ligne ce que tu récupères
A mettre dans un module

Sub ImportCourses()

  Dim Ws As Worksheet
  Dim qt As QueryTable
  Dim URL As String
  URL = "http://www.turfoo.fr/programmes-courses/"
  Set Ws = Worksheets.Add
  
  Set qt = Ws.QueryTables.Add( _
    Connection:="URL;" & URL, _
    Destination:=Range("A1"))
    
  With qt
    .RefreshOnFileOpen = True
    .Name = "MonTest"
    .WebFormatting = xlWebFormattingRTF
    .WebSelectionType = xlAllTables
    .Refresh
  End With
End Sub

1 « J'aime »

Re @Mimimathy
et Bonjour a vous deux

Je vous remercies pour cette macro qui récupère la même chose que la macro du programme et bien sur

beaucoup plus courte

Mais comment faire pour que je puisse récupérer les lien hypertexte des course du jour qui ce positionne

en “A21” et que aujourd’hui ce trouve en" I277:I289 "

lien hypertexte

car hier la récupération des course du jour ce trouvais en “I134:I139” vous savez le programme date de

2000 alors si les macros font très longue je n’y peut rien mois quand je l’est acheté il était comme ca

j’ais juste changé le site pour récupérer les courses car a l’origine c’était le site **PMU **

Cordialement

@kiss6

Bonjour,
J’ai rajouté un bout de macro sur la tienne pour récupérer les “Réunions du jour”

Mais cela bug plus loin,et comme je ne vois pas la finalité de la recherche :thinking:
Je te laisse le soins de choisir et de corriger

Morceau de macro rajouté :

'*******************************************************************************
    '*                         1 faire un point d'arret
    '*                             Reunions du Jour
    '*******************************************************************************
    
    Dim NoLigne%, Deb%, Fin%
    Range("H1").Select
    Cells.Find(What:="Réunions du jour", After:=ActiveCell, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=True, SearchFormat:=False).Activate
    NoLigne = ActiveCell.Row  'Attribue le N° de la ligne
    Deb = NoLigne
    
    Cells.Find(What:="Réunions de demain", After:=ActiveCell, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=True, SearchFormat:=False).Activate
    NoLigne = ActiveCell.Row - 1 'Attribue le N° de la ligne
    Fin = NoLigne
    '******************************************
    Range(Cells(Deb, 9), Cells(Fin, 9)).Select  'Plage des Reunions du Jour
    '******************************************

essaie VBA.xlsm (74,1 Ko)

1 « J'aime »

Re @Mimimathy

je vous remercie pour la macro de mon cote pas de bug le seul souci est que votre macro ouvre une nouvelle

feuil alors que la page du site devrait ce copier en “H1” mais dans la copie de la " Feuil 01 " et en plus la copie

de votre macro ne me sélectionne pas les lien hypertexte

je vous renvois le classeur avec ce que j’ais rajouté dans votre macro

essaie VBA.xlsm (70,7 Ko)

Cordialement

@kiss6

Re,
Laisse tomber ma macro,

Teste avec ta macro “Préparation” ou la modif est faite pour trouver les liens

Ma macro était un exemple et je n’ai pas été plus loin, pour la simple raison que je ne sais pas ce que tu recherches ensuite, une fois les liens ouverts
Dans ta macro non plus, je ne vois pas qu’elles données tu veux récupérer, car elle ne sélectionne que des cellules vides :face_with_raised_eyebrow:

1 « J'aime »

Re @Mimimathy

Pourquoi laisser tomber votre macro pour moi elle me vas très bien puisqu’elle me trouve intitulé " Course du

jour " dans la colonne " H " et me sélectionne les courses qui ce trouve en colonne " I " le seul inconvénient est

que la page qui est copier n’est pas en lien hypertexte et ne ce copie pas sur la "Feuil 01(2) "

car pour moi vous avez très bien avancé seul souci sont ces lien hypertexte qu’il faut absolument pour que le

programme fonctionne après si vous voulez que l’on laisse tombé et bien laisser tombé je me débrouillerais

avec la manipulation manuel

Merci quand même de votre aide

CDLT

@kiss6

Re,

Laissez tomber non, mais si tu créés une feuille “exemple final”, avec dedans tous ce que tu veux avoir dans les cellules, cela me fera comprendre la finalité de ta demande,
car là, depuis ta macro “préparation”, je ne vois rien qui peut te servir

1 « J'aime »

Re @Mimimathy

j’ais essayé de vous envoyer le programme en entier pour que vous puissiez mieux comprendre en MP mais il

est trop gros 3.78 MO donc il ne s’enregistre pas :weary:

Cdlt

@kiss6

Re,

https://mon-partage.fr/ → Jusqu’à 200Mo

1 « J'aime »

Re,

Je ne peut pas crée une nouvelle feuille “exemple final” , si non c’est tout le programme entier qu’il faudrait

rectifier et comme déjà avec une seul macro c’est compliqué alors la si c’est tout le programme qui faut changer

on n’est pas sortie de l’auberge car le programme compte 10 modules

cdlt

@kiss6

Re,

voici le lien très intéressant :+1:

cdlt

@kiss6

Re,

Crée un onglet que tu nommes "Course du jour"
Place cette macro dans un module
et dis moi si tu as tous les liens désirés

Sub ImportCourses()

  Dim Ws As Worksheet
  Dim qt As QueryTable
  Dim URL As String
  Sheets("Course du jour").Activate
  Cells.Select
  Selection.Delete Shift:=xlUp
  URL = "http://www.turfoo.fr/programmes-courses/"
  Set Ws = ActiveSheet
  
  Set qt = Ws.QueryTables.Add( _
    Connection:="URL;" & URL, _
    Destination:=Range("A1"))
    
  With qt
    .RefreshOnFileOpen = True
    .Name = "MonTest"
    .WebFormatting = xlWebFormattingAll
    .WebSelectionType = xlAllTables
    .Refresh
  End With
  Range("A3").Select
End Sub


1 « J'aime »

Re,

Voila c’est bon j’ais bien tous les liens maintenant il faut aller chercher l’intituler "Réunions du jour "

en colonne (“A”)

et sélectionner les courses de la colonne (“B”) pour les copier et les collet en “A20” :wink: :+1:

CTLD

@kiss6

Re,

J’ais rajouter a votre macro ce que vous m’aviez déjà proposer auparavant le problème est que c’la me

sélectionne les colonnes “H,I,J,K,L” alors qu’il ne faut que sélectionner la colonne " I " ou ce trouve les course

du jour

j’ais changé les RANGE pour que c’la ce place au même endroit que sur le programme d’origine

voici le fichier ====> essaie VBA.xlsm (101,5 Ko)

CDLT

@kiss6

Re,

Teste, par contre il y a deux macro,
la 1er pour récupérer les données WEB
puis l’autre pour la traiter sinon çà bug

Impossible de mettre la macro en pause à cause de la fonction QUERYTABLE

essaie VBA.xlsm (100,4 Ko)

1 « J'aime »

Re,

Pour moi c’la me vas je mettrais un deuxième bouton pour la macro mais maintenant il vas falloir adapter

ces macro au programme et la c’est une autre histoire je mis attacherais demain car pour aujourd’hui nous

avons acer travaillé et surtout vous je vous remercie de votre patience et du travail fourni

et dire que c’était que le premier point d’arrêt je ne vous explique pas le 2ieme

Bref mille merci et je vous tien au courant pour la suite on peut sabré le :champagne: :champagne:

Cdlt

@kiss6