Aide Macro

Bonjour , j'ai besoin de votre aide

Je ne sais pas comment m' y prendre.

Je vous explique , j'ai un fichier où il y a un ensemble de donné, j'aimerais créée une macro qui permettrait que pour chaque "personne" , cela créé une nouvelle feuille appelé le nom de la personne. Et dans cette nouvelle feuille il y es toutes les informations en filtrant et prennant en compte que celle dans la colonne a prendre sont à 0. Ensuite j'aimerais classe ces donné du plus grand au plus petit pour les lignes , et les surligner en jaune pour les 5 premières.

Je vous joint l'excel pour que ce soit plus clair, et un exemple du resultat que je voudrais.

Merci de votre aide,

Cordialement,

8classement.xlsx (15.32 Ko)

Bonjour,

voici pour la fragmentation par onglet.

13classement.xlsm (18.96 Ko)

autre solution ...

mettre en tableau et insérer des segments

7classement.xlsx (17.04 Ko)

merci pour ton aide j'aimerais comprendre ta première macro pour essayer de l'utiliser pour d'autre fichier aussi,

lorsuqe j'execute sur un autre fichier cela me met l'indice n'appartient pas a la sélection

With ActiveSheet.ListObjects(1)

lorsuqe j'execute sur un autre fichier cela me met l'indice n'appartient pas a la sélection

With ActiveSheet.ListObjects(1)

Cela signifie que tes données ne sont pas structurées en tableau.

et si maintenant je l'utilise pour un grand nombre de donné, on me dit qu'il y a un depassement de capacité, comment je peux modifier cela

ok

Change les % en as Long

Dim i% as Long, col as Long, ici As String, cle As Variant, sw As Worksheet, dico As Object, tbl As Variant

Merci beaucoup pour votre aide, j'aimerais votre aide pour la suite,

si danc cette macro je veux que pour chaque feuille, je veux que cela ne prenne le critère 0 de la colonne à prendre puis que cela les tris par ordre decroissant pour la colonne lignes .Comment puis-je faire ?

J'ai essayer avec autofilter pour la premiere mais j'y arrive pas

ok je vais regarder

mais est-ce que cette solution n'est pas meilleure ? https://forum.excel-pratique.com/viewtopic.php?p=817282#p817282

Effectivement mais j’ai besoin de chaque feuille pour la suite mes projets

J’ai réussi à avancer il me manque juste à pouvoir trier du plus grand au plus petit

Ajoute ce code

Sub filtrer()

For Each sw In Worksheets

    With sw.ListObjects(1)

        ' tri
        .Sort.SortFields.Clear
        .Sort.SortFields.Add _
            Key:=.ListColumns("Lignes ").Range, SortOn:=xlSortOnValues, Order:= _
            xlDescending, DataOption:=xlSortNormal
        With .Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With

        ' filtre
        .Range.AutoFilter Field:=11, Criteria1:="0"

    End With

Next

End Sub
Rechercher des sujets similaires à "aide macro"