- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim i As Integer 'indice de parcours de toutes les valeurs du trie
- Dim temp As String '
- Dim cell As Variant
- Dim lettreCellule As String
- Dim lettreColone As String
- Dim nbColonesApres As Integer
- Dim nbColonesAvant As Integer
- Dim derCellule As String
- Dim premCellule As String
- '''''''''''''''''''''''''''''''''''''à modifier'''''''''''''''''''''''
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- 'cellule du début du trie
- cell = "D2"
- 'nombre de colone apres la cellule pour le tri
- nbColonesApres = 3
- 'nombre de colone avant la cellule pour le tri
- nbColonesAvant = 3
- '''''''''''''''''''''''''''''''fin modification'''''''''''''''''''''''''''''''
-
- 'colone où l'on effectue le trie
- lettreColone = Mid(cell, 1, 1)
-
- 'adresse de la cellule modifiée
- temp = ActiveCell.Address
-
- 'on récupere la lettre de la cellule modifiée
- lettreCellule = Mid(temp, 2, 1)
-
- 'on regarde si l'on a modifié une valeur
- 'de notre colone où on veut effectuer le tri.
- If lettreCellule = lettreColone Then
-
- 'on compte le nombre de cellules jusqu'à ce que l'on en trouve une vide
- Range(cell).Select
- i = 0
- While ActiveCell.Offset(i, 0).Text <> ""
- i = i + 1
- Wend
-
- 'on selection toute la zone
- premCellule = Range(cell).Offset(0, -nbColonesAvant).Address
- derCellule = Range(cell).Offset(i - 1, nbColonesApres).Address
- Range(premCellule & ":" & derCellule).Select
-
-
- 'on trie notre séléction
- Selection.Sort Key1:=Range(cell), Order1:=xlAscending, Header:=xlNo, _
- OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
-
-
- End If
- End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer 'indice de parcours de toutes les valeurs du trie
Dim temp As String '
Dim cell As Variant
Dim lettreCellule As String
Dim lettreColone As String
Dim nbColonesApres As Integer
Dim nbColonesAvant As Integer
Dim derCellule As String
Dim premCellule As String
'''''''''''''''''''''''''''''''''''''à modifier'''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'cellule du début du trie
cell = "D2"
'nombre de colone apres la cellule pour le tri
nbColonesApres = 3
'nombre de colone avant la cellule pour le tri
nbColonesAvant = 3
'''''''''''''''''''''''''''''''fin modification'''''''''''''''''''''''''''''''
'colone où l'on effectue le trie
lettreColone = Mid(cell, 1, 1)
'adresse de la cellule modifiée
temp = ActiveCell.Address
'on récupere la lettre de la cellule modifiée
lettreCellule = Mid(temp, 2, 1)
'on regarde si l'on a modifié une valeur
'de notre colone où on veut effectuer le tri.
If lettreCellule = lettreColone Then
'on compte le nombre de cellules jusqu'à ce que l'on en trouve une vide
Range(cell).Select
i = 0
While ActiveCell.Offset(i, 0).Text <> ""
i = i + 1
Wend
'on selection toute la zone
premCellule = Range(cell).Offset(0, -nbColonesAvant).Address
derCellule = Range(cell).Offset(i - 1, nbColonesApres).Address
Range(premCellule & ":" & derCellule).Select
'on trie notre séléction
Selection.Sort Key1:=Range(cell), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If
End Sub