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 :

Max calculé sur une partie de cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Par défaut Max calculé sur une partie de cellule
    Bonjour,

    Je cherche le max d'une "partie" de colonne. Je m'explique.

    Colonne A (par exemple), j'ai le nom de certains paramètres (a,b,c,...), et colonne B les valeurs mesurées concernant ces paramètres. Seulement, il y a plusieurs mesures concernant le même paramètre, et j'aimerais par exemple connaître le max parmi ces valeurs. Le problème est que je ne peux pas réduire la zone de B1 à B4 par exemple, car le nombre de valeurs mesurées peut varier d'un mois à l'autre. Je joins un fichier excel qui sera plus parlant. Dans cet exemple, comment récupérer la valeur max prise par le paramètre a (là ça va de B1 à B5, mais ça pourrait très bien être autrement) ?

    Merci d'avance !
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Tu peux utiliser la formule matricielle suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAX(SI(A1:A18="B";B1:B18))
    Formule a confirmer par CTRL+MAJ+ENTREE

  3. #3
    Membre éclairé Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Par défaut
    Merci pour ta réponse jfontaine, mais je ne suis pas sûr que ce soit ce que j'aimerais.. En effet, dans ta formule tu considère qu'il y a 18 colonnes de remplies, or, de façon générale, je ne saurai pas ! De plus, je fais ça en VBA..
    Je pense qu'il faudrait, "algorithmiquement" parlant, faire quelque chose comme ça:

    tant qu'on trouve le paramètre "a" dans la colonne A, chercher le max des valeurs correspondantes dans la colonne B

    Non ?

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Ci dessous une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function MaxCritere(Critere As String)
     
    Dim i As Long
    Dim Max As Double
     
    For i = 1 To Range("A:A").End(xlDown).Row
        If Range("A" & i).Value = Critere And Range("B" & i).Value > Max Then Max = Range("B" & i).Value
    Next i
     
    MaxCritere = Max
     
    End Function

  5. #5
    Membre éclairé Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Par défaut
    Merci bien !
    Par contre pour la tester, j'ai besoin de quelques précisions.. Débutant totalement en VBA, dois-je insérer cette fonction dans le "module" à la suite du reste du code, puis l'appeler en suivant ?

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    En effet,ce code doit etre copier dans un module et peut être appelé
    soit par VBA
    soit en tant que formule dans une feuille

Discussions similaires

  1. [Toutes versions] Protection sur une partie des cellules provoque une erreur à l'éxécution de la macro
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/01/2012, 15h36
  2. [XL-2003] Somme conditionnelle avec condition sur une partie de cellule + RechercheV
    Par Benoit Schwob dans le forum Excel
    Réponses: 13
    Dernier message: 28/04/2011, 23h26
  3. [XL-2003] Calcul sur une plage de cellules
    Par kokoVBA dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/08/2009, 10h35
  4. Calcul sur une partie d'un tableau défini sous VBA
    Par VBA_LOVER dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/08/2009, 12h27
  5. Equivalent de RECHERCHEV sur une partie de cellule
    Par LaPanic dans le forum Excel
    Réponses: 3
    Dernier message: 28/10/2008, 17h45

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