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 :

Pb fonction max pour une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 268
    Par défaut Pb fonction max pour une cellule
    Bonjour
    je souhaite réalisé cette macro de telle maniere que lorsque la condition if est remplie, la valeur de la cell ("ei38") prenne la valeur la plus grande (dc le max) de cette formule 0.02 * (100 - Range("ek29").Value ou 0.8
    Le code suivant ne fonctionne evidement pas !!! et je nai pas trouve cle code adequat
    merci de votre aide



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Range("ee21").Value >= 20 And Range("ee21").Value <= 75 Then
                Range("ei38").Value = "=MAX((0.02 * (100 - Range("ek29").Value)), 0.8)"
     
     
            End If

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Par la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(E20>=20;SI(E21<=75;SI(E20>E21;E20;SI(E21>E20;E21))))
    Si tu veux insérer par la macro,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("F25").FormulaLocal = "=SI(E20>=20;SI(E21<=75;SI(E20>E21;E20;SI(E21>E20;E21))))"
    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 268
    Par défaut
    ca ok ca aurait plus simple pour moi ms le souci ce que cette macro doit etre declenché par un bouton et je recherche une macro simple (comme l'exemple (bon daccord il est faux mais ds l'esprit c ca ke je recherche)
    quelqu'un a une solution ?

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 268
    Par défaut
    si la fonction worksheetfunction correspond a ma demande je suis oblige de passe par une cellule intermediaire ou jeffectue mon calcul precedent (0.02 * (100 - Range("ek29").Value) ce qui marrange pas car cette formule est changeante suivan tdotre criteres et dc il fodrai kel soit integré comme ds mon exemple
    merci

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Quel est ton pb ? Déclencher la macro avec le bouton ou la formule à placer dans la macro elle-même ?
    Si c'est la formule,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If Range("E20").Value >= 20 And Range("E21").Value <= 75 Then
         If Range("E20").Value > Range("E21").Value Then
              Range("E25").Value = Range("E20").Value
              'tu remplaces par ton calcul
           ElseIf Range("E21").Value > Range("E20").Value Then
              Range("E25").Value = Range("E20").Value
              'tu remplaces par ton calcul
           Else
              MsgBox "Les deux valeurs sont identiques"
         End If
    End If
    Tu dis

    NB - Evite le sms (interdit sur le forum) et lis les règles du forum, elles peuvent t'aider

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 268
    Par défaut
    jpens que je me fais mal comprendre
    jsuis ok avec ton code ms ce ki minteresse c le style de code que g ecrit en premier, cad savoir si il ya une fonction max qui permet d'integrer mes deux criteres (0.02 * (100 - Range("ek29").Value, 0.8)
    il faut savoir que ce code je vai l'ecrire plusieurs fois et ce sera plus lisible a relire
    merci

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je ne comprends pas ton max où tu n'as que deux proposition mais bon, en faisant avec, on peut faire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Range("E20").Value >= 20 And Range("E21").Value <= 75 Then
         If 0.02 * (100 - Range("e29").Value) > 0.8 Then
              Range("e38").Value = 0.02 * (100 - Range("e29").Value)
            else
               ' ??????????
         End If
    End If
    Si je n'ai rien compris, faudra que tu me dises ce qui me manque

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

Discussions similaires

  1. fonctions "quitter" pour une fenetre
    Par paihpaihtte dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 14/03/2007, 21h39
  2. fonction MAX sur une date
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 08/09/2006, 14h59
  3. Réponses: 4
    Dernier message: 29/06/2006, 15h50
  4. Fonction MAX dans une condition WHERE
    Par borgfabr dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/10/2004, 16h06
  5. [VBA-E] Fonction sum() dans une cellule
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2002, 10h18

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