Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <Eric@discussions.microsoft.com> a écrit dans le message de news:
FB0EECDF-D69A-4F40-B963-2BC7AB685AD8@microsoft.com...
Bonjour,
Comment effectuer le tri d'une colone contenant des adresses ip ?
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
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
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" <Eric@discussions.microsoft.com> a écrit dans le message de news:
FB0EECDF-D69A-4F40-B963-2BC7AB685AD8@microsoft.com...
Bonjour,
Comment effectuer le tri d'une colone contenant des adresses ip ?
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 ?