Bonjour à tous !
Je débute en VBA pour Access, d'où mon premier post.
Je souhaite créer une base de donnée historique des cours du CAC40 sous access (automatique). J'ai déja créé ce programme sous Excel et je me suis dit que le faire sous Access serait un bon début.
Ceci dit je recontre un problème de type de variable.
Voilà comment il fonctionne : une macro "API" va chercher tous les soirs les données sur une page boursorama et les stock dans une matrice Data(i,j).
Je la déclare comme cela :
puisque dans ce tableau je récupère à la fois des textes et des nombres. Mais les nombres sont sous la forme "48.26(c)" où "(c)" veut dire "prix à la cloture".
Code vba : Sélectionner tout - Visualiser dans une fenêtre à part Dim Data(41, 10) As Variant
Donc dans un premier temps je "retouche" ces nombres pour virer ce fameux "(c)" (len(),mid(),..) et lorsque je retranscrits ce nombre dans un classeur il s'affiche "48,26" c'est à dire que Excel change la décimal tout seul et détecte que c'est un chiffre..
Là est mon problème, sous Access, je déclare mes champs de type "dbDouble" et lorsque je retranscris la matrice dans une table, ça bug ! Enfin j'ai rien.
J'imagine que c'est un bête problème de déclaration de variable, quelqu'un pourrait t-il m'apporter un peu de lumière ?
Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Dim oDb As DAO.Database Dim oRst As DAO.Recordset Set oDb = CurrentDb Set oRst = oDb.OpenRecordset("ACCOR", dbOpenTable) oRst.AddNew oRst.Fields("Dat").Value = Date oRst.Fields("Open").Value = Data(2, 6) oRst.Fields("High").Value = Data(2, 7) oRst.Fields("Low").Value = Datao(2, 8) oRst.Fields("Close").Value = Data(2, 4) oRst.Fields("Volume").Value = Data(2, 10)
Merci !
Partager