VBA comment se déplacer dans une nouvelle cellule

-1

Bonjour tout le monde

Je cherche depuis plusieurs jours le code VBA excel 2007 me permettant de suivre toutes les minutes une cotation boursière qu’une requête Web importe dans une cellule sur une première feuille Excel. Je relie ensuite cette cellule sur la feuille2, cellule A1.(sinon la requête l’écrase lors de la mise à jour) La requête Web actualise automatiquement toutes les minutes la cellule indiquant le cours d’une monnaie choisie. Jusque là, pas de problèmes. Le résultat sur ma feuille2 doit être le suivant :

Dès que l’actualisation se fait (automatiquement toutes les minutes) le nouveau cours donné par le site du courtier on-line doit s’inscrire et rester tel quel dans la cellule (A2) à droite de la précédente. Et ainsi de suite, à chaque actualisation, le cours actualisé doit s’afficher et rester figé dans une nouvelle cellule, suite de quoi le curseur passe dans la cellule suivante, même si le cours n’a pas changé. Il m’est possible ainsi de visualiser l’évolution du cours sur un graphique minutes après minutes.

En conclusion et à première vue, le code doit contenir en boucle le déplacement du curseur dès l’actualisation automatisée et l’inscription d’une valeur dans une cellule.

Qui peut me dépanner. D’avance merci. Stephan Mickael


Posté le 12 mai 2014, 22:37
Répondre
0

Est-ce que tu a déjà du code actuellement ? Par exemple le code qui récupère la cotation boursière courante ?

Vince Posté le 13 mai 2014, 14:12
par Vince
0

Bonjour, 

Vous pouvez récupérer dans un premier temps la dernière la colonne non vide de la ligne 1 sur la feuille A2.

En admettant que la variable soit un long :


derniereColonne = Cells(1, Columns.Count).End(xlToLeft).Column

Vous incrémentez de 1 :

derniereColonne = derniereColonne + 1

Vous avez maintenant les pièce du code. Voici un exemple avec une fonction vide que vous pouvez améliorer :

Sub AddData (ByVal dataValue As Variant)

Dim wsh As Worksheet

Dim wkb As Workbook

Dim derniereColonne As Long

Set wkb = ActiveWorkbook

Set wsh = wkb.Worksheets(2)

derniereColonne = wsh.Cells(1, Columns.Count).End(xlToLeft).Column

derniereColonne = derniereColonne + 1

wsh.Cells(1, derniereColonne) = dataValue

End Sub

Posté le 10 septembre 2014, 10:00
par Mecha Scisornox

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :