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 :

[VBA-E] insertion de formule dans cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 92
    Points : 65
    Points
    65
    Par défaut [VBA-E] insertion de formule dans cellule
    Bonjour,

    Je cherche tout simplement à insérer une formule dans une cellule en VBA.
    Sans faire de copier/coller d'une cellule déjà existante mais en specifiant la formule "en dur".

    Merci d'avance pour votre aide.

    jeff

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
    cells(1,1).FormulaLocal="=Somme(A2:B2)"
    End Sub
    Voila a toi de t'inspirer lol

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 92
    Points : 65
    Points
    65
    Par défaut
    Merci mais je pense que je dois avoir une erruer au niveau de ma formule.

    Voici ma formule "brute" telle que saisie directement dans la feuille Excel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(E4="";"";CONCATENATE(F4;" - ";N4))
    Voici la même telle que je l'ai formaté ds mon code VBA (je suis dans le cadre d'une boucle):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(E" & i & "="""";"""";CONCATENATE(F" & i & ";" - ";N" & i & "))
    Ma ligne de code complète :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, 1).FormulaLocal = "=IF(E" & i & "="""";"""";CONCATENATE(F" & i & ";" - ";N" & i & "))"
    A l'execution je me prend un Error Type Mismatch.

    Kékivapa ?

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Je vais (un peu) dévier du sujet mais...

    N'est-il pas plus simple de rentrer une fois la formule (et donc pas besoin de variable) et de faire un FillDown après?

    Il vaut mieux laisser faire à Excel ce pour quoi il est fait et faire en VBA ce qu'Excel ne fait pas.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 92
    Points : 65
    Points
    65
    Par défaut
    Effectivement c'est une solution à retenir sauf que je n'arrive tjrs pas à juste copier ma formule.

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Essaye donc, en dehors de toute boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1, 1).Formula = "=IF(E4="","",CONCATENATE(F4," - ",N4))"
    Edit --> Désolé, posté sans tester. Voici la bonne syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1, 1).Formula = "=IF(E4="""","""",CONCATENATE(F4,"" - "",N4))"

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 92
    Points : 65
    Points
    65
    Par défaut
    Arghhhh ça marche ...
    Et je viens de voir pourquoi.
    Je n'avais pas "double-quoté" au niveau de : Merci pour ton aide !

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

Discussions similaires

  1. [XL-2010] VBA noter une formule dans cellule
    Par DYV007 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/06/2013, 15h06
  2. Recherche en vba pour inserer une formule dans une cellule
    Par jerem1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/03/2011, 19h36
  3. 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
  4. [VBA-E]Formule dans cellule en VBA
    Par dev81 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/06/2007, 14h03
  5. [D7-EXCEL2000] Formule dans cellule Excel qui ne se calcule pas
    Par Albertolino dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 09/09/2003, 14h18

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