Userform modifiant URL

Signaler
Messages postés
7
Date d'inscription
dimanche 13 mai 2012
Statut
Membre
Dernière intervention
13 mai 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour à tous,

J'ai un soucis avec une Userform que je n'arrive pas à coder, je désirerais modifier les dates contenus dans cet URL (en rouge )via une Userform, une combobox si je ne me trompe pas.

Workbooks.Open Filename:="http://ichart.finance.yahoo.com/table.csv?s=" & code & "&a=04&b=9&c=2002&d=04&e=9&f=2011&g=m&ignore=.csv"

Mais en vain je n'arrive pas à renvoyer des valeurs dans l'URL c'est pourquoi je fais appel à votre aide !

Merci d'avance !

13 réponses

Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Qu'as-tu déjà essayé ? (voir le point 2 de ma signature)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
7
Date d'inscription
dimanche 13 mai 2012
Statut
Membre
Dernière intervention
13 mai 2012

Private Sub CommandButton1_Click()  
    UserForm1.Show
    Dim i As Integer    
    For i = 1950 To 2012
        ComboBox1.AddItem i
    Next i 
    MsgBox ComboBox1.Value

Workbooks.Open Filename:="http://ichart.finance.yahoo.com/table.csv?s=" & code & "&a=04&b=9&c=2002&d=04&e=9&f=" & combobox1 & "&g=m&ignore=.csv"

End Sub


Voila plus ou moins mon idée mais évidement cela ne fonctionne pas,
Que puis je faire pour y remédier ?!!
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Où est définit et assigné "code " ?

A la place de ComboBox1, as-tu essayer d'utiliser explicitement sa valeur ?

As-tu regardé en pas à pas ce que donne cette ligne ?

Que te donne cette ligne de code (comme chaine de caractères) ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
7
Date d'inscription
dimanche 13 mai 2012
Statut
Membre
Dernière intervention
13 mai 2012

bonjour,

code renvoie à plusieurs titres mais on peut le remplacer par JPM par exemple pour simplifier.
Oui j'ai déjà remplacé combobox1 par sa valeur 2000 par exemple et cela fonctionne très bien.

Après je ne comprends pas bien tes deux autres questions
"As-tu regardé en pas à pas ce que donne cette ligne ?
Que te donne cette ligne de code (comme chaine de caractères) ?"

Mais ceci est censé renvoyé un fichier excel d'internet avec une série de cours.
Messages postés
7
Date d'inscription
dimanche 13 mai 2012
Statut
Membre
Dernière intervention
13 mai 2012

Mais on pourrait également le voir ainsi ce serait peut être plus clair, après j’adapterai à mon contexte.

Private Sub CommandButton1_Click()  
    UserForm1.Show
    Dim i As Integer    
    For i = 1 To 5
        ComboBox1.AddItem i
    Next i 
    MsgBox ComboBox1.Value
End Sub
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

As-tu regardé ce que le code :
"http://ichart.finance.yahoo.com/table.csv?s=" & code & "&a=04&b=9&c=2002&d=04&e=9&f=" & combobox1 & "&g=m&ignore=.csv"
Te retournait en exécution ? (Avec un point d'arrêt et un espion)

A chaque fois que tu cliques sur CommandButton1, tu ajoutes des éléments supplémentaires à chaque fois ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
7
Date d'inscription
dimanche 13 mai 2012
Statut
Membre
Dernière intervention
13 mai 2012

Oui donc il me renvoie un fichier excel mais d'ailleurs j'ai du mal à retrouver le code, il vaut mieux se concentrer sur mon 2ème exemple moins complexe à expliquer.

Lorsque je clique sur CommandButton1 j'aimerai qu'il me renvoie simplement une msgbox avec la valeur indiquée dans la Userform, non je n'ajoute pas éléments à chaque fois du moins je ne le souhaiterai pas.
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Concernant ton deuxième code :
Private Sub CommandButton1_Click()
UserForm1.Show
Dim i As Integer
For i = 1 To 5
ComboBox1.AddItem i
Next i
MsgBox ComboBox1.Value
End Sub

Le code en rouge ajoutes les données.
Soit tu conditionnes l'ajout (Si ComboBox avec 0 items), soit tu le fais sur l'évènement Initialize du UserForm.

De plus, tu bosse en VBA, pas VB6, je déplace donc le sujet dans la bonne catégorie.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bonjour,
Ce que Henry essaye de te dire est ceci :
Si on voit bien comment et par quoi tu alimentes ta combobox, on ne voit par contre pas du tout où et comment tu y sélectionnes un article (ce que l'on suppose être ta variable code, sans même en avoir la moindre certitude).
Et on voit encore moins le rapport que tu fais ici, entre des "dates" et ta combobox :
J'ai un soucis avec une Userform que je n'arrive pas à coder, je désirerais modifier les dates contenus dans cet URL (en rouge )via une Userform, une combobox si je ne me trompe pas.

sauf si :
1) ta variable code est générale et a été déclarée et initialisée ailleurs (mais où et comment ?)
2) ta combobox contient finalement des millésimes, comme dans ton exemple 1 (et le 2 n'aurait alors aucun sens) . Mais on ne voit alors pas non plus où est le code utilisant la sélection faite dans la combobox (en te rappelant qu'un sélection n'est pas spontanée, hein ...et qu'elle ne peut qu'être manuelle ou résulter d'un code dynamique de sélection d'un article)



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
7
Date d'inscription
dimanche 13 mai 2012
Statut
Membre
Dernière intervention
13 mai 2012

Bonjour,

Je vois très bien où veut en venir Henry dans sa question sur "code", il vient en effet d'ailleurs, une inputbox, mais je ne vois pas en quoi cela interfère dans ma question qui est:

Comment générer une date ( exemple 2000) via une Userform que je stockerai ensuite dans mon URL ou AUTRE, dans une msgbox par exemple ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Comment générer une date ( exemple 2000) via une Userform que je stockerai ensuite dans mon URL ou AUTRE, dans une msgbox par exemple ?


Ne pas confondre date et millésime, hein ...
Pour répondre à ta question : par le procédé qui te paraîtra le plus convivial (mais ce choix, lui, relève de la seule conception de ton interface et de ce que tu en fais !)
- millésimes à cliquer dans une listbox, une combobox, etc ...
ou
- millésimes à saisir dans une textbox, une inputbox, etc ...

Ce ne sont pas les possibilités, qui manquent (et je nous vois mal en faire ici un inventaire exhaustif !). Le reste dépend de tes propres goûts et appréciations de ce qui est convivial (c'est de la conception, avant tout... le code ne vient qu'ensuite, en fonction de ce que tu as choisi pour ton interface).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
7
Date d'inscription
dimanche 13 mai 2012
Statut
Membre
Dernière intervention
13 mai 2012

Très bien "mea culpa" pour la "date" je rectifie donc et comme je l'avais dit dans mon premier message et comme le devait laisser entendre dire le "en rouge" qui renvoyait à 2000 et 2012 je crois, c'est un millésime que je souhaite, donc une combobox (comme précisé dans mon premier message).

Je n'arrive donc tout simplement pas à renvoyer ce millésime saisie dans mon userform à une valeur que je souhaite stocker dans mon URL ou une msgbox, ça je pourrais l’adapter à mon contexte.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Relis alors ma première réponse.
- le remplissage de la combobox n'en est que le remplissage
- la sélection qui y est ensuite faite est le résultat d'un clic fait par l'utilisateur (évènement click)
- l'article toto cliqué est (pour une combobox nommée combobox1 :
toto = combobox1.list(combobox1.listindex)
- l'insertion de la variable toto dans ta chaîne de caractères se fait selon le même principe que celui que tu as utilisé pour la variable code.
voilà ! ce n'est que du B.A.BA !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ