Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

tri adresse ip excel

2 réponses
Avatar
Eric
Bonjour,

Comment effectuer le tri d'une colone contenant des adresses ip ?

Merci

2 réponses

Avatar
Daniel
Bonjour.
La macro suivante trie les adresses de la plage G1:G7; à modifier. Elle
utilise temporairement la colonne située à droite de celle des adresses IP.
Si celle-ci est utilisée, ajouter dans la macro une insertion temporaire de
colonne.

Sub TriIP()
Dim c As Range, Tablo
For Each c In Range("G1:G7")
Tablo = Split(c, ".")
For i = 0 To UBound(Tablo)
If Len(Tablo(i)) = 1 Then Tablo(i) = "00" & Tablo(i)
If Len(Tablo(i)) = 2 Then Tablo(i) = "0" & Tablo(i)
Next i
c.Offset(0, 1).Value = Join(Tablo, ".")
Next c
Range("G1:H7").Sort Key1:=Range("H1"), Order1:=xlAscending,
Header:=xlGuess
Range("H1:H7").ClearContents
End Sub

Cordialement.
Daniel
"Eric" a écrit dans le message de news:

Bonjour,

Comment effectuer le tri d'une colone contenant des adresses ip ?

Merci


Avatar
Eric
Oups, j'ai été un peu vite pour envoyer. Toutes mes excuses.

Sources :
"Il s'agit ici d'une formule Excel pour convertir une adresse IP en nombre
entier pour pouvoir ensuite fait un tri par ordre croissant ou décroissant.
.../... (J. Bonaldi)."

Voilà qui est corrigé.

Cordialement,
Eric

Rebonjour,

Solution alternative, peut etre moins rigide : transformer l'adresse ip en
nombre texte.
Formule à placer dans une colonne cachée.
adapter, évidemment, la cellule Z2
--------------------
=
(STXT(Z2;1;CHERCHE(".";Z2)-1)*2^24)+(STXT(Z2;CHERCHE(".";Z2)+1;CHERCHE(".";Z2;CHERCHE(".";Z2)+1)-CHERCHE(".";Z2)-1)*2^16)+(STXT(Z2;CHERCHE(".";Z2;CHERCHE(".";Z2;1)+1)+1;NBCAR(Z2)-CHERCHE(".";Z2;CHERCHE(".";Z2;CHERCHE(".";Z2;1)+1)+1)-(NBCAR(Z2)-CHERCHE(".";Z2;CHERCHE(".";Z2;CHERCHE(".";Z2;1)+1)+1)-(CHERCHE(".";Z2;CHERCHE(".";Z2;CHERCHE(".";Z2;1)+1)+1)-CHERCHE(".";Z2;CHERCHE(".";Z2;1)+1)-1)))*2^8)+(DROITE(Z2;NBCAR(Z2)-
CHERCHE(".";Z2;CHERCHE(".";Z2;CHERCHE(".";Z2;1)+1)+1) ))
---------------------------
Cordialement,
Eric



Bonjour.
La macro suivante trie les adresses de la plage G1:G7; à modifier. Elle
utilise temporairement la colonne située à droite de celle des adresses IP.
Si celle-ci est utilisée, ajouter dans la macro une insertion temporaire de
colonne.

Sub TriIP()
Dim c As Range, Tablo
For Each c In Range("G1:G7")
Tablo = Split(c, ".")
For i = 0 To UBound(Tablo)
If Len(Tablo(i)) = 1 Then Tablo(i) = "00" & Tablo(i)
If Len(Tablo(i)) = 2 Then Tablo(i) = "0" & Tablo(i)
Next i
c.Offset(0, 1).Value = Join(Tablo, ".")
Next c
Range("G1:H7").Sort Key1:=Range("H1"), Order1:=xlAscending,
Header:=xlGuess
Range("H1:H7").ClearContents
End Sub

Cordialement.
Daniel
"Eric" a écrit dans le message de news:

Bonjour,

Comment effectuer le tri d'une colone contenant des adresses ip ?

Merci