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 :

Min Conditionnel sur plusieurs variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 99
    Par défaut Min Conditionnel sur plusieurs variables
    Bonjour, je galère actuellement pour trouver un équivalent dans VBA à la formule Excel suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=MIN(SI((A4:A1300=A1301)*(B4:B1300=B1301)*(F4:F1300=F1301)*(G4:G1300=G1301);T4:T1300))}
    J'ai une grande quantité de calculs a effectuer, et sous la forme matricielle pour simplifier.

    L'idée de ce calcul est de me donner la valeur la plus faible sur une série de données avec 4 critères de recherches, donc si vous avez d'autres idées, je suis preneur.
    J'avais essayé la fonction filtre, mais elle me fait perdre 15 minutes dans ma macro...

    Edit : J'ai ajouté un fichier d'exemple que j'ai fait sur Excel mais que j'aimerai retranscrire en VBA.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    Je n'ai pas vraiment compris quel est le but à atteindre. Malgré cela, en me basant sur votre exemple, j'arrive à obtenir le même résultat. A tout hasard, je fais paraître le code.
    J'ai construit une fonction personnalisée Min_MultiCriteres (qui demande 2 paramètres Range) qu'on utilise comme une fonction intégrée d'Excel.

    Code à copier dans un module standard
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Function Min_MultiCriteres(Champ As Range, Compare As Range) As Double
    Const DEFAUT As Double = 99999999999# 'on fixe, par défaut, le minimum à une très grande valeur
    Dim var
    Dim T()
    Dim i&
    Dim j&
    Dim A$
    Dim Mini#
    '---
    var = Champ
    ReDim T(1 To UBound(var, 1), 1 To 2)
    '---
    For i& = 1 To UBound(var, 1)
      For j& = 1 To UBound(var, 2)
        T(i&, 1) = T(i&, 1) & Trim(CStr(var(i&, j&)))
      Next j&
        T(i&, 2) = var(i&, UBound(var, 2))
    Next i&
    '---
    var = Compare
    For j& = 1 To UBound(var, 2)
      A$ = A$ & var(1, j&)
    Next j&
    '---
    Mini# = DEFAUT
    For i& = 1 To UBound(T, 1)
     If Mid(T(i&, 1), 1, Len(A$)) = A$ Then
      If IsNumeric(T(i&, 2)) Then
        If T(i&, 2) < Mini# Then Mini# = T(i&, 2)
      End If
     End If
    Next i&
    If Mini# <> DEFAUT Then Min_MultiCriteres = Mini#
    End Function
    Exemple d'utilisation (je me base sur votre exemple)
    En cellule H11 tapez la formule =Min_MultiCriteres(A3:E9;A11:E11)

    Je joins un classeur exemple pour faciliter.

Discussions similaires

  1. proc gchart sur plusieurs variables
    Par julien-isup dans le forum SAS Base
    Réponses: 0
    Dernier message: 01/09/2009, 11h28
  2. affichage de popup sur plusieurs variables
    Par pepsy77 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/03/2009, 19h02
  3. [SimpleXML] Conditionnel sur des variables XML
    Par Hightuxdotnet dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 20/08/2008, 10h55
  4. Jointure conditionnele sur plusieurs tables
    Par Clorish dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 20/12/2007, 14h20
  5. [VBA-E]Structure conditionnelle sur plusieurs variables
    Par rodrigue62 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/07/2007, 14h30

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