Annonce
Réduire
Aucune annonce.
Ads
Réduire
Appel aux spécialistes d'Excel
Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Appel aux spécialistes d'Excel

    J'ai un tableau Excel alimenté par un flux DDE

    J'ai une cellule c1 qui varie en continu grace au flux DDE.
    Je voudrai "piéger" le mini et le maxi atteints dans cette cellule dans deux autres cellules c2 et c3.

    Est-ce vraiment faisable dans Excel ?

    Les fonctions du type si(condition; ; ) me coincent avec des messages d'erreur du type "la cellule fait appel à son propre résultat" ou bien "référence circulaire".

    Je sais qu'il y a des experts d'Excel sur Pro-AT, gala66 peut-être, qui pourront me dire si c'est faisable ou si c'est peine perdue.

    Merci

    Cordialement

    pc187

  • #2
    Citation de : pc187


    J'ai un tableau Excel alimenté par un flux DDE

    J'ai une cellule c1 qui varie en continu grace au flux DDE.
    Je voudrai "piéger" le mini et le maxi atteints dans cette cellule dans deux autres cellules c2 et c3.

    Est-ce vraiment faisable dans Excel ?

    Les fonctions du type si(condition; ; ) me coincent avec des messages d'erreur du type "la cellule fait appel à son propre résultat" ou bien "référence circulaire".

    Je sais qu'il y a des experts d'Excel sur Pro-AT, gala66 peut-être, qui pourront me dire si c'est faisable ou si c'est peine perdue.

    Merci

    Cordialement

    pc187


    Dans Excel, il va faloir créer une boucle en visual basic qui check à chaque itération si il y a un plus haut et plus bas.

    C'est peut être plus simple d'envoyer le flux dans un logiciel d'At via une interface...

    Commentaire


    • #3
      Il y a plus simple. Si tu as le flux en continu, tu peux aussi recuperer le plus haut et le plus bas (et cours ouverture) dans c2 et c3.

      Commentaire


      • #4
        Le contenu de cette cellule est un indicateur perso, calculé à partir de plusieurs indices (calcul de corrélation). Je souhaite donc connaitre les limites de fluctuation. l'étude des corrélations, depuis plusieurs années, m'a montré qu'elles ne sont jamais linéaires mais élastiques. Le repérage des mini-maxi a donc son importance. Le problème se pose donc bien tel qu'exposé au début de la file.

        Commentaire


        • #5
          Citation de : pc187

          Le contenu de cette cellule est un indicateur perso, calculé à partir de plusieurs indices (calcul de corrélation). Je souhaite donc connaitre les limites de fluctuation. l'étude des corrélations, depuis plusieurs années, m'a montré qu'elles ne sont jamais linéaires mais élastiques. Le repérage des mini-maxi a donc son importance. Le problème se pose donc bien tel qu'exposé au début de la file.


          peux tu préciser ta demande?
          s'agit il de la reception de ticks de cotation temps réel pour lesquels tu souhaiterais le mini/maxi de la journée?
          qui est le fournisseur du DDE?

          Commentaire


          • #6
            dans excel:
            Outils / Macro / Visual Basic Editor
            Insertion / module

            copier / coller de :

            ---------------------------------------------------
            Sub auto_open()
            Application.OnEntry = "Surveille"
            End Sub

            Sub Surveille()
            If ActiveSheet.Name = "Feuil1" And Range("a1") > Range("c1") Then Range("c1") = Range("a1")
            If ActiveSheet.Name = "Feuil1" And Range("a1") < Range("d1") Then Range("d1") = Range("a1")
            End Sub
            ---------------------------------------------------

            dans la "feuil1", il surveille la cellule A1
            tu a le max dans C1, le min dans D1
            (donc pour initialiser mettre -5000 dans C1 et +5000 dans d1

            Laurent
            tu a le max dans

            Commentaire


            • #7
              Pour Laurent68
              Impossible de tester ta solution ce soir car le minidow jones est en panne ce soir et il fait partie de mes calculs. J'ai intégré le module dans mon tableau excel, je dois attendre lundi pour voir le résultat. En tous cas merci, je n'aurai pas trouvé ça tout seul. Peut-être qu'un peu de mise au point sera nécessaire lundi.

              Pour Fredcom
              Le fournisseur du flux DDE est ProRealTime, il faut aller dans "options" puis "Exportation de données (DDE)". Ensuite il faut lancer une application qui génére un tableau de chiffres correspondant aux valeurs définies dans "Ma Liste", puis enfin, il faut faire un copier-coller de ce tableau dans Excel.
              A partir de là, on peut tout faire dans Excel, comme par exemple, créer un indice composite à partir de plusieurs indices. Il sera calculé tick par tick.
              C'est une possibilité technique très intéressante.

              Bon week-end à tous et merci pour votre aide

              Commentaire


              • #8
                Citation de : pc187

                Pour Laurent68
                Impossible de tester ta solution ce soir car le minidow jones est en panne ce soir et il fait partie de mes calculs. J'ai intégré le module dans mon tableau excel, je dois attendre lundi pour voir le résultat. En tous cas merci, je n'aurai pas trouvé ça tout seul. Peut-être qu'un peu de mise au point sera nécessaire lundi.

                Pour Fredcom
                Le fournisseur du flux DDE est ProRealTime, il faut aller dans "options" puis "Exportation de données (DDE)". Ensuite il faut lancer une application qui génére un tableau de chiffres correspondant aux valeurs définies dans "Ma Liste", puis enfin, il faut faire un copier-coller de ce tableau dans Excel.
                A partir de là, on peut tout faire dans Excel, comme par exemple, créer un indice composite à partir de plusieurs indices. Il sera calculé tick par tick.
                C'est une possibilité technique très intéressante.

                Bon week-end à tous et merci pour votre aide



                Helas le DDE n'etant pas rapide, il y a de nombreux ticks qui sautent (qui ne passent pas sur excel) donc tes calculs seront peut etre faux.
                Fait tres attention a ca !!

                Commentaire


                • #9
                  Pour Christ s
                  Détrompe-toi !
                  A ma grande surprise je vois souvent les graphes de PRT être en retard sur la mise à jour du tableau Excel, jamais l'inverse. J'utilise ça quotidiennement depuis 9 mois.
                  Cordialement.

                  Commentaire


                  • #10
                    Pour Laurent68
                    Je viens de faire un essai sur le principe. Bien sûr, je vais dans Outils - Macro - Macros... - surveille + Exécuter, mais la mise à jour des 2 cellules se fait 1 fois. Il faut que je relance la macro pour avoir une autre mise à jour. Comment faire pour que "surveille" fonctionne en continu ?

                    Commentaire


                    • #11
                      pc187

                      Pour l'automatiser, il suffit de rentrer ce code directement dans l'onglet : clic droit sur l'onglet, puis visualiser le code (et non dans un module).
                      Le code de Laurent68 fonctionne très bien et je me suis permis de le reprendre. Cela donnerait ceci :

                      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                      If ActiveSheet.Name = "Feuil1" And Range("a1") > Range("c1") Then Range("c1") = Range("a1")
                      If ActiveSheet.Name = "Feuil1" And Range("a1") < Range("d1") Then Range("d1") = Range("a1")
                      End Sub

                      En espérant que cela puisse t'aider.

                      Commentaire


                      • #12
                        Merci Bastian
                        J'ai modifié mon tableau Excel. Je teste ça dès lundi.
                        Bon week-end.
                        Cordialement

                        Commentaire


                        • #13
                          Pour Bastian
                          N'ayant pas de flux DDE pendant le week-end, j'ai fait varier le contenu de la première cellule à la main et les mini et maxi s'enregistrent bien dans les deux autres cellules. Conclusion:

                          ça marche !

                          Merci à tous !

                          Commentaire


                          • #14
                            Citation de : pc187

                            Pour Laurent68
                            Je viens de faire un essai sur le principe. Bien sûr, je vais dans Outils - Macro - Macros... - surveille + Exécuter, mais la mise à jour des 2 cellules se fait 1 fois. Il faut que je relance la macro pour avoir une autre mise à jour. Comment faire pour que "surveille" fonctionne en continu ?


                            il suffit juste de fermer le fichier et de le re ouvrir.

                            mais la version de bastian est une autre possibilité

                            mais a ce moment ce code la suffit :
                            if Range("a1") > Range("c1") Then Range("c1") = Range("a1")
                            If Range("a1") < Range("d1") Then Range("d1") = Range("a1")

                            puisque tu es deja sur la feuille.

                            Commentaire


                            • #15
                              Avec le flux DDE, je n'arrive pas à avoir la mise à jour des mini et maxi en temps réel

                              Commentaire

                              Chargement...
                              X