Fonction Excel

Bonjour,

Je cherche a faire une fonction Excel un peu spéciale :

J'ai une base de donnée :

Classe Note
1 5
1 9
2 9
2 9
2 2
3 1
3 1
3 6
4 2
4 2

Je souhaite inscrire dans une autre colonne le maximum de chaque classe:

Classe Note max
1 ?
2 ?
3 ?
4 ?

Pouvez-vous m'aider?

Merci d'avance.



--
Avant d'imprimer, pensez à l'environnement!

5 réponses

  1. Contributeur
    Bonjour
    à adapter:
    votre liste de N° en colonne A, vos notes en colonne B vos références en colonne C de C1 à C4
    en D1:
    =MAX(SI(A:A=C1;B:B))
    formule matricielle à entrer en maintenant les touches ctrl+shift enfoncées pour qu'elle se retrouve entre crochets.
    Tirez de D1 à D4
    crdlmnt

    Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
    0
    1. Bonjour,

      en fait, mon pb est bcp plus complexe que ca.

      en Virtual basic, il faudrait que je transcrive le cheminement suivant :
      - a partir du fichier auquel je veux actualiser les données ("fichier de synthése.xls"), ouvrir un autre fichier : Workbooks.Open Filename:="D:\Fichier d'analyse.xls"
      - sélectionner la bonne feuille : Sheets("Etude").Select
      filtrer la colonne E : Selection.AutoFilter Field:=4, Criteria1:="1"
      - trouver le maximum de cette liste de la colonne K

      Le pb est aussi que je doit comparer ces maximum à 2,3,4,5 ou plus autres fichiers dont je trouverais les maximum par cette meme démarche aussi

      Enfin, ne copier que les maximum des maximum (il peut y avoir 1 ou plusieurs lignes) dans mon "fichier de synthèse.xls" case D9.

      Je ferait ensuite le même code pour les autres critères.
      0
      1. salut,
        voici le code pour avoir le maximum de 2 lignes, je suppose que les 2 lignes ont le même
        longueur.....
        ------------------------------------------------------------------------------------
        'petit function pour avoir le max de 2 nombres
        Function maxi(ByVal a, b As Integer) As Integer
        If a >= b Then
        maxi = a
        Else
        maxi = b
        End If
        End Function
        -----------------------------------------------------------------------------------------------
        Sub recherche()
        Dim i, temp As Integer
        i = 0
        Do
        i = i + 1
        'je garde la valeur maximal dans une variable temp
        temp = maxi(temp, maxi(Cells(i, 1), Cells(i, 2)))
        'condition " si la cellule ne contiens plus de valeurs, alors je copy la valeur max et je sort
        If Cells(i, 1) = "" Then
        Cells(1, 3).Value = temp
        Exit Sub
        End If
        Loop
        End Sub
        ----------------------------------------------------------------------------------------------------
        après si tu veux le faire pour chaque feuille c#est pas la grand chose , tu dois créer un
        for i = 1 to ( numero de pages que tu as)
        if i = 1 then
        worksheets("name1").active
        elseif i= 2 then
        worksheets("name2").active
        etc

        j'espère t'avoir aider un peu

        courage
        0
        1. ahh
          je supose que tu as:
          1 5 voici le resultat!! 67
          3 43
          4 5
          5 1
          6 12
          7 11
          67 23
          0
          1. c est trop facil

            tu connait vba???

            tu fait un boucle et voila

            comme ca c est sur

            si t interesse je peu te filer le code
            -1
            1. Bonjour,

              en fait, mon pb est bcp plus complexe que ca.

              en Virtual basic, il faudrait que je transcrive le cheminement suivant :
              - a partir du fichier auquel je veux actualiser les données ("fichier de synthése.xls"), ouvrir un autre fichier : Workbooks.Open Filename:="D:\Fichier d'analyse.xls"
              - sélectionner la bonne feuille : Sheets("Etude").Select
              filtrer la colonne E : Selection.AutoFilter Field:=4, Criteria1:="1"
              - trouver le maximum de cette liste de la colonne K

              Le pb est aussi que je doit comparer ces maximum à 2,3,4,5 ou plus autres fichiers dont je trouverais les maximum par cette meme démarche aussi

              Enfin, ne copier que les maximum des maximum (il peut y avoir 1 ou plusieurs lignes) dans mon "fichier de synthèse.xls" case D9.

              Je ferait ensuite le même code pour les autres critères.
              0