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 :

insérer un formule conditionnelle dans la cellule active


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Employé administratif
    Inscrit en
    Février 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : Février 2014
    Messages : 77
    Points : 28
    Points
    28
    Par défaut insérer un formule conditionnelle dans la cellule active
    Bonjour,

    Je souhaiterais insérer une formule conditionnelle dans la cellule active.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.FormulaR1C1 = "=+IF(RC[-2]-RC[-1]>0.01,""ECART"","""")"
    Qui correspond dans Excel dans la barre de formule =+SI(J2-K2>0.01;"ECART";"")

    Comment faire apparaitre les cellules nommées J2 et K2 dans vba et faire apparaître exactement dans la barre de formule =+SI(J2-K2>0.01;"ECART";"")
    Les cellules J2 et K2 contiennent des nombres.

    Ci-dessous, mon modèle à corriger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub formule_conditionnelle()
    ActiveCell.Formula = "=..." 
    End Sub
    Vous en remerciant par avance.

    Cordialement.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il y a deux possibilités (sans parler des formules locales)
    Soit en style L1C1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=IF(RC[-2]-RC[-1]>0.01,""ECART"","""")"
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Formula = "=IF(J2-K2>0.01,""ECART"","""")"
    Si tu hésites pour la syntaxe d'une formule, tu écris ta formule par exemple en cellule C2
    Tu vas dans la fenêtre Exécution de ton éditeur (que l'on active par Ctrl+G) et tu tapes l'instruction suivante
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ? Range("C2").FormulaR1C1
    Tu vas voir s'afficher la formule dans le style choisi.
    Il te suffit ensuite de faire un Copier/Coller dans ton code en doublant les guillemets des constantes alphanumériques s'il y en a dans la formule.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/08/2012, 10h48
  2. Réponses: 1
    Dernier message: 18/08/2012, 05h38
  3. Réponses: 2
    Dernier message: 13/12/2011, 11h58
  4. [XL-2003] macro copier plage une de cellules et l'insérer dans la cellule active
    Par grimou dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/05/2009, 23h42
  5. Réponses: 8
    Dernier message: 14/03/2005, 21h43

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