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. 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. 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. 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. 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
        2. 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