Sub Transposition()
Dim T, C%, L%, i
T = [DATA_VILLES] ' tableau ville en array
Sheets("Feuil3").Select
Cells.Clear ' Effacement feuille
Application.ScreenUpdating = False
C = 0
CodPost = ""
For i = 1 To UBound(T) ' Pour tous les codes
If T(i, 1) <> CodPost Then ' Si le code a changé
C = C + 1: L = 2 ' Colonne suivante, ligne=2
CodPost = T(i, 1) ' Re init CodPost
Cells(1, C) = Format(CodPost, "00000") ' Init code en ligne 1
End If
Cells(L, C) = T(i, 2) ' Copie ville
L = L + 1 ' Ligne suivante
Next i
For C = 1 To Cells(1, Columns.Count).End(xlToLeft).Column ' Pour toutes les colonnes
ActiveSheet.Columns(C).RemoveDuplicates Columns:=1, Header:=xlYes ' Suppression doublons
Range(Cells(1, C), Cells(1000, C)).Resize(1000).Sort key1:=Cells(1, C), order1:=xlAscending, Header:=xlYes ' Tri alpha
Next C
With Rows("1:1") ' Ligne 1
.HorizontalAlignment = xlCenter ' Centrage H
.VerticalAlignment = xlBottom ' Centrage V
.Font.Bold = True ' Gras police 12
.Font.Size = 12
End With
[A:IJA].Columns.AutoFit ' Largeur auto des colonnes
End Sub