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 :

Formule avec conditions [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut Formule avec conditions
    Bonjour,
    plutot que d'appliquer ce code pour chaque cellule, je voudrais le faire juste à la premiere pour ensuite "étirer vers le bas"
    Quelqu'un pourrait-il me dire comment mettre plusieurs conditions dans une formule pour retranscrire le code suivant dans une seule formule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    ts = 15    
    k = 0
    Do While Not (IsEmpty(.Cells(34 + k, 1)))
     
       conso_com = .Cells(34 + k, a).Value
       tr = .Range("B" & 34 + k).Value
       tn = .Range("C" & 34 + k).Value
       grd = .Cells(34 + k, 4).Value
     
       If tr < ts And tn < ts Then
           .Cells(34 + k, a + 1).Value = conso_com * (1 - grd * (tn - tr) / 100)
       ElseIf tr < ts And tn >= ts Then
           .Cells(34 + k, a + 1).Value = conso_com * (1 - grd * (ts - tr) / 100)
       ElseIf tn < ts And tr >= ts Then
           .Cells(24 + k, a + 1).Value = conso_com * (1 - grd * (tn - ts) / 100)
       ElseIf tn >= ts And tr >= ts Then
           .Cells(24 + k, a + 1).Value = conso_
       End 
       k = k + 1
    Loop
    Merci de votre aide !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    en me creusant un peu le crane j'ai fini par trouver:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a = .Range("E33").End(xlToRight).Column
    p = .Range("A65536").End(xlUp).Row
     
        ts = 15
     
        .Cells(34, a + 1).Value = "=IF(AND(RC2<" & ts & ",RC3<" & ts & "),RC[-1]*(1-RC4*(RC3-RC2)/100),IF(AND(RC2<" & ts & ",RC3>=" & ts & "),RC[-1]*(1-RC4*(" & ts & "-RC2)/100),IF(AND(RC3<" & ts & ",RC2>=" & ts & "),RC[-1]*(1-RC4*(RC3-" & ts & ")/100),IF(AND(RC3>=" & ts & ",RC2>=" & ts & "),RC[-1]))))"
        Range(.Cells(34, a + 1), .Cells(p, a + 1)).FillDown

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

Discussions similaires

  1. [XL-2010] formule avec conditions sur plusieurs colonnes
    Par hugodu28 dans le forum Excel
    Réponses: 2
    Dernier message: 28/03/2015, 00h11
  2. simplification formule avec condition
    Par mariok dans le forum Conception
    Réponses: 3
    Dernier message: 08/03/2014, 22h29
  3. [XL-2010] Ecrire une formule avec condition
    Par Philippe76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/01/2013, 15h02
  4. [XL-2007] Insérer une formule avec condition
    Par samia08 dans le forum Excel
    Réponses: 6
    Dernier message: 26/01/2011, 16h43
  5. Réponses: 6
    Dernier message: 16/05/2008, 09h04

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