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 :

Tableau récapitulatif de données VBA


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut Tableau récapitulatif de données VBA
    Bonjour à tous,
    Je suis nouveau et surtout novice, c'est pourquoi je m'adresse à vous..
    Je dois réaliser une macro qui, classe des données brutes dans un tableau à double entrée récapitulatif sur un autre onglet. Le tableau récapitulatif est fixe.

    Le fichier donne plusieurs indicateurs financiers concernant divers fonds selon plusieurs conditions. Pour simplifier je n'ai laissé dans mon fichier exemple que deux fonds. (Il y en a 25)

    Est-il possible de remplir le tableau dans l'onglet "Overview" grâce aux données contenues dans la colonne E de l'onglet "Data" ?

    Là où ca se complique c'est que j'aimerais que les données varient en fonction des colonnes A, B, C, D

    Par exemple, onglet "Overview", en colonne J, je souhaite retrouver Volatility Last 24 months annualised qui dépend donc dans mon onglet "data" :

    - du nom du fonds en A
    - l'indicateur voulu en B
    - de la période de calcul en C
    - de la façon de le calculer en D

    Je sais que je dois partir du nom du fonds et après d'aller de colonne en colonne.

    Mes compétences en VBA ne m'amènent pour l'instant à n'imaginer qu'un IF THEN, autant dire une macro énorme...

    Comment puis-je gérer ce problème plus "simplement", en utilisant quelles types de fonctions ?

    Merci d'avance, j'ai joint mon fichier, je suis à votre entière disposition, je ne suis pas sûr d'avoir bien expliqué mon problème.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Plutôt que de coder, es tu certain de ne pas pouvoir faire cela en formules?

    J'ai l'impression qu'un sommeprod pourrait suffire.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut
    Bonjour Jérôme,

    Le souci dans l'idée d'utiliser une fonction excel réside dans le fait que c'est un tableau à actualiser tous les mois en fonction de nouvelles données brutes.
    Les données brutes gardent toujours la même structure, tout comme le tableau récapitulatif.

    C'est la raison pour laquelle je pense qu'il est mieux d'utiliser un code. Je précise que ce travail m'est demandé dans le cadre d'un stage.

    Toute piste via code est la bienvenue, merci à tous.

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    C'est la raison pour laquelle je pense qu'il est mieux d'utiliser un code
    A toi de voir, mes les formules sont adaptées à ton besoin. (SommeProd)
    Tu peux toujours mixer formules et code en alimentant les formules de ton tableau en utilisant VBA.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut
    Re-bonjour,
    Je repasse par ici, j'ai décidé donc de mixer code et formule sommeprod.
    Mais comment dans le cadre d'une formule, faire appel à une variable texte?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
     
    Dim a As String
     
    Sheets("data").Activate
     
    a = Cells(2, 11).Value
     
    Cells(2, 12).Formula = "=sumproduct((B1:B160=a)*(E1:E160=""Last 24M"")*(C1:C160=""Fund return"")*(I1:I160))"
     
    End Sub
    la cellule(2,11) étant du texte, la formule ci-dessus ou en mettant ""a"" ne fonctionne pas. Quelle est la petite modification à effectuer, sachant que ma prochaine étape sera de faire une boucle afin de traiter toute la colonne B ?

    Merci beaucoup de votre aide.

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(2, 12).Formula = "=sumproduct((B1:B160=""" & a & """)*(E1:E160=""Last 24M"")*(C1:C160=""Fund return"")*(I1:I160))"

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Par défaut
    Merci encore Jérôme, c'est nickel!

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

Discussions similaires

  1. Changer la source de donnée d'un tableau dynamique croisé en VBA
    Par lytog dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 28/05/2015, 11h41
  2. [XL-2010] Redimensionnement d'un tableau dynamique et perte de données VBA
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/08/2014, 22h54
  3. [AC-2010] VBA Tableau : Recuperer les données
    Par misterlagaffe dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/02/2014, 18h18
  4. [VBA] Créer un tableau de taille donnée
    Par Centar dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/10/2007, 15h31
  5. [VBA-E] Tableau Croise Dynamique données dans table access
    Par winner103 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/11/2006, 11h49

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