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 Max et conditions IF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 2
    Par défaut fonction Max et conditions IF
    Bonjour,

    Je suis débutante en vba et je souhaiterais écrire cette formule
    MAX(SI(ET(ESTNUM(H36);ESTNUM(36));H36-I36;0)-SI(ET(ESTNUM(K36);ESTNUM(L36));K36-L36;0);0)-Feuil2!C18
    et mettre la valeur dans la cellule D36.

    Ps: je veux juste la valeur dans la cellule et pas la formule Excel.

    Avec l'enregistreur de Macro j'ai le résultat suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveCell.FormulaR1C1 = _
            "=MAX(IF(AND(ISNUMBER(RC8),ISNUMBER(RC[5])),RC8-RC[5],0)-IF(AND(ISNUMBER(RC11),ISNUMBER(RC[8])),RC11-RC[8],0),0)-Feuil2!R[-18]C[-1]"
    Range("d36").Select
    Mais dans la cellule j'ai également la formule quand je clique sur la valeur.
    Que faire?
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Bonjour,

    bienvenue sur DVP

    lorsque tu as obtenu le resultat que tu veux en bout de formule, pour acceder a la valeur, tu peux passer par la propriete Value du Range.
    comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("d36").Value = ActiveCell.Value
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 2
    Par défaut
    Merci Jean Philippe André
    je voudrai savoir comment l'écrire avec if-then-else et comment appliquer la fonction max par la suite.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Dans l'idee, une syntaxe serait de ce style :

    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
    'MAX(SI(ET(ESTNUM(H36);ESTNUM(36));H36-I36;0)-SI(ET(ESTNUM(K36);ESTNUM(L36));K36-L36;0);0)-Feuil2!C18
    'on decompose
    'SI(ET(ESTNUM(H36);ESTNUM(36))
    Dim A As Double
    If Isnumeric(Range("H36").Value) And IsNumeric(Range("I36").Value Then
    A = Range("H36").Value-Range("I36").Value
    Else
    A= 0
    End If
    'SI(ET(ESTNUM(K36);ESTNUM(L36));K36-L36;0)
    If Isnumeric(Range("K36").Value) And IsNumeric(Range("L36").Value Then
    A = A-Range("K36").Value-Range("L36").Value
    Else
    A= A- 0 'pas necessaire
    End If
    'MAX(...;0)
    A = Application.WorksheetFunction.Max(A,0)
    '-Feuil2!C18
    A = A - Range("Feuil2!C18").Value
    Range("D36").value = A
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

Discussions similaires

  1. Utiliser la fonction MAX() dans la condition du WHERE
    Par Mo_Poly dans le forum Langage SQL
    Réponses: 5
    Dernier message: 24/01/2024, 21h36
  2. [XL-2013] fonctions Max avec des conditions
    Par matlabation dans le forum Excel
    Réponses: 4
    Dernier message: 16/07/2015, 18h47
  3. Fonction max avec condition
    Par Invité dans le forum Excel
    Réponses: 4
    Dernier message: 22/07/2013, 15h58
  4. [SQL Server 8] fonction Max --- selon des conditions
    Par Baquardie dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/01/2006, 22h06
  5. Fonction MAX dans une condition WHERE
    Par borgfabr dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/10/2004, 17h06

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