sélection par catégories et par fonds

albert

XLDnaute Occasionnel
bonsoir lebarbo, le forum,
pour créer une routine de sélection des pages dans



il faut travailler sur les adresses.

ça n'a pas l'air simple :

Actions amérique du nord - catégories
http://www.morningstar.fr/catqt/ret...%3B%7CSortBy%3DCategoryName%7CSortOrder%3DASC

fonds
http://www.morningstar.fr/catqt/ret...%3B%7CSortBy%3DCategoryName%7CSortOrder%3DASC

Actions Euroland - catégories
http://www.morningstar.fr/benchmark...s=Actions Amérique du Nord Moy./Petites Cap.;

fonds
http://www.morningstar.fr/catqt/ret...%3B%7CSortBy%3DCategoryName%7CSortOrder%3DASC

[file name=morningstarRendement.zip size=13426]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/morningstarRendement.zip[/file]
 

Pièces jointes

  • morningstarRendement.zip
    13.1 KB · Affichages: 102

Hellboy

XLDnaute Accro
Bonjour lebardo

Je suis désolé, je n'ai pas envoyé le bon fichier hier. Et je m'excuse aussi, je n'ai pas regardé le fichier que tu a fais. Maladresse de ma part.

Le lien n'est plus disponible. !

Je ne peux pas répondre a tout ce qui cloche, parce que je n'ai pas accès a ton fichier. Je vais avoir peut être un peu de temps jeudi pour regarder.

a+
 

lebarbo

XLDnaute Occasionnel
Pour la feuille promoteur, j'ai recopié la feuille société au niveau du code en changeant bien sur les adresses :
Download la table qui contient l'information du nombre de page :
Case 'Promoteurs'
strAdresse = 'URL; & tbltStrCompagnie(0, intCode) & '&tab=RSLTS&sortby=b_FundName&sortorder=ASC&Firstletter=&pageNo=1'
Call Societe(strAdresse, 'A60000', '4')


Pour le téléchargement :

Case 'Promoteurs'
strAdresse = 'URL; & tbltStrCompagnie(0, intCode) & '&tab=RSLTS&sortby=b_FundName&sortorder=ASC&Firstletter=&pageNo=' & intPageCount
Call Societe(strAdresse, 'A' & [B65536].End(xlUp).Offset(5, -1).Row, '5')
If intPageCount = intNbPage Then
'Va chercher les infos de la société(étiquete)
strAdresse = 'URL; & tbltStrCompagnie(0, intCode) & '&tab=RSLTS&sortby=b_FundName&sortorder=ASC&Firstletter=&pageNo=1'
Range('AO1:AZ9').ClearContents
'Stop
Call Societe(strAdresse, 'AO1', '3')
Range('AO8:AS9').Copy Destination:=Range('AO7:AS8')
Range('AO2:AT8').Copy Destination:=Range('AO1:AT7')
Columns('AO:AT').EntireColumn.Hidden = True
Application.ScreenUpdating = True
Range('B8').Select
End If
' Téléchargement Pour le longTerme.
strAdresse = 'URL; & tbltStrCompagnie(0, intCode) & '&tab=HSTRY&Firstletter=&pageNo=' & intPageCount & '&SortBy=b_FundName&sortorder=ASC'
Call Societe(strAdresse, 'V' & [Y65536].End(xlUp).Offset(5, 1).Row, '5')

Mais il y a une différence avec la feuille société au niveau des pages.
Je m'explique, la première page de la feuille société est la page=0 alors que la première page de la feuille promoteurs est la page=1.
C'est peut-être ça qui cloche mais je ne vois pas comment faire pour arranger le code.

fichier :


Bye
 

Hellboy

XLDnaute Accro
re

Concernant:
Mais il y a une différence avec la feuille société au niveau des pages.
Je m'explique, la première page de la feuille société est la page=0 alors que la première page de la
feuille promoteurs est la page=1.
C'est peut-être ça qui cloche mais je ne vois pas comment faire pour arranger le code.

Code de ref:

Select Case strChoix
Case 'Sociétés', 'PEA', 'Secteur'
intStartPage = 0
intNbPage = intNbPage - 1
Case Else
intStartPage = 1
End Select
 

lebarbo

XLDnaute Occasionnel
Bonjour Hellboy, Albert, le forum,

J'avais bien vu ce code et c'est pour ça que je n'ai pas inclu 'promoteurs' dedans car ce dernier réagis de la même façon que 'fonds' c'est à dire que la première page est page=1. Pour page=0 l'adresse est invalide.

Le bug apparaît à cette ligne mais je ne vois pas ce qu'il ne vas pas :
dblNbPageCalcul = Mid(dblNbPageCalcul, 1, InStr(1, dblNbPageCalcul, Chr(32)) - 1) / 30

Bye
 

Hellboy

XLDnaute Accro
Bonjour

Le bug viens du mauvais 'tableau' qu'on accède sur le site.



Code:
 Case 'Promoteurs'
               
               Call Societe(strAdresse, 'A60000', '4')

Le 4 doit être remplacer par un 5

et dans l'autre Le 5 par un 7

Code:
Call Societe(strAdresse, 'A' & [B65536].End(xlUp).Offset(5, -1).Row, '5')

a+

p.s. manque de temps, suis au boulot alors je fais court ! :eek:
 

lebarbo

XLDnaute Occasionnel
je te remerci ça marche impeccable...
pour le reste attendez un peu que je travaille dessus et je vous dis si j'y arrive ou pas. En fait pour l'instant ce qui me manque c'est de comprendre les mécanismes des chiffres comme tu l'as vu hellboy.
exemple :
Call Societe(strAdresse, 'AL' & [AM65536].End(xlUp).Offset(2, -1).Row, '4')

bye
 

Hellboy

XLDnaute Accro
re lebardo, Albert

C'est un compliquer pour rien pour la partie Offset(2, -1). En fait cette commande fait référence a une cellule relative et Offset = Décalage(Ligne, Colonne) et effectue un décalage par rapport a la cellule relative ou fixe.

Maintenant, cette ligne de commande, appel une macro qui s'appel Societe. Durant l'appel, je l'ai conçu, pour lui passer de l'information. L'information passé est fonction des éléments de la commande QueryTables a besoin pour intéroger le site web et pour savoir ou mettre l'information une fois questionné.

Elle a besoin:

- de l'adresse
- de la destination (du copier coller si on veut)
- et de la section de la page web que tu veux downloader

D'aprè l'expérience que j'ai aquis avec ce projet, la page web semble être faite de section. Donc il sagit de savoir a quel numéro de section appartien la partie que tu veux extraire. Donc le '4' sert a demander la section 4 de la page. Si tu demande la section 4 a la page promoteur et pour la page société, il se peut que tu obtienne deux chose différente. Alors la seul façon de savoir si tu as la bonne, c'est par essaie et erreur.

a+
 

lebarbo

XLDnaute Occasionnel
ok hellboy merci pour ces infos, du coup j'ai fait la page PEA en long terme, pour skandia je galère un peu plus...je tatone.
J'ai fait aussi la feuille promoteur.
Sinon pour la partie secteur (ecart type et catégorie) je n'arrive toujours pas à trouver le bon code (x, y) il me manque toujours des fonds.


Voilà le nouvelle version :


Bye
 

Hellboy

XLDnaute Accro
Bonsoir lebardo

Avec le temps que j'ai passé sur le projet et sur bien d'autre, je peux te dire que si tu n'arrive pas a stopper le déroulement de ton code a des endroits stratégiques et de faire ce qu'on appel du pas à pas (ligne par ligne) et regarder les infos dans les variables, tu va passer une éternité a ne rien voir et débogger.

Il faut donc que tu sache:
- mettre un point d'arret dans ton code. (F9)
- que l'on peut faire l'exécution du code de ligne par ligne (F8)
- comment on fait pour voir ce qu'il y a dans les variables avec ce qu'on appel l'espion(petit icone lunette) Tu dois faire une sélection avec la souris et demander a l'espion d'espionner :)
- que tu peux changer manuellement les valeurs des variables, lorsque tu les a rajoutés dans la feuille espion. Click vis a vis la colonne valeur et vis a vis la variable ciblé, et voila !
- que l'on peut reculer(ou remonter) de ligne(s) lorsque que l'on éxécute le code en mode contrôlé. Tu prend la fleche jaune en maintenant le bouton gauche de ta souris et tu la lache ou tu veux. Il y a des règles a respectés, mais c'est en essayant que tu peux mieux voir.

a+

Message édité par: Hellboy, à: 15/07/2005 00:05

Message édité par: Hellboy, à: 15/07/2005 00:06
 

lebarbo

XLDnaute Occasionnel
Merci pour tes petits trucs, j'ai fait des essaies, malheureusement je ne voie pas trop comment les utiliser pour ce que je suis en train de faire. De plus pour l'espion je n'ai pas tout saisi :eek: désolé.

J'ai quand même réussi à faire skandia en long terme (preuve de mon acharnement B) )
D'ailleurs ce que je trouve byzarre c'est que des fois dans le code tu mets (2, -1) ça ne va pas marcher alors tu mets d'autres numéros et quand tu remets (2, -1) ça marche... j'ai pas tout saisi pourquoi :eek:

Pour la feuille secteur avec l'écart type j'ai toujours pas réussi j'arrive à télécharger la première page nikel mais après ça merde.

Voilà la nouvelle version :


Bye
 

Hellboy

XLDnaute Accro
Bonjour lebardo

D'ailleurs ce que je trouve byzarre c'est que des fois dans le code tu mets (2, -1) ça ne va pas marcher alors tu mets d'autres numéros et quand tu remets (2, -1) ça marche... j'ai pas tout saisi pourquoi

Ça je dois t'avouer, je ne sais pas non plus.

Pour la feuille secteur avec l'écart type j'ai toujours pas réussi j'arrive à télécharger la
première page nikel mais après ça merde.

Je sais pourquoi, c'est parce que la colonne de référence ou il veut mettre l'information provenant du web est vides. Je n'ai pas tout compris sur ce problème, mais ce que je sais, si tu rajoute des entêtes( ex: 1j% 1s% 1m% 3m%) ds les colonnes que tu crois que tu télécharge l'information, tu n'aura pas de trouble. Mais si tu tombe sur une colonne vide, les pages qui se télécharge d'écale vers la droite. Alors comme truc je mettais des entëtes( ligne 7) bidons sur une grande plage de colonnes et je finissait par y arriver. Tu n'as qu'a enlever aprèa ceux que tu n'as pas de besoin.

En passant, le lien que tu m'as donn., ne marche pas.

a+

p.s en passant je suis sur MSM présentement si il y a de quoi.

Message édité par: Hellboy, à: 15/07/2005 20:27
 

lebarbo

XLDnaute Occasionnel
Bonjour Hellboy, Albert,

Pour les liens ci-dessus c'était juste pour moi pour pouvoir télécharger les news au bureau.
Ils vont par contre servir maintenant...
Hellboy j'ai intégré ton code qu'on a vu ensemble vendredi soir B) et il y a une erreur que je ne sait résoudre, Excel dit que Intline n'a pas été défini ???? Je ne vois pas ce qui manque.
fichier :


Là je vais me mettre au téléchargement des écarts types et des catégories dans toutes les feuilles pour finir la présentation après faut que je puisse bien les télécharger comme on en a discuté vendredi soir aussi ;)

Aller je m'y mets....
Bye
 

Statistiques des forums

Discussions
312 115
Messages
2 085 455
Membres
102 891
dernier inscrit
cocowild