XL 2013 Extraire liste des admis

koadima

XLDnaute Junior
Bonjour
J'ai fais un tableau de relevé de notes et j'aimerais extraire la liste des admis dans la feuille"liste des admis"
Pouvez vous m'aider ?
 

Pièces jointes

  • Liste des admis(es).xlsx
    23.1 KB · Affichages: 18

Jacky67

XLDnaute Barbatruc
Bonjour
J'ai fais un tableau de relevé de notes et j'aimerais extraire la liste des admis dans la feuille"liste des admis"
Pouvez vous m'aider ?
Bonjour à tous
S'il n'y a pas d'allergie au vba, une proposition avec mise à jour par la sélection de la feuille "liste des admis"
Le code est dans la feuille "liste des admis"
**PJ modifiée
 

Pièces jointes

  • Liste des admis(es).xlsm
    37.4 KB · Affichages: 8
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour chacun,

Re formules Agregat avec classement sur RANG.
Voir la formule et les formats personnalisés de la (des) colonne(s) RANG pour afficher les "er" et "ième" et qu'ainsi la (les) colonne(s) RANG soit (ent) Numérique(s) et non plus du textuelle(s)


P.S. c'est une mauvaise idée d'appeler un nom de colonne par un nom de formule (RANG).
Cordialement
 

Pièces jointes

  • Liste des admis(es).xlsx
    32.9 KB · Affichages: 13

koadima

XLDnaute Junior
Bonjour chacun,

Re formules Agregat avec classement sur RANG.
Voir la formule et les formats personnalisés de la (des) colonne(s) RANG pour afficher les "er" et "ième" et qu'ainsi la (les) colonne(s) RANG soit (ent) Numérique(s) et non plus du textuelle(s)


P.S. c'est une mauvaise idée d'appeler un nom de colonne par un nom de formule (RANG).
Cordialement
Vos formules sont courtes mais ça marche.
Je sollicite cependant un commentaire de cette formule.
Aussi celle située dans la cellule "G18" semble plus complexe. J'aimerais comprendre.
Merci
 

koadima

XLDnaute Junior
Bonjour à tous
S'il n'y a pas d'allergie au vba, une proposition avec mise à jour par la sélection de la feuille "liste des admis"
Le code est dans la feuille "liste des admis"
**PJ modifiée
Bonsoir
Je ne suis pas allergique mais le VBA avec tableaux structurés c'est trop pour moi.
Bref! Comment avoir le n°mle, le prénom, le sexe, la moyenne et la mention dans la liste des admis. Merci
 

soan

XLDnaute Barbatruc
Inactif
Bonjour koadima, le fil,

* regarde la 2ème feuille "Liste des admis".

* va sur la 1ère feuille "Relevé de notes".

* fais Ctrl e ; puis vérifie bien les résultats. :)



code VBA (24 lignes) :

VB:
Option Explicit

Sub CpyAdmis()
  If ActiveSheet.Name <> "Relevé de notes" Then Exit Sub
  Dim sh As Worksheet, n1&, n2&, i&, j&, m%, k%
  With ActiveSheet.ListObjects("Tableau1")
    If .DataBodyRange Is Nothing Then Exit Sub
    n1 = .ListRows.Count: If n1 = 0 Then Exit Sub
    m = .ListColumns.Count: k = m - 3
  End With
  Set sh = Worksheets("Liste des admis")
  j = 5: Application.ScreenUpdating = 0
  n2 = sh.Cells(Rows.Count, 1).End(3).Row
  If n2 > 4 Then sh.Range("A5:H" & n2).ClearContents
  For i = 8 To n1 + 7
    If Cells(i, m) = "Admis(e)" Then
      Cells(i, 1).Resize(, 4).Copy: sh.Cells(j, 1).PasteSpecial -4163
      Cells(i, k).Resize(, 4).Copy: sh.Cells(j, 5).PasteSpecial -4163
      j = j + 1
    End If
  Next i
  Application.CutCopyMode = 0: sh.Select: [A1].Select
End Sub



si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. ;)

soan
 

Pièces jointes

  • Liste des admis(es).xlsm
    33.5 KB · Affichages: 13

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,
Aussi celle située dans la cellule "G18" semble plus complexe. J'aimerais comprendre.
formule en G5 :
=SIERREUR(AGREGAT(15;6;(Tableau1[RANG])/(Tableau1[Mention]="Admis(e)");LIGNE()-4);0)

La fonction agregat permet d'appliquer certaines fonctions statistiques à un tableau qui lui est passé en paramètre (le premier paramètre, un peu comme SOUS.TOTAL) tout en ignorant certain éléments dans son calcul interne (lignes non visibles, filtrées, erreur, certaines fonction etc...).
Ici on utilise la faculté de la fonction agregat d'ignorer les les erreurs ( deuxième paramètre ).
Puis on lui passe une fonction qui va créer un tableau interne avec des VRAI et des erreurs (#DIV/0!") en réponse au test ((Tableau1[Mention]="Admis(e)")) et dont seuls les éléments sans erreur seront retournés..

La fonction petite.valeur (premier paramètre =15) retournera le ligne()-4 ème élément VRAI
Ligne()-4 car le tableau est en ligne 5 et qu'on veut sur chaque ligne les éléments de 1 à n

cordialement
 

koadima

XLDnaute Junior
Bonjour,

formule en G5 :


La fonction agregat permet d'appliquer certaines fonctions statistiques à un tableau qui lui est passé en paramètre (le premier paramètre, un peu comme SOUS.TOTAL) tout en ignorant certain éléments dans son calcul interne (lignes non visibles, filtrées, erreur, certaines fonction etc...).
Ici on utilise la faculté de la fonction agregat d'ignorer les les erreurs ( deuxième paramètre ).
Puis on lui passe une fonction qui va créer un tableau interne avec des VRAI et des erreurs (#DIV/0!") en réponse au test ((Tableau1[Mention]="Admis(e)")) et dont seuls les éléments sans erreur seront retournés..

La fonction petite.valeur (premier paramètre =15) retournera le ligne()-4 ème élément VRAI
Ligne()-4 car le tableau est en ligne 5 et qu'on veut sur chaque ligne les éléments de 1 à n

cordialement
Merci nombreux
 

soan

XLDnaute Barbatruc
Inactif
Bonjour koadima, le fil,

voici un renseignement TRÈS IMPORTANT :

avec la méthode que j'ai utilisée, ma solution continuera de marcher correctement même si tu ajoutes d'autres colonnes pour les matières entre la colonne "SEXE" et la colonne "TOTAL". 😊



j'espère que tu as remarqué que j'ai amélioré la présentation de ton tableau initial. 😉

soan
 

soan

XLDnaute Barbatruc
Inactif
complément en images :

Image 1.jpg


Image 2.jpg


soan
 

Discussions similaires

Réponses
18
Affichages
747
Réponses
17
Affichages
324

Statistiques des forums

Discussions
312 185
Messages
2 086 016
Membres
103 093
dernier inscrit
Molinari