Trier tableau en retirant certaines lignes et doublons

Bonjour à tous,

Je cherche des Macros pouvant :

1. trier les données de l'onglet RPL en retirant les lignes contenant le symbole Σ et mettre les données triées dans l'onglet Conv

2. trier la colonne J de l'onglet RPL en retirant les doublons et mettre les données triées dans l'onglet List

si possible avec un seul bouton

Merci pour votre aide,

Cordialement,

13conv-trie.xlsm (15.68 Ko)

Bonjour,

Pour retirer le caractère Σ

Sub Suppr_Sigma()
    Dim f1 As Worksheet
    Set f1 = Sheets("RPL")
    Cells.Replace What:=" " & ChrW(&H3A3), Replacement:="", LookAt:=xlPart
End Sub

Pour la suite:

1. trier les données de l'onglet RPL en retirant les lignes contenant le symbole Σ et mettre les données triées dans l'onglet Conv

- Pour le tri, sur quelle colonne?

-Et les données à copier dans Conv, doit-on les mettre à la suite ou bien supprimer l'existant?

Cdlt

bonjour Arturo83,christopherom,

je pensais plutôt à ceci

Sub Copier_Sans()
     s = "zzzzzzzzzzzzz"
     With Sheets("RPL")
          On Error Resume Next
          .AutoFilter.Range.AutoFilter       'reset autofilters
          On Error GoTo 0

          With Range("E1").CurrentRegion     'cette plage
               .AutoFilter 11, "* " & Chr(63)     'filtrer ces charactères "sum"
               i = .Columns(11).SpecialCells(xlVisible).Count     'nombre de lignes visibles
               If i > 1 Then
                    Set c = .Cells(.Rows.Count + 1, 11)     'cellule juste en dessous la colonne 11
                    c.Value = s
                    c.Copy .Cells(2, 11).Resize(.Rows.Count)     'toutes les cellules visibles de la colonne 11 sauf entête
                    c.ClearContents
               End If
               .AutoFilter
               .Sort .Cells(1, 11), Header:=xlYes     'trier cette colonne (toutes les cellules avec sum seront ensemble
               .AutoFilter 11, s             'de nouveau autofilter
               If i > 0 Then .Columns(11).Offset(1).EntireRow.Delete     'supprimer ces lignes avec "sum"
               .AutoFilter                   'reset autofilter
               .Offset(1).Copy Sheets("conv").Range("E" & Rows.Count).End(xlUp).Offset(1)     'copier ces cellules hors entête
          End With
     End With

End Sub

merci a vous deux.

concernant la Macro de BsAlv, elle fonctionne, mais :

1. dans l'onglet RPL, garder les données d'origine et faire le trie dans l'onglet Conv, comme le fait votre macro

2. dans l'onglet Conv, garder les données d'origine et enregistrer le trie sans doublons de la colonne J dans l'onglet list

Merci pour votre aide

re,

alors comme ceci ?

Sub Copier_Sans()
     s = "zzzzzzzzzzzzz"
     With Sheets("RPL")
          On Error Resume Next
          .AutoFilter.Range.AutoFilter       'reset autofilters
          On Error GoTo 0
          Set c = .Range("E1").CurrentRegion
     End With

     Set c1 = Sheets("conv").Range("E" & Rows.Count).End(xlUp).Offset(1).Resize(c.Rows.Count, c.Columns.Count)
     c.Copy c1
     With c1                                 'cette plage
          .AutoFilter 11, "* " & Chr(63)     'filtrer ces charactères "sum"
          i = .Columns(11).SpecialCells(xlVisible).Count     'nombre de lignes visibles
          If i > 1 Then
               Set c3 = .Cells(.Rows.Count + 1, 11)     'cellule juste en dessous la colonne 11
               c3.Value = s
               c3.Copy .Cells(2, 11).Resize(.Rows.Count)     'toutes les cellules visibles de la colonne 11 sauf entête
               c3.ClearContents
          End If
          .AutoFilter
          .Sort .Cells(1, 11), Header:=xlYes     'trier cette colonne (toutes les cellules avec sum seront ensemble
          .AutoFilter 11, s                  'de nouveau autofilter
          If i > 0 Then .Columns(11).Offset(1).EntireRow.Delete     'supprimer ces lignes avec "sum"
          .AutoFilter                        'reset autofilter
          .Rows(1).Delete
          .Borders(xlEdgeTop).LineStyle = xlContinuous
     End With

End Sub

petit problème, si je rajoute des données dans l'onglet RPL, le résultat dans l'onglet Cons est que les 1ère lignes sont rajoutées (doublées) et les nouvelles données non rajoutées

re, maintenant avec PJ et advancedfilter

14conv-trie.xlsm (31.81 Ko)

Bonjour BsAlv,

pour la liste sans doublons, ça fonctionne parfaitement

pour le trie des données de l'onglet RPL dans Conv, les données rajoutées dans RPL sont cumulé dans Conv, voir fichier joint

9test-conv.xlsm (29.26 Ko)

Merci pour votre aide,

re,

il faut ajouter cette ligne entre le dernier "end with" et le "End Sub"

         .Rows(1).Delete
          .Borders(xlEdgeTop).LineStyle = xlContinuous
     End With

     Sheets("conv").Range("E1").CurrentRegion.RemoveDuplicates Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22), xlYes     'LIGNE A AJOUTER  *********

End Sub

Bonjour,

ça a l'air de fonctionner, merci à tous.

Cordialement,

Rechercher des sujets similaires à "trier tableau retirant certaines lignes doublons"