Sub triTableau()
Dim Plage As Range, Plage2 As Range, nom, ligne&, t!
Application.ScreenUpdating = False
Set Plage = Sheets("Elèves-VMA").Range("B4:L40")
Set Plage2 = Sheets("Elèves-VMA").Range("B44:L80")
ligne = 1
colonne = 1
For i = 2 To Plage.Columns.Count + 1
With Sheets("Elèves-VMA")
nom = Sheets("Elèves-VMA").Range(.Cells(4, i), .Cells(40, i)).Value
End With
Dim Tablo()
ReDim Tablo(1 To Plage.Rows.Count)
For j = 1 To Plage.Rows.Count
If Len(nom(j, 1)) > 0 Then Tablo(ligne) = nom(j, 1): ligne = ligne + 1: Nb = Nb + 1
Next j
For k = 1 To Nb
For l = k To Nb
If LCase(Tablo(l)) < LCase(Tablo(k)) Then
temp = Tablo(l)
Tablo(l) = Tablo(k)
Tablo(k) = temp
End If
Next l
Next k
With Sheets("nombre - VMA")
.Range(.Cells(29, i - 1), .Cells(65, i - 1)) = Application.Transpose(Tablo)
End With
ligne = 1
Nb = 0
Next i
For i = 2 To Plage.Columns.Count + 1
With Sheets("Elèves-VMA")
nom = Sheets("Elèves-VMA").Range(.Cells(44, i), .Cells(80, i)).Value
End With
ReDim Tablo(1 To Plage.Rows.Count)
For j = 1 To Plage.Rows.Count
If Len(nom(j, 1)) > 0 Then Tablo(ligne) = nom(j, 1): ligne = ligne + 1: Nb = Nb + 1
Next j
For k = 1 To Nb
For l = k To Nb
If LCase(Tablo(l)) < LCase(Tablo(k)) Then
temp = Tablo(l)
Tablo(l) = Tablo(k)
Tablo(k) = temp
End If
Next l
Next k
With Sheets("nombre - VMA")
.Range(.Cells(68, i - 1), .Cells(104, i - 1)) = Application.Transpose(Tablo)
End With
ligne = 1
Nb = 0
Next i
Application.ScreenUpdating = True
End Sub