![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2007
Messages: 36
|
Bonjour à tous! (et spécial dédicace à Tatiak au passage!)
Voilà le pb (je précise je suis supernewbie) et là, je fais une macro à l'aide de l'enregistreur de VBA. Mon objectif: rapatrier sur une feuille excel ma recherche effectuée dans le moteur de recherche google.fr sur les 100 premières pages pour les deux mots clés: poesie+livre Sub RequêteWeb001() ' ' RequêteWeb001 Macro ' With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://www.google.fr/search?as_q=poesie%2Blivre&hl=fr&num=100&btnG=Rech erche+Google&as_epq=&as_oq=&as_eq=&lr=&as_ft=i&as_ filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitese arch=&as_rights=&safe=images" _ , Destination:=Range("$A$2")) .Name = _ "search?as_q=poesie%2Blivre&hl=fr&num=100&btnG=Rec herche+Google&as_epq=&as_oq=&as_eq=&lr=&as_ft=i&as _filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sites earch=&as_rights=&safe=images" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = _ "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,4 2,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,9 2,93," .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = True .WebDisableDateRecognition = True .WebDisableRedirections = True .Refresh BackgroundQuery:=False End With End Sub Ouf! C'est bien quand on connait pas comme moi la programmation VBA, alors en attendant d'être plus calé, j'en fais appel à vos connaissances... La macro est bien, mais forcément elle se limite à deux mots clés, ici: poesie ET livre... Comment pourrais je faire, sans à chaque fois aller resélectionner dans la fenêtre "requete web" d'excel, les 100 liens (tables?) pour d'autres mots clés? Si je veux faire par exemple: philosophie+livre, je suis obligé de relancer une requête et aller resélectionner les 100 tables qui se déroulent dans la fenêtre... Y aurait il moyen ou pas?? d'avoir juste une "zone" ou je tape mes mots clés.. et zouu la macro travaille...et que je n'ai pas autant de macros que j ai de combinaisons de mots. J'avais pensé à faire un "copier/coller" de la macro, là, telle qu'elle est retranscrite, et à chaque fois changer les mots lorsque j ai une combinaison donnée (c'est plus rapide que d'aller reselectionner toutes les tables de la fenetre de résultats de google...), mais Y a t il mieux que ca, avec une petite boite de dialogue par exemple... Merci d'avance! Eric |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2005
Messages: 242
|
Bonjour Eric,
Tu détermines le lieu où se trouve la constante dans la feuille : u = Cells(3, 1) tu indiques la constante à prendre en compte par l’url : " & u & " et dans la feuille tu indiques la constante en C1 albert Sub RequêteWeb001() u = Cells(3, 1) ' mettre la recherche dans C1 '---préparation (efface les anciennes recherches) Columns("A:A").Select Selection.ClearContents Range("A1").Select '--------------------- With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://www.google.fr/search?as_q=" & u & "%2Blivre&hl=fr&num=100&btnG=Rech erche+Google&as_epq=&as_oq=&as_eq=&lr=&as_ft=i&as_ filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitese arch=&as_rights=&safe=images" _ , Destination:=Range("A10")) .WebFormatting = xlWebFormattingNone .WebTables = _ "9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,2 4,25 ,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,4 2,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" .Refresh BackgroundQuery:=False End With End Sub |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2005
Messages: 242
|
Erreur impardonnable !!!
u = Cells(1, 3) ' mettre la recherche dans C1 supprimer "%2Blivre dans l’adresse url mettre : livre+philosophie en C1 erreur réparée albert |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2007
Messages: 36
|
Ch'alut Albert!
Yeap! J'allais te demander pourquoi il y avait livre dans la macro.. je reviens vers toi... je reprends ce que tu as "corrigé"...avec ton nouveau fichier.. Et je "vous" (ca intéresse peut etre d'autres?) au courant.. à pluche Eric |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2007
Messages: 36
|
Re! Me revoilou!
Tip top! Trop de la balle! Ca chemar, c est la chenille qui redémarre! (lol) Cool! Clap clap pour ce script (c est comme ca que l on dit?) Parrrrrrrrrr contre, 3 "chtites questions": Preums': J' ai essayé en saisissant plusieurs mots clés comme livre+philosophie+alain+critiques .. Rien ne bloque, j'ai les résultats..mais je voulais savoir telle que tu l'as écrite la macro en fait "digère" autant de mots clés que l on veut? ou y a t il une limite??? Deuxième kouestcheuun: faut il mettre le signe "+" entre chaque mot clé, ou est ce qu'un espace suffit? La troisième, the last but not least!(peut etre la + importante à mes yeux): Chaque résultat (concernant un site donc) qui est renvoyé est composé soit de deux lignes (un commentaire qui arrive en premier puis sur la ligne d'en dessous, le lien du site) soit de 3 lignes (la 3ème ligne étant encore un "autre commentaire") et rarement une seule ligne composée du lien du site (mais je pense que je ne l ai pas vu); enfin, chaque "résultat" (3lignes ou 2ligne ou 1ligne) est séparé par une ligne "à vide"... ...la question arrive : pourrait on en amont (disons dans la macro) ne demander que les lignes qui contiennent le lien du site internet concerné par le ou les mots clés que l on a tapés???? Ca serait plus lisible..et ce qui est surtout intéressant ce sont les liens (enfin pour ce qui me concerne)... Je peux effectivement jouer après avec une suppression des lignes "à vide" et faire un filtre..mais voilà je me demandais si en amont on pouvait déjà faire ce filtre... possible or not possible? Merci encore.. Eric |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: avril 2005
Messages: 242
|
1 et 2 :C’est la première fois que je travaille sur l’URL google => j’en suis au même point que toi : il faut tester
3/ avec vba, on peut supprimer les liges vides, et retenir tous les www. Mais dans tous les cas on conserve la ligne entière => on ne peut faire un tri qu’avec des constantes, ce qui fait que ce tri ne peut pas être intelligent |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2007
Messages: 36
|
Bonsoir Albert
Ok! Bien compris! Bon bah si je suis inspiré et surtout que mes recherches seront fructueuses, j hésiterai pas à faire un retour sur ce post... Merci tout de même car l'épine était quand même "costaude"! Good night all folks! Eric |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| XLD & Google PageRank Checker | MichelXld | Le salon de XLD | 5 | 30/11/2006 22h49 |
| Tri sur 2 clés avec 2 listes perso. | Abel | Forum Excel | 4 | 30/01/2006 23h48 |
| Google Talk | Spock | Le salon de XLD | 1 | 25/08/2005 21h41 |
| Lecture d'une clés de la base de registre par VBA | WILFRIED | Forum Excel | 2 | 04/05/2005 16h15 |