Fonction Excel

trigunfusion Messages postés 159 Statut Membre -  
 rafc -
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. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  2. trigunfusion Messages postés 159 Statut Membre 28
     
    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
  3. rafc
     
    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
  4. rafc
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Rafcor Messages postés 6 Statut Membre
     
    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. trigunfusion Messages postés 159 Statut Membre 28
       
      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