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 :

Insertion Formule dans une Boucle VBA (bloomberg)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut Insertion Formule dans une Boucle VBA (bloomberg)
    Bonjour,
    En fait mon probleme est d ecrire la formule Bloomberg suivante dans des cellules successives: "BDP(A1corpisin,Fund_total_assets)"
    En fait la formule serait pour le Range"Ak" (où k est la variable qui parcourt les cellules):


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Sheets(1).Range("A" & k).Formula="BDP(A&k&corpisin,Fund_total_assets)"

    le pb c est que je veux le faire pour toutes les cellules de A1 à A&LastRow
    j ai tenté plusieurs ecritures mais rien à faire j obtiens toujours: Erreur '1004'
    voici un exemple de ce que j ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets(1).Range("T" & k ).Formula = _
                    "=BDP(A " & k &  ";" & "Fund_total_assets)"

    ne vous focalisez pas sur le BDP, c juste la syntaxe pour n importe qu elle focntion dont j ai besoin .
    Merci

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour,

    En anglais, le séparateur d'argument dans les fonctions est la virgule et il ne faut pas d'espace entre le nom de la colonne et le numéro de la ligne (Ak et non A k) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets(1).Range("T" & k ).Formula = _
    "=BDP(A" & k & "," & "Fund_total_assets)"
    Tu peux utiliser la version francisée de la formule (avec le point virgule) avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets(1).Range("T" & k ).FormulaLocal = _
    "=MAFONCTION(A" & k & ";" & "Fund_total_assets)"

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    Merci beaucoup ! Je n y aurais jamais pensé !

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Tu peux appliquer directement ta formule à ta plage (sans boucle)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
    Dim LastLig As Long
     
    With Sheets(1)
        LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
        .Range("T1:T" & LastLig).Formula = "=BDP(A1,Fund_total_assets)"
    End With
    End Sub

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    Merci pour cette précision mais en fait la formula en question depend de Ak et non A1, il faut donc une boucle pour que ca prenne ce qui se trouve dans la cellule Ak à chaque fois.
    Mais je ne connaissais pas cette syntaxe ca pourra m aider ulterieurement!

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    As-tu au moins testé la proposition? T1 dépend de A1,... Tk dépend de Ak et sans boucle.

Discussions similaires

  1. [PHP 5.2] 34000 insert into dans une boucle, bloquage à 32768 !
    Par Dsphinx dans le forum Langage
    Réponses: 29
    Dernier message: 11/06/2013, 15h57
  2. [MySQL] INSERT INTO dans une boucle
    Par andaman dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/05/2013, 16h39
  3. Réponses: 6
    Dernier message: 26/01/2011, 10h38
  4. [XL-2003] faire une boucle dans une boucle VBA
    Par the-geut dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/04/2010, 15h06
  5. probleme insertion formule dans cellule via vba
    Par moxo01 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/06/2008, 11h06

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