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 :

Valeur max d'une selection aléatoire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Par défaut Valeur max d'une selection aléatoire
    Bonjour,

    j'ai un petit problème... j'aimerais connaître la formule qui me permet d'avoir la valeur max d'une colonne. un exemple sera plus claire

    27 23 5
    27 23 5
    27 23 9
    27 23 12
    27 23 5
    28 00 8
    28 00 12
    28 00 11
    28 00 8

    dans ma première colonne j'ai le jour dans la deuxième l'heure et la troisième la mesure.
    et j'aimerais connaître la valeur max de la troisième colonne pour chaque heure.

    j'ai fais ce code la mais ça ne marche pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     x = [Max(Range("C" & i & ":C" & i + NbRevision))]
    avec i ma variable heure
    NbRevision le nombre de mesure par heure

    en espérant avoir une réponse

    cordialement

  2. #2
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Bonjour à tous
    Bonjour mloic38

    C'est une formule ou un code que tu veux ?

    Pour du code, je te propose ceci qui peut certainement être améioré.
    On part du principe que les jours sont en A10, A11, ....., les heures en B10, B11, ... et les mesures en C10, C11, ....
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Option Explicit
     
    Sub cherche_max_02()
     
    Dim der_cel As Integer
    Dim mavar As Integer
    Dim mavar_col_A As Integer
    Dim mavar_col_B As Integer
    Dim mavar_col_C As Integer
     
    Dim i As Integer
     
    Dim der_ligne As Integer
     
    der_cel = Range("A10").End(xlDown).Row
     
    i = 10     ' première ligne du tableau à adapter
    mavar_col_A = Range("A" & i)
    For i = 10 To der_cel
            If mavar = 0 Then mavar = Range("A10"): mavar_col_B = Range("B10")
            While mavar_col_A = mavar
                While mavar_col_B = Range("B" & i)
                    If mavar_col_C < Range("C" & i) Then mavar_col_C = Range("C" & i)
                    i = i + 1
                    If i > der_cel Then Exit For
                    mavar_col_A = Range("A" & i)
                Wend
    ' on écrit en D, E et F les résultats à adapter
                Range("D" & i - 1) = Range("A" & i - 1)
                Range("E" & i - 1) = Range("B" & i - 1)
                Range("F" & i - 1) = mavar_col_C
     
                mavar = Range("A" & i)
                mavar_col_B = Range("B" & i)
                mavar_col_C = Range("C" & i)
            Wend
            If i > der_cel Then Exit Sub
    Next i
    ' on écrit en D, E et F les résultats à adapter
                Range("D" & i - 1) = Range("A" & i - 1)
                Range("E" & i - 1) = Range("B" & i - 1)
                Range("F" & i - 1) = mavar_col_C
    End Sub
    Si j'ai bien compris ta demande !

    Eric

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Par défaut
    merci pour ta réponse mais j'avais finalement trouvé mais après beaucoup d'essais j'ai fait ça si ça peut rendre service à quelqu'un

    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
    For c = 0 To 23
    Moyenne = 0
    somme = 0
    NbRevision = 0
    x = 0
    z = 10000
    For a = 2 To j
        If Mid(Cells(a, 3), 1, 2) = 31 And Cells(a, 2) = c Then
        NbRevision = NbRevision + 1
        somme = Cells(a, 7).Value + somme
        Sheets("synthese").Cells((c + 2), 4).Value = NbRevision
        Sheets("synthese").Cells((c + 2), 5).Value = somme
        If Cells(a, 7) > x And Cells(a, 2) = c Then
        x = Cells(a, 7).Value
        Sheets("synthese").Cells((c + 2), 7).Value = x
        If Cells(a, 7) < z And Cells(a, 2) = c Then
        z = Cells(a, 7).Value
        Sheets("synthese").Cells((c + 2), 8).Value = z
    End If
    End If
    End If
    Next a
        If NbRevision > 0 Then
        Moyenne = somme / NbRevision
        Sheets("synthese").Cells((c + 2), 6).Value = Moyenne
    End If
    Next c
    dans ma colone 7 j'avais mes mesures dans ma colone 1 mon jour et la colone 2 l'heure.
    Avec ce code ça calcule le nombre de mesure par heure, la moyenne, la valeur max et la valeur min

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

Discussions similaires

  1. selection de la valeur MAX d'une sous requete
    Par trigone dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/11/2007, 11h05
  2. [MySQL] extraire la valeur max d'une variable
    Par MisterMacPhisto dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/06/2007, 17h14
  3. Réponses: 2
    Dernier message: 01/12/2006, 10h09
  4. valeur max d'une zone de texte
    Par Davik dans le forum IHM
    Réponses: 6
    Dernier message: 22/11/2006, 10h45
  5. Réponses: 4
    Dernier message: 29/06/2006, 15h50

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