VBA pour se déplacer dans une cellule. Merci SM

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

bonsoir,

une macro à mettre dans le code de ta feuille2

elle copie le contenu de A1 sur cette feuille vers la première cellule libre en ligne 2 dès que A1 ( qui contient la formule qui va chercher l'info sur ta première feuille Excel) change de valeur suite au changement de la valeur de sa source sur feuille1

Private Sub Worksheet_Calculate()
If Cells(2, 1) = "" Then dc = 1 Else dc = Cells(2, Columns.Count).End(xlToLeft).Column + 1
Cells(2, dc) = Cells(1, 1)
End Sub

Bonsoir cher ami,

Je testerai demain cette procédure et te dirai ce qu'il en est.

Merci pour ton aide. Bye

Winlost

Bonjour h2so4,

Je n'arrive pas à faire fonctionner cette procédure avec les éléments indiqués et pense que mon explication sur le résultat escompté n'est pas claire.

Pour faciliter la chose, j'annexe en fichier joint mon tableau Excel sur lequel se trouve sur le premier onglet l'importation des cotations boursières de MSN.

La feuil1 comporte les résultats de la macro à obtenir avec un explicatif pour chacunes des 2 cellules concernées. J'espère être plus compréhensible ainsi.

Dernière chose : par défaut, Excel effectue l'actualisation automatique des données toutes les 60 minutes et il faudra éventuellement la ramener à 1 minute pour faciliter la vérification du bon fonctionnement du code. Ceci ce fait dans les propriétés du menu Connexions (j'ai indiqué ceci en détail dans les explicatifs du fichier).

Encore merci infiniment pour ton aide.

winlost

h2so4 a écrit :

bonsoir,

une macro à mettre dans le code de ta feuille2

elle copie le contenu de A1 sur cette feuille vers la première cellule libre en ligne 2 dès que A1 ( qui contient la formule qui va chercher l'info sur ta première feuille Excel) change de valeur suite au changement de la valeur de sa source sur feuille1

Private Sub Worksheet_Calculate()
If Cells(2, 1) = "" Then dc = 1 Else dc = Cells(2, Columns.Count).End(xlToLeft).Column + 1
Cells(2, dc) = Cells(1, 1)
End Sub

Bonjour,

tu as mis la macro dans un module au lieu de la mettre dans ta feuil1.

Hello h2so4,

Formidable, ça marche tout bien. Félicitations, tu as trouvé la solution en quelques minutes alors que j'y suis depuis

samedi dernier. Mais bon je me suis mis au VBA que depuis quelques jours seulement.

Excel-pratique est vraiment bien conçu, le tutoriel est complet, bien expliqué et les exemples très pratiques.

Merci infiniment encore, je vais suivre ce site très assidument.

Tout de bon pour toi h2so4

Rechercher des sujets similaires à "vba deplacer merci"