adresse macro dynamique

P

p_723

Guest
salut a tous,

Voilà mon histoire : je veux suivre un portefeuille de valeurs en monnaies etrangeres et pour cela, j'utilise un site internet qui me permet de convertir en euro des sommes du dollar a l'euro.
Je me suis appercus a force d'utiliser ce site que je pouvais 'reconstituer' son adresse car elle fonctionne sur cette base :
'http://......?' ensuite y apparait un numero 1,2,3 ... etc

bref je pense que vous devez commencer a cerner mon probleme et donc ma question.

Est-il possible (et si oui comment) de mettre dans un tableau excel toutes les references necessaire a la reconstitution de l'adresse internet du site et de lancer une macro qui importerait seul des donnees souhaité ?

le top serait de converser comme base depart le debut de l'adresse et de 'rajouter ensuite le numero que j'aurais inscrit inscrit dans une cellule détermine.

Voilà j'espere que vous pourrez m'aider et que j'ai ete assez clair.

Merci d'avance de votre aide.
 
P

p_723

Guest
rebonjour a tous

je viens de trouver cette fonction mais la page qui s'ouvre n'est pas la bonne car la fonction reprend la lettre V et pas le chiffre contenue dans la cellule indiquer precedemment par la fonction dim V as string.

La page qu'excel m'ouvre est donc celle-ci :

Dim p As String
p = 'http://fxtop.com/fr/cnvhisto.php3?A=' & 'v' & '&C1=USD&C2=EUR&DD='.......
le probleme vient donc du V (premiere ligne a la fin) car l'adresse contient le V et pas le chiffre contenue dans la cellule.

Existe-t-il une fonction capable d'attribuer le chiffre contenue dans une cellule excel pour l'affecter a une variable qui est elle même inclus dans une formule d'adresse WEB ?

Merci d'avance
 

albert

XLDnaute Occasionnel
bonsoir p_723, salut forumiens, forumiennes,

il est possible de mettre la variable dans une feuille et tu demandes au code d'aller chercher cette variable; encore faut-il conaître exactement la composition de l'adresse url pour pouvoir la modifier. Si tu sais ce que tu dois faire, envoie un exemple en zip, je compèterai le code


albert
 

albert

XLDnaute Occasionnel
re 'soir,
j'ai fait un exemple de sélection de s variables pour la date en colonne B1, B2, B3

Code:
Sub Macro1()
j = Cells(1, 2)
m = Cells(2, 2)
a = Cells(3, 2)
 Columns('C:J').Select
    Selection.ClearContents
    Range('A1').Select
    '----------------
    With ActiveSheet.QueryTables.Add(Connection:= _
        'URL;[url]http://fxtop.com/fr/cnvhisto.php3?A=%5C&C2=EUR&DD='[/url] & j & '&MM=' & m & '&YYYY=' & a & '&B=1&P=&I=1&btnOK=Chercher' _
        , Destination:=Range('C1'))
        .WebFormatting = xlWebFormattingNone
        .Refresh BackgroundQuery:=False
    End With
End Sub

pour ajouter les variables dans l'adresse, il faut remplacer par
' &...&'

il reste à choisir dans la feuille ce que tu veux garder comme informations
à+

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

Pièces jointes

  • P723.zip
    25.3 KB · Affichages: 16
  • P723.zip
    25.3 KB · Affichages: 21
  • P723.zip
    25.3 KB · Affichages: 20

albert

XLDnaute Occasionnel
re 'soir,
j'ai fait un exemple de sélection de s variables pour la date en colonne B1, B2, B3

Code:
Sub Macro1()
j = Cells(1, 2)
m = Cells(2, 2)
a = Cells(3, 2)
 Columns('C:J').Select
    Selection.ClearContents
    Range('A1').Select
    '----------------
    With ActiveSheet.QueryTables.Add(Connection:= _
        'URL;[url]http://fxtop.com/fr/cnvhisto.php3?A=%5C&C2=EUR&DD='[/url] & j & '&MM=' & m & '&YYYY=' & a & '&B=1&P=&I=1&btnOK=Chercher' _
        , Destination:=Range('C1'))
        .WebFormatting = xlWebFormattingNone
        .Refresh BackgroundQuery:=False
    End With
End Sub

pour ajouter les variables dans l'adresse, il faut remplacer par
' &...&'

il reste à choisir dans la feuille ce que tu veux garder comme informations
à+

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

Pièces jointes

  • P723_20051029005808.zip
    10.7 KB · Affichages: 11
P

p_723

Guest
Salut Albert,

Je tiens d'abord a te remercier de ton aide et te presenter 'mon' travail mais, j'ai encore un bug, excel me dit que l'adresse de destination n'est pas valide alors qu'en faisant un test avec la fonction : ThisWorkbook.FollowHyperlink la page s'ouvre correctement.

Par consequent, je ne sait pas comment faire pour lui faire reconnaitre l'adresse mail et donc pour rapatrier les donnees que je desire.

Esperant que tu pourras encore m'aider je te remercie encore de la precieuse aide que tu m'as deja apporté.
 
P

p_723

Guest
Oups j'ai oublier mon fichier excel pour que tu puisse comprendre l'endroit du bug car moi je suis completement deconnecte car j'utilise ta fonction comme systeme de reference et je ne comprend pas pourquoi avec tes donnees cela fonctionne et pourquoi avec les miennes excel se bloque.
Tu trouveras donc en piece jointe mon fichier excel
[file name=test3.zip size=10501]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/test3.zip[/file]
 

Pièces jointes

  • test3.zip
    10.3 KB · Affichages: 16
  • test3.zip
    10.3 KB · Affichages: 17
  • test3.zip
    10.3 KB · Affichages: 18

albert

XLDnaute Occasionnel
bonsoir p_723, forumien et forumiennes,

http://fxtop.com/fr/cnvhisto.php3?A=50&C1=EUR&C2=USD&DD=21&MM=10&YYYY=2005&B=1&P=&I=1&btnOK=Chercher
si on indique le montant dans l’adresse, on obtient un résultat dans la page internet, qui ne peut être récupéré en texte dans excel

Par contre, il est possible de récupérer le cours du jour $ converti en €
Code:
Sub Macro2()
j = Cells(1, 2)
m = Cells(2, 2)
a = Cells(3, 2)
 Columns('C:J').Select
    Selection.ClearContents
    Range('A1').Select
    '-----------------
    With ActiveSheet.QueryTables.Add(Connection:= _
        'URL;[url]http://fxtop.com/fr/cnvhisto.php3?A=%5C&C2=EUR&DD='[/url] & j & '&MM=' & m & '&YYYY=' & a & '&B=1&P=&I=1&btnOK=Chercher' _
        , Destination:=Range('C1'))
        .WebFormatting = xlWebFormattingNone
        .WebTables = '7'
        .Refresh BackgroundQuery:=False
    End With
    '-----séparation €/$-----
Dim Str As String
Str = Range('D1').Value
Dim i As Integer
For i = 1 To Len(Str)
Dim lettre As String
Range('E1:F1').Select
    Selection.ClearContents
    Range('E1').Select
    '-------------
lettre = Mid(Str, i + 6, 1)
If lettre = ' ' Then
Dim euro As String
euro = Mid(Str, 1, i - 1)
Dim usd As String
usd = Mid(Str, 6, i)
i = i + 1
End If
Next i

Range('E1').Value = euro
Range('F1').Value = usd
End Sub

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

Pièces jointes

  • P723_20051029200709.zip
    10.9 KB · Affichages: 20

albert

XLDnaute Occasionnel
bonjour Charly2, p_723, salut forumiens, forumiennes,

j'ai commencé mon appretissage excel avec http://perso.wanadoo.fr/cyberpapy/Importation.xls.j'ai ensuite appris beaucoup avec cyberpapy (c'est mon voisin) - sans oublier excel download-
l'inconvénient d'abcbourse, c'est qu'il faut sauvegarder les fichiers importés sur le disque dur, ce qui oblige à de nombreuses manipulations, il y a des problèmes de doublons à résoudre...il est préférable de télécharger en direct sur yahoo, par exemple (en ayant conscience que le gratuit n'est pas toujours fiable : sur yahoo et boursorama, il y a souvent des erreurs)

pour télécharger les cours des devises et construire des graphes avec les historiques, j'utilise


à partir de la liste http://www.banque-france.fr/fr/poli_mone/taux/html/2.htm

albert
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 885
Membres
103 982
dernier inscrit
krakencolas