Recherche info sur page WEB via macro VB
Bonjour,
J'ai lu cette discussion.
J'ai exactement besoin de ce type de macro pour societe.com, je l'ai adaptée à mon besoin et je n'ai pas de souci pour récupérer l'adresse, ville etc.
Cependant, je n'arrive pas à récupérer le nom de l'entité légale :
Pour l'exemple, je voudrais récupérer "L'OREAL" sur l'URL http://www.societe.com/societe/l-oreal-632012100.html
J'ai analysé les données récupérées dans la page "Temp" que la macro créé mais la donnée "Entité Légale" (L'OREAL) ne figure nul part.
Est ce que la macro que tu as créé restreint la partie de la page à exporter sous excel ?? J'ai essayé de modifier qq trucs mais n'étant pas un pro en MACRO je n'ai pas réussi à extraire la totalité de la page de societe.com
Par avance merci bcp pour votre aide,
Eric
Chercher de nouvelles informations
Bonjour,
si j'ai bien compris, il faut retrouver le nom de la société (par exemple L'OREAL) dans la fiche.
Voici comment je m'y prendrais pour faire cela.
Je modifie le code pour ne pas détruire la feuille Temp en fin de traitement. Par exemple comme ceci :
Code:
1 2 3
| Application.DisplayAlerts = False
'Sheets("Temp").Delete
Application.DisplayAlerts = True |
Ensuite, dans ma feuille de recherche, je mets le Siren de L'Oréal (632 012 100) et je lance la macro RemplirInfo.
Je cherche toutes les occurrences de L'OREAL dans cette feuille et j'essaie d'identifier le ou les champs pertinents.
Par exemple en case A63 j'ai une cellule qui contient exactement ce que je recherche. En case A73 j'ai une cellule qui contient "Plus d'infos sur L'OREALComplétez la fiche L'OREAL". Elle contient ce que je cherche mais il faut décortiquer la chaine de caractère.
Ensuite je refait la même chose avec d'autres SIREN correspondant si possible à des entités de diverses formes sociales (SA, EURL, artisan, SCI, etc.). Et j'essaie de déterminer quels sont les invariants. Est-ce que le nom qui m'intéresse est toujours en cellule A63 ? Est-ce que j'ai toujours la même phrase "Plus d'infos sur XXXComplétez la fiche XXX".
Personnellement je préfèrerais chercher "Plus d'infos sur ", enlever le début de la phrase pour donner "L'OREALComplétez la fiche L'OREAL", chercher la sous chaine "Complétez la fiche ", identifier les 2 sous-chaine avant et après, les comparer et me dire que j'ai la bonne information.
Dis-nous ce que tu as trouvé et quelle solution tu as retenue.
Cordialement.
REmplir plusieurs cellules
Bonjour,
la fonction "RechercheInfo(Siren As String) As String" a 1 paramètre et renvoie une valeur que l'on met dans une cellule.
Si l problème est un tout petit peu plus complexe, il faut changer d'approche. On peut appeler "RechercheInfo" qui mettra ses réponses dans plusieurs cellules.
Il suffit, par exemple, de lui passer le n° de la ligne en paramètre et la fonction rangera les infos dans les colonnes correspondantes.
Le proto de la fonction deviendra :
Code:
Function RechercheInfo(Siren As String, Ligne As Integer) As Boolean
en supposant, par exemple que la fonction renvoie VRAI si ça se passe bien et FAUX s'il y a une erreur.
Pour faire propre, tu peux déclarer les n° de colonnes en constantes.
Code:
1 2 3
| Const Col_Nom = 2
Const Col_Forme = 3
Const Col_Justice = 4 |
Ensuite pour écrire dans une cellule c'est facile :
Code:
1 2 3 4 5
| Cells (Ligne, Col_Nom) = LeNom
Cells (Ligne, Col_Forme = LaForme
Cells (Ligne, Col_Justice = LaJustice
RechercheInfo = True
Exit Function |
Ce ne sont que des exemples, à adapter.