XL 2021 Ordonner une liste d'adresses IP

oukthr

XLDnaute Nouveau
Bonjour, je veux trier par ordre croissant une liste d'adresses IP, mais le tri est chaotique, voici le fichier avec les données a trier, je suis ouvert a toutes les solutions.
 

Pièces jointes

  • Liste Adresses.xlsx
    12.8 KB · Affichages: 9
Solution
Bonjour oukthr, djidji59430, le forum,

Chaque adresse est constituée de 4 éléments.

Cette fonction VBA met chaque élément au format nombre 000 :

VB:
Function Aux(x As String) As String
Dim s, i%
s = Split(x, ".")
For i = 0 To 3
    s(i) = Format(s(i), "000")
Next
Aux = Join(s, ".")
End Function
Il suffit ensuite de trier le tableau sur la colonne B.

A+

job75

XLDnaute Barbatruc
Bonjour oukthr, djidji59430, le forum,

Chaque adresse est constituée de 4 éléments.

Cette fonction VBA met chaque élément au format nombre 000 :

VB:
Function Aux(x As String) As String
Dim s, i%
s = Split(x, ".")
For i = 0 To 3
    s(i) = Format(s(i), "000")
Next
Aux = Join(s, ".")
End Function
Il suffit ensuite de trier le tableau sur la colonne B.

A+
 

Pièces jointes

  • Liste Adresses.xlsm
    21.9 KB · Affichages: 7

job75

XLDnaute Barbatruc
Si l'on veut que le tri se fasse automatiquement placer cette macro dans le code de la feuille "Tri" :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Sheets("Feuil1").Columns(1).Copy [A1] 'copier-coller
With [A1].CurrentRegion
    .Columns(2) = "=Aux(A1)"
    .Columns(2) = .Columns(2).Value 'supprime les formules
    .Resize(, 2).Sort .Columns(2), xlAscending, Header:=xlYes 'tri
    .Columns(2).Clear 'RAZ
End With
End Sub
Elle se déclenche quand on active la feuille.
 

Pièces jointes

  • Liste Adresses(1).xlsm
    22.7 KB · Affichages: 5

Discussions similaires

Réponses
55
Affichages
3 K
Réponses
9
Affichages
255
Réponses
10
Affichages
617
Réponses
8
Affichages
159

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35