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 :

Fonction Si d'Excel en VBA [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 75
    Par défaut Fonction Si d'Excel en VBA
    Bonjour à tous,

    J’essaye de passer en vain une formule Excel en code VBA sans succès.
    En Excel j’ai ça =SI(ET(D9>$C$3;D9<$C$4;A9=1);1;SI(ET(D9>$C$3;D9<$C$4;A9=0);0;2))
    En VBA j’ai tenté ça mais ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .range("F9:F1618").formula=.range(SI(ET(RC[-2]>" & C & ";RC[-2]<R4C3;rc[-5]=1);1;SI(ET(RC[-2]>" & C & ";RC[-2]<R4C3;rc[-5]=0);0;2)))
    « C » est une variable qui s’incrémente de 1 à 60

    Merci par avance

  2. #2
    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

    Écris ta formule dans une cellule et sélectionne cette cellule
    Dans l'éditeur vba, fenêtre: Exécution, écris ceci:

    ?activecell.formular1c1
    et valide (Enter)
    Tu récupéras ta formule à insérer dans ton code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("Q20").FormulaR1C1 = "=IF(AND(R[-12]C[-10]>R3C3,R[-12]C[-10]<R4C3,R[-12]C[-13]=1),1,IF(AND(R[-12]C[-10]>R3C3,R[-12]C[-10]<R4C3,R[-12]C[-13]=0),0,2))"
    Par exemple si, tu veux dans ta formule insérer une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim MaVar As Double
     
    MaVar = 34.678
    Range("Q21").FormulaR1C1 = "=IF(AND(R[-12]C[-10]>" & MaVar & ",R[-12]C[-10]<R4C3,R[-12]C[-13]=1),1,IF(AND(R[-12]C[-10]>R3C3,R[-12]C[-10]<R4C3,R[-12]C[-13]=0),0,2))"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 75
    Par défaut
    Bonjour mercatog,

    Un grand merci pour la rapidité, de plus je ne connaissais pas cette fonctionnalité très intéressante.

    Bonne soirée.

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

Discussions similaires

  1. [XL-2007] Fonction sort dans Excel avec VBA
    Par vanyk dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/07/2009, 15h05
  2. Fonction PolyA d'excel sur vba
    Par husker dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/12/2007, 15h02
  3. Réponses: 1
    Dernier message: 04/12/2006, 11h08
  4. [VBA-E]Fonction F2 dans Excel
    Par Ghis123 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 24/05/2006, 16h49
  5. [VBA/Excel] Fonction open sous Excel 97
    Par nico01984 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/01/2006, 15h19

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