TRI automatique lors de la saisie

Bonjour à tous,

Débutant dans l'écriture des macros, je souhaite trier automatiquement les tableaux Jours de l'onglet semaine 1 ( à terme il y aura 52 onglets).

Je souhaite que le tri se fasse sur les données saisies dans la colonne C.

Par la suite est il possible de "gerer" l'ordre des des données. Par exemple la catégorie C en première puis la VD ainsi de suite.

Merci par avance

Salut,

Voici un exemple de code qui tri selon l'ordre C - VD - PK - M - R :

Sub Tri()
    Dim i As Integer, j As Byte

    Application.ScreenUpdating = False

    For i = 2 To 67 Step 13
        For j = 1 To 10
            If Range("C" & i + j - 1) = "C" Then
                Range("Z" & i + j - 1) = 1
            ElseIf Range("C" & i + j - 1) = "VD" Then
                Range("Z" & i + j - 1) = 2
            ElseIf Range("C" & i + j - 1) = "PK" Then
                Range("Z" & i + j - 1) = 3
            ElseIf Range("C" & i + j - 1) = "M" Then
                Range("Z" & i + j - 1) = 4
            Else
                Range("Z" & i + j - 1) = 5
            End If
        Next j
        Range("B" & i & ":Z" & i + j - 1).Sort Key1:=Range("Z" & i), Order1:=xlAscending, Header:=xlNo
    Next i

    Range("Z:Z").ClearContents

End Sub

Cordialement.

Bonjour Popeye, Yvouille

Je me permets de mettre mon fichier, car ej n'ai pas compris la même chose

Mon code tri le tableau du jour sans lequel on se situe

@+

Bonjour à tous,
Et une autre proposition à découvrir.
Cdlt.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lo As ListObject, lCol As Long
    If Not Target.ListObject Is Nothing Then
        Set lo = Target.ListObject
        Application.AddCustomList listarray:=Worksheets("Listes").Range("T_LPDT").Columns(1)
        lCol = Target.Column - lo.HeaderRowRange.Column + 1
        If lCol = 2 Then
            With lo
                .Sort.SortFields.Add Key:=.ListColumns(lCol).DataBodyRange, _
                                    SortOn:=xlSortOnValues, _
                                    Order:=xlAscending, _
                                    CustomOrder:=Application.CustomListCount
                .Sort.Apply
                .Sort.SortFields.Clear
            End With
            Application.DeleteCustomList listnum:=Application.CustomListCount
        End If
    End If
End Sub

Un gros merci aux personnes qui m'ont apportée une réponse.

Bonjour,

Rechercher des sujets similaires à "tri automatique lors saisie"