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 :

extraction de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut extraction de données
    Bonjour a tous!!

    Dans le fichier ci joins j'aimerais bien tirer les opérations de la veille listées dans l'onglet "Daily Equity" vers l'onglet "All".

    Il y a des groupes de ligne (4 par 4, un blanc, un gris, un blanc, un gris ect ect) dans l'onglet All. (avec le fichier sous les yeux c'est plus clair)

    J'aimerais que viennent s'incerrer dans ces groupes de 4 lignes, les opérations de la veille listées dans l'onglet "Daily Equity". (au risque de me répeter )

    Viennent sur la même plage de couleur les opérations qui ont en colonne D de l'onglet "Daily equity" ont le même Name et en colonne G de "Daily Equity" le même sens de transaction (il y a que 2 sens buy ou sell ).

    J'ai fait un exemple of course dans le fichier!

    Et la je ne vois pas comment faire ceci en VBA

    C'est possible....?


    Bonne journée

    Thanks in advance

    Ai je été assez clair?
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    Bonjour naoned005
    heu......pouvez recapéter la question

    effectivement tu a une maniere bien particuliere de poser tes questions

    tu pourrais faire plus simple

    ps: j'ai telechargé ton exemple ,je regarde ca


    au plaisir

    re
    allez comme ca un peu vite fait
    une fonction et une sub pour l'appeler


    la_sub:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub classementsellbuy()
        classement "Sell"
        classement "Buy"
    End Sub
    la_Fonction:

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Function classement(sel_ou_buy As String)
        Application.ScreenUpdating = False
        ' Ici on va rechercher la 1ere bande libre dans le sheets "All"(grise ou blanche on s'en fou)
        Dim ligne As Long, veille As Date, i As Long
        For i = 13 To Sheets("All").Range("A" & Rows.Count).Row Step 4
            If Sheets("All").Range("A" & i) = "" Then
                ligne = i
     
                Exit For
            End If
        Next
     
        'Maintenant on va trier le sheets("Daily Equity")
        'tout dabors on determine la veille
        veille = Format(CDate(Date - 1), "mm/dd/yyyy")    ' et voila
        MsgBox veille
        'maintenant on va chercher les lignes avec cette date et qui on "Sell" ou "Buy" en colonne "G"
        With Sheets("Daily Equity")
     
            'trie des ligne avec "Sell"
            For Each cel In .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
                'on va prendre les 10 1ers caractere dans la cel dans la colonne A
                datecel = Left(cel.Text, 10)
                'si la date =veille et la cellule g de la meme ligne = la variable "sel_ou_buy" qui a été instruite dans la sub classementsellbuy
                If datecel = veille And .Range("G" & cel.Row) = sel_ou_buy Then
                    'si c'est bon on copie la ligne complete
                    cel.EntireRow.Copy
                    Sheets("All").Select
                    'on colle dans le sheets("All") dans la 1ere ligne de la premiere bande libre que l'on a trouver en debut de fonction
                    Rows(ligne & ":" & ligne).Select
                    ActiveSheet.Paste
                    'on ajoute un a la variable ligne pour la suite
                    ligne = ligne + 1
                End If
     
            Next
        End With
     
    End Function
    qu'en pense tu

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut
    Bonjour Patrik

    Merci on se rapproche mais ce n'est pas tout a fait ça encore. J'ai preparé dans le fichier un onglet ALL2 (à la main) pour faire un exemple de ce que je souhaiterais obtenir et j'ai fai tourner ta macro dans le ALL pour comparer


    Dans ton code je pense qu'il faut deja copier coller les lignes de daily equity de la colonne A à Y en valeur et pour l'instant on a ceci. Non tu en penses quoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cel.EntireRow.Copy
                    Sheets("All").Select
    Et a chaque fois que dans l'onglet daily equity le nom de la valeur d'une ligne (D) ou la transaction (G) ou l'execution price (P) différent de la ligne suivante on change de plage de couleur (gris blanc gris blanc gris blanc ) comme dans mon exemple )

    Et quand en P c'est blanc dans daily equity, on ne s'occupe meme pas de cette ligne!!


    Ceci dis merci encore pour ton aide! Et si je me suis mal exprimé je me tiens ready a toute question

    Tu penses que c'est faisable comme code?

    Merci encore

    bonne journée
    Fichiers attachés Fichiers attachés

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour

    comme a ton habitude tu donne les informations au compte goutte

    au départ tu parlais de récupérer les date (veille sell ou buy) séparément bien entendu

    ce que je t'ai fait répondais parfaitement a ce que tu avais demandé au départ
    bon je vais voir en espérant qu'il n'y ai pas d'ajout de condition encore une fois comme a ton habitude

    ps:edit 10 minute plus tard.....

    je viens de regarder le nouvelle pièce jointe et pour moi c'est le même il n'y a pas "all2"

    ensuite si je prends en considération la colonne "d" tu risque de te retrouver avec une bande (grise ou blanche) avec une seul ligne

    en fin essaie de t'expliquer en français parce que la je patauge
    et je le répète en français
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut
    Bonjour

    tiens justement j'ai préparé un explication claire

    Bonjour,

    J'essaye de tirrer des informations d'un onglet appelé "daily equity" à un autre "All"

    En fait il faudrait que la macro selectionne la date de la veille (dans daily equity) puis inscrit toute les lignes comportant cette date dans l'onglet All (en valeur).

    Sauf que cela se corse un peu En fait dans All il y a une forme a respecter. Comme vous pouvez le voir dans le fichier il y a 4 lignes grises, puis blanches, puis grises, puis blanches ect ect

    Dans la premiere plage de couleur grise on va copier coller en valeur la 1ere ligne de l'onglet daily equity comportant la date de la veille. Puis en dessous on collera la 2eme

    SAUF si 1) le nom de la société change dans l'onglet daily equity (colonne D)
    2) ou la transaction change (buy sell) colonne G
    3) ou le prix d'execution change colonne P

    Dans ces 3 cas on passe à la plage de couleur précedente (blanche ci on était sur un grises, grises si on était sur une blanche )

    Voici All 2 ci joint :=)




    Jsp que j'ai été clair :confused:



    Merci d'avance
    Fichiers attachés Fichiers attachés

  6. #6
    Membre très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut
    Voici ce qu'on obtient avec ta macro (ALL) et voici daily equity (j'ai tout remi a jour avec la date d'hier )


    Merci patrick

    La j'ai été clair??
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [VBA Excel] Extraction de données
    Par tpv72 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/09/2005, 21h49
  2. Extraction de données depuis fichier .NDX ...
    Par Olif_C dans le forum WinDev
    Réponses: 4
    Dernier message: 30/08/2005, 11h57
  3. [debutant] extraction de données
    Par tibpower dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 02/08/2004, 14h33
  4. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

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