Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Insertion de variables dans un lien URL

Natoleza

XLDnaute Nouveau
Bonjour,

J'ai un problème dans mon code et j'aimerais savoir si il est possible de faire ce que je souhaite. En effet, je souhaiterais générer différentes pages web via Excel. Or ces pages web ne varient que de variables que je connais. Ainsi, j'ai crée un code qui me permet de rentrer ces variables et de les changer dans l'url mais ca ne marche pas, quelque soit les valeurs que je donne aux variables, la page générée est la même.

Est ce un problème de concaténation?
Je vous joins mon code pour plus d'explications. j'ai mis en gras ce qui me parait problématique. Merci d'avance pour vos réponses


Sub Titres()

Dim TabTitre(7)
Dim TabTitres(7)

TabTitre(0) = "Nom"
TabTitre(1) = "Code"
TabTitre(2) = "Periodicite"
TabTitre(3) = "Date1"
TabTitre(4) = "Date2"
TabTitre(5) = "NbCours"
TabTitre(6) = "NumFeuille"

Range("A1:G1").Value = TabTitre
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With

Range("A1:G1").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With

Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer, f As Integer
Dim Nom As String, Code As String, Periodicite As String
Dim s As String, a1 As Integer, b1 As Integer, b2 As Integer, c1 As Integer, d1 As Integer, d2 As Integer, e1 As Integer, f1 As Integer

Nom = Application.InputBox( _
Prompt:="Quel est le nom de l'indice étudié ?", _
Title:="Choix du nom de l'indice", _
Type:=2)

Code = Application.InputBox( _
Prompt:="Quel est le code de l'indice étudié ?", _
Title:="Code de l'indice", _
Type:=2)

Periodicite = Application.InputBox( _
Prompt:="Quelle est la périodicité de l'indice étudié ?", _
Title:="Choix de la périodicité de l'indice", _
Type:=2)

a1 = Application.InputBox( _
Prompt:="Quelle est le jour de début d'exercice ?", _
Title:="Date de du premier exercice", _
Type:=2)

b2 = Application.InputBox( _
Prompt:="Quelle est le mois de début d'exercice ?", _
Title:="Date de du premier exercice", _
Type:=2)

b1 = b2 - 1

c1 = Application.InputBox( _
Prompt:="Quelle est l'année de début d'exercice ?", _
Title:="Date de du premier exercice", _
Type:=2)

e = Application.InputBox( _
Prompt:="Quelle est le jour de fin d'exercice ?", _
Title:="Date de du dernier exercice", _
Type:=1)

d2 = Application.InputBox( _
Prompt:="Quelle est le mois de fin d'exercice ?", _
Title:="Date de du dernier exercice", _
Type:=1)

d1 = d2 - 1

f1 = Application.InputBox( _
Prompt:="Quelle est l'année de fin d'exercice ?", _
Title:="Date de du dernier exercice", _
Type:=1)

NbCours = Application.InputBox( _
Prompt:="Quel est le nombre de cours ?", _
Title:="Nombre de cours", _
Type:=1)

TabTitres(0) = Nom
TabTitres(1) = Code
TabTitres(2) = Periodicite
TabTitres(5) = NbCours
TabTitres(6) = 1


'Transfère les éléments du tableau dans la feuille de calcul

Range("A2:G2").Value = TabTitres
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With

Range("D2").Select
ActiveCell.FormulaR1C1 = a1 & "/" & b2 & "/" & c1
Range("E2").Select
ActiveCell.FormulaR1C1 = e1 & "/" & d2 & "/" & f1

Workbooks.Open Filename:= _
"http://ichart.finance.yahoo.com/table.csv?s=Code&d=d1&e=E&f=f1&g=d&a=a1&b=b1&c=c1&ignore=.csv"


End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Insertion de variables dans un lien URL

Bonjour,

pas tout compris de ton code, mais pour recréer une chaine essaye dans ce sens :
Code:
Workbooks.Open Filename:= _
"http://ichart.finance.yahoo.com/table.csv?s=Code"   & Mavariable1 &  "=" & mavariable2 & "=blabla".......
bonne journée
@+
 

Natoleza

XLDnaute Nouveau
Re : Insertion de variables dans un lien URL

Merci pour ton aide. J'ai change mon code comme ceci, est cela que tu avais en tête?

Workbooks.Open Filename:= _
"http://ichart.finance.yahoo.com/table.csv?s=Code&d&" = "&e&" = "&f&" = "&g=d&a&" = "&b&" = "&c&" = "&ignore=.csv"

Néanmoins il me renvoie erreur d'exécution 13, Incompatibilité de type.
 

Pierrot93

XLDnaute Barbatruc
Re : Insertion de variables dans un lien URL

Re,

non pas vraiment, plutôt comme ceci :
Code:
Workbooks.Open Filename:= _
"http://ichart.finance.yahoo.com/table.csv?s=Code&d" & "=" & e & "=" & f & "=" ect...

les signes = faisant partie de l'url....
 

Natoleza

XLDnaute Nouveau
Re : Insertion de variables dans un lien URL

En fait dans l'url ca donne par exmple a=2006 et moi ce que je veux c'est faire varier le 2006.

Par exemple écrire a=b en donnant la valeur que je veux à b
 

Natoleza

XLDnaute Nouveau
Re : Insertion de variables dans un lien URL

Si je fais ce que vous dites, cela donne

Workbooks.Open Filename:= _
"http://ichart.finance.yahoo.com/table.csv?"s="&Code&"a="&a1&"b="&b1&"c="&c1&"d="&d1&"e="&e1&"f="&f1&g=m&ignore=.csv"

Malheureusement on me renvoie Erreur de compilation Attendu fin d'instruction
 

Natoleza

XLDnaute Nouveau
Re : Insertion de variables dans un lien URL

Oui effectivement cest plus simple

"http://ichart.finance.yahoo.com/table.csv?s=XOP&a=05&b=2&c=2009&d=04&e=21&f=2012&g=m&ignore=.csv"

Voila je les ai mises en gras
 

francedemo

XLDnaute Occasionnel
Re : Insertion de variables dans un lien URL

bonjour à tous,

à essayer :

"http://ichart.finance.yahoo.com/table.csv?s=" & XOP & "&a=" & 05 & "&b=" & 2 & "&c=" & 2009 & "&d=" & 04 & "&e=" & 21 & "&f=" & 2012 & "&g=m&ignore=.csv"

bien sur, à adapter à tes codes...
l'idée, c'est de mettre " pour tous les textes, ajouter un & pour assembler tout ça
 

Natoleza

XLDnaute Nouveau
Re : Insertion de variables dans un lien URL

Si j'essaie de générer l'URL sans même mettre les variables comme tu l'as écrite au dessus ils me disent que l'adresse n'est pas valide. De même avec mes variables.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…