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

koadima

XLDnaute Junior
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
Bonsoir
Merci. Je remarque qu'un ajout ou un retrait d'un candidats admis la liste ne se met pas à jour. Que faire ?
 

soan

XLDnaute Barbatruc
Inactif
@koadima

Je remarque qu'un ajout ou un retrait d'un candidats admis la liste ne se met pas à jour. Que faire ?

ah oui, pour ça, mon code VBA n'est pas prévu pour une mise à jour automatique ! tu dois d'abord faire toutes les modifications (ajouts ou retraits de candidats) dans ton tableau initial de la 1ère feuille, puis ensuite fais Ctrl e pour avoir le tableau des résultats de la 2ème feuille.

nota bene : tu n'as pas besoin d'effacer les anciens résultats avant de faire Ctrl e car ça oui, c'est fait automatiquement par la macro ! :)



remarque : en pratique, je ne vois pas bien l'intérêt d'une mise à jour automatique du tableau des résultats à chaque modif du tableau initial ! c'est juste que tu ne dois pas oublier de faire Ctrl e après avoir fait toutes les modifs nécessaires du tableau initial !​

soan
 

soan

XLDnaute Barbatruc
Inactif
@koadima

Image.jpg


??? je n'ai pas compris pourquoi tu répètes ta question dans ton post #19 ; j'ai déjà répondu à cette question dans mon post #18. :)

soan
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Je pense que tu n'as pas compris la formule, ci-joint un début de piste. Il faut valider a formule avec les 3 touches Ctrl+Maj+Entrée car c'est une formule matricielle.

JHA
 

Pièces jointes

  • RELEVE DES NOTES CEP BLANC_test.xlsx
    116 KB · Affichages: 4

JHA

XLDnaute Barbatruc
Bonjour à tous,

Appuyez sur Ctrl+Maj+Entrée ou Ctrl+Shift+Enter pour confirmer la formule. Excel ajoute automatiquement des accolades au début et à la fin de la formule.
Voir le lien pour valider les matricielles.

La formule proposée fonctionne-t-elle dans le fichier proposé en #23?

JHA
 

Jean Claude MARAMBA

XLDnaute Nouveau
Bonjour à tous,

Appuyez sur Ctrl+Maj+Entrée ou Ctrl+Shift+Enter pour confirmer la formule. Excel ajoute automatiquement des accolades au début et à la fin de la formule.
Voir le lien pour valider les matricielles.

La formule proposée fonctionne-t-elle dans le fichier proposé en #23?

JHA
Ouii elle fonctionne bien. Mais sur un autre fixe, elle ne pass pas. J'ai bien suivi les instructions. Ma version d'Office est 2016
1676133069120.png
 

job75

XLDnaute Barbatruc
Bonjour Jean Claude MARAMBA, JHA,

On peut éviter la validation matricielle en utilisant le nom défini Matrice :
Code:
=SI(CANDIDATS!$M$22:$M$1000="Admis(e)";LIGNE(CANDIDATS!$M$22:$M$1000))
La dernière ligne 1000 peut être adaptée.

Formule "normale" en A11 :
Code:
=SIERREUR(INDEX(CANDIDATS!A:A;PETITE.VALEUR(Matrice;LIGNE(A1)));"")
A+
 

Pièces jointes

  • RELEVE DES NOTES CEP BLANC_test.xlsx
    119.7 KB · Affichages: 2

Jacky67

XLDnaute Barbatruc
Bonjour à tous
@Jean Claude MARAMBA
Ouii elle fonctionne bien. Mais sur un autre fixe, elle ne pass pas. J'ai bien suivi les instructions. Ma version d'Office est 2016
Attention. Une formule matricielle ne peut être "Copier/Coller" dans sont intégralité.
Elle doit être copiée sans accolades { } , puis revalider par Ctrl+Maj+Entrée

NB: c'est quoi cette version d'excel ? Contrefaçon ?
 

Discussions similaires

Réponses
18
Affichages
716
Réponses
17
Affichages
317