Copier la cellule d'une feuille en fonction du nom

Bonjour a tous,

Je suis désolé de vous déranger mais je galère depuis 4 heures pour trouver une solution à mon problème.

J'ai un classeur avec une feuille par exercice (Ex1, Ex2, etc) et j'aimerai que sur la feuille "Récap" soit recopier les notes de chaque élève sachant que sur certain exercice l'élève n'a pas répondu et n'apparait pas dans la feuille.

Je vous joint un fichier pour que cela soit plus claire. Je l'espère.

Merci d'avance pour votre temps.

3cc3-notes.xlsx (12.58 Ko)

Bonsoir,

Une proposition.

Cordialement.

9cc3-notes.xlsx (19.99 Ko)

Merci Zebulon2!!!

J'aurais jamais trouvé sans ton aide.

Merci encore!

Re Zebulon2,

Je n'arrive pas à le déployer sur un tableau plus grand avec 14 exercices.

J'ai réussi tous seul a faire que la recherche se fasse sur le login (pas sans mal)

Mais lorsque que j'ai souhaité ajouter des feuilles ça m’envoie des message d'insulte...

Voici mon fichier original avec tous les noms et tous les exercices.

Peux tu m'aider à le mettre a jour, svp?

Merci d'avance,

6cc3-notes-v2.xlsx (158.70 Ko)

Bonjour

une autre version (bien que j'aime beaucoup celle de Zebulon, plus structurée)

Option Explicit

Sub compiler()
Dim ligne As Long, f As Worksheet
    Sheets(1).Select
    Range("A1").CurrentRegion.Offset(1, 0).ClearContents
    For Each f In Worksheets
        If f.Name Like "Ex*" Then
            ligne = Cells(Rows.Count, 1).End(xlUp).Row + 1
            f.Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Offset(1, 0).Resize(f.Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Rows.Count - 1).Copy Destination:=ActiveSheet.Cells(ligne, 1)
            Range("E" & ligne & ":E" & Cells(Rows.Count, 1).End(xlUp).Row) = f.Name
        End If
    Next
    Sheets(2).Select
    ActiveSheet.PivotTables(1).PivotCache.Refresh
End Sub
1cc3-notes-v2.xlsm (419.83 Ko)

Merci de votre réponse. J'avoue que si je peux rester sur du excel classique je préfère.

Bien cordialement.

Tu n'as pas tort ! Zebulon te donnera la réponse. Il faudra aussi passer toutes tes données en tableau.

Ce que je t'ai fait avec une macro

Sub Macro1()

For Each f In Worksheets
    If f.Name Like "Ex*" Then
        f.Select
        f.Cells(1, 1).Select
        f.ListObjects.Add(xlSrcRange, f.Range("$A$1:$D$" & f.Range("A" & Rows.Count).End(xlUp).Row), , xlYes).Name = "T_" & f.Name
        f.ListObjects(1).TableStyle = "TableStyleLight8"
    End If
Next

End Sub

Donc voici ton fichier en tableaux et sans macro sur lequel tu peux appliquer la méthode Zebulon.

5cc3-notes-v2.xlsx (167.72 Ko)

Bonjour à tous,

Bonjour Steelson,

Ta version adaptée.

Cordialement.

11cc3-notes-v2.xlsx (253.88 Ko)

Ah ! je n'ai pas tout à fait la même formule que Zebulon ... en fait je ne sais pas quelle est la bonne !!

=SIERREUR(INDEX(INDIRECT("T_"&D$1&"[note]");EQUIV([@login];INDIRECT("T_"&D$1&"[login]");0));"")

ça rame sec !

Merci pour le temps passé à m'avoir aidé.

Je me sens toujours un peu gêné car je ne pourrais probablement jamais vous renvoyer l'appareil.

Merci infiniment !!

Rechercher des sujets similaires à "copier feuille fonction nom"