TRI TABLEAU

Résolu
Bonjour,
j'ai un soucis et j'aimerais que quelqu'un m'aide…
j'ai fait un code qui tri mon tableau qui comporte 6 colonnes, le code marche très bien dès que je saisi la 1er colonne le tri ce fait automatiquement,
Mais j'aimerais : tant que la cellule de la 4éme colonne n'est pas saisi le tri ne fonctionne pas et lorsque je saisi la 1er jusqu'à la 4éme colonne le tri ce fait automatiquement en 1er colonne.
J'ai préférer choisir cette formule pour que lorsque je crées une nouvelles feuille que je puisse utiliser le même code.
Merci
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If ActiveCell.ListObject Is Nothing Then Exit Sub
For s = 2 To Sheets.Count
For Each n In Sheets(s).ListObjects
Range(n).Sort key1:=Range(n & "[DATE]"), Header:=xlYes, Order1:=xlAscending
Next n
Next s
'NomTableau = "Client"
End Sub

3 réponses

  1. Bonjour,

    Tes explications ne correspondent pas au fonctionnement du code que tu présente !!!
    « j'ai fait un code qui tri mon tableau qui comporte 6 colonnes, le code marche très bien dès que je saisi la 1er colonne le tri ce fait automatiquement, »
    - mon c'est pour 1 tableau, pour plusieurs c'est mes : ton code trie tous les tableaux de toutes les feuilles sauf la première
    - c'est pas la 1ère mais n'importe quelle cellule du tableau.
    1. Bonjour,
      le classeur comporte 2 feuilles, la premier juste une base et la seconde le tableau en question qui dois être trier. Cette seconde feuille sera copier au besoin pour cela dans le code j'ai mis : For s = 2 To Sheets.Count
      bref, merci comme même pour votre retour mais j'ai trouver ce que je cherchais
      Private Sub Worksheet_Change(ByVal Target As Range)
      On Error Resume Next
      If ActiveCell.ListObject Is Nothing Then Exit Sub
      For s = 2 To Sheets.Count
      For Each n In Sheets(s).ListObjects
      If Target.Column = 4 Then
      Range(n & "[[DATE]:[MONTANT]]").Sort key1:=Range(n & "[DATE]"), Order1:=xlAscending, Header:=xlYes
      End If
      Next n
      Next s
      End Sub
      1. Si tu ne veux trier que le tableau de la feuille, le
        For s = 2 To Sheets.Count 
        . est inutile !

        Il est est de même pour le
        For Each n In Sheets(s).ListObjects
        . il suffit de travailler sur le tableau

        Lorsque tu dupliqueras la feuille la macro sera dupliquée. La copie agira sur le tableau de la nouvelle feuille !
      2. @Patrice33740mon poste étais de retrouver ces 2 terme dans mon code :
        If Target.Column = 4 Then
        Range(n & "[[DATE]:[MONTANT]]").Sort
    2. Oui c'est ce que je recherchais "Cette seconde feuille sera copier au besoin" pour un même travail