IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Données et graph en temps reel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Par défaut Données et graph en temps reel
    bonjour,

    Je voudrais, sous excel, créer une liste de données evolutive et avoir le graphique modifié en temps reel.

    Par une liaison DDE, j'obtient dans une cellule le prix d une action qui evolue en temps reel.

    1)Je voudrais , a chaque changement de valeur de cette cellule, enregistrer la nouvelle valeur dans la cellule du dessous et ainsi de suite afin d obtenir une liste de données pour creer mon graph.

    2)Créer un graph a partir de cette liste qui ce metrait a jour automatiquement a chaque nouvelle cellule.

    3)pouvoir limiter le nombre de cellules.


    Voila mais questions:
    Excel peut il faire ca sans passer par du language de programmation ou faut il obligatoirement faire une macro ?

    J ai environ 10000 changement de valeur dans ma journée pour une action,sachant que je fais ca sur une dizaine d action, est ce que ca ne va pas etre trop lourd pour excel?

    Si la macro est obligatoire, pouvez vous me dire par ou commencer ?

    merci.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Par macro, c'est assez simple à réaliser. Par Excel, je ne vois pas. Si on pouvait utiliser une fonction pour obtenir la nouvelle plage à chaque incrémentation du nombre de lignes, ça règlerait le pb... mais je ne vois pas comment le graphe récupérerait la nouvelle valeur.
    Par macro, tu dois déjà avoir la procédure plaçant la nouvelle donnée... où le fais-tu manuellement ?
    Dis-nous en plus

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Bonjour Ouskel'n'or
    ça règlerait le pb... mais je ne vois pas comment le graphe récupérerait la nouvelle valeur.
    Dans la macro, en mettant la valeur au bon endroit dans la plage de données du Graph ?
    A+

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 175
    Par défaut
    je vais essayer d etre plus clair.

    Dans une cellule d'excel j importe le cours d une paire de monnaie par l intermediaire d un lien , appelé DDE entre excel et un logiciel boursier.

    Donc dans cette cellule j ai le prix en temps reel de ma paire en tapant cette commande dans ma cellule: MT4|BID!USDCHF.
    J ai donc le cours en temps reel de ma paire qui fluctue dans ma cellule.

    Ensuite pour créer un graph je pense qu il faut d abord créer une liste d apres chaque changement de prix. Donc chaque fois que la valeur de la cellule de reference change il faut decaler d une cellule pour inscrire la nouvelle valeur.

    Ce qui reviend a sauvegarder dans une liste toute les nouvelles valeurs de la paires les unes apres les autres.

    Ensuite il n y a plus qu a faire un graph de cette liste qui incorpore chaque nouvelle valeur.

    merci

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je te propose un code en supposant que la plage de données de ton graph couvre les colonnes A et B (1 et 2) et vont de la ligne 1 à la dernière ligne renseignée de ta feuille de calculs, colonne A.
    Enfin, pour le N° du graphe, j'utilise le N° du dernier graphe créé.

    Ce code est à placer dans la feuille de code de la feuille "feuil1"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim PremCol As Integer, NoLig As Long, NoGraph As Integer
    Dim Derlig As Long, PremLig As Integer
    Dim FL1 As Worksheet
        Set FL1 = Worksheets("Feuil1")
        FL1.Range("A1").Select
        PremCol = 1 'Première colonne de la source de données du graphe
        DerCol = 2  'Dernière colonne de la source de données
     
        'Si d'autres colonnes que les colonnes PremCol  ou DerCol son modifiées, on sort
        If Target.Column <> PremCol Or Target.Column <> DerCol Then Exit Sub
     
        PremLig = 1 'Première ligne de la source de données
     
        'dernière ligne renseignée de la source de données (ici de la feuille de calculs)
        Derlig = FL1.Cells(Columns(PremCol).Cells.Count, PremCol).End(xlUp).Row
     
        'Adresse de la nouvelle plage après insertion d'une ligne ou la modif d'une cellule
        Plage = Range(Cells(PremLig, PremCol), Cells(Derlig, DerCol)).Address
     
        NoGraph = ActiveSheet.ChartObjects.Count
     
        ActiveSheet.ChartObjects(NoGraph).Activate
        ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range(Plage), PlotBy _
            :=xlColumns
        FL1.Range("A1").Select
     
    End Sub
    Tu dis
    A+

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    A titre d'info.
    Ont peu copier la nouvelle plage dans le ClipBoard
    Sélectionner le graph et.. Paste.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affichage de donnée en temps reel
    Par Matt_NewDev dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/06/2011, 10h42
  2. Changer base de données en temps reel
    Par chris81 dans le forum Silverlight
    Réponses: 2
    Dernier message: 10/08/2010, 08h48
  3. Sauvegarde de données en temps reel
    Par AlexFoley dans le forum Simulink
    Réponses: 0
    Dernier message: 05/06/2009, 09h44
  4. graph en temps reel
    Par maxtin dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/03/2008, 21h32
  5. afichage graph en temps reel
    Par youcef81 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/02/2008, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo