lutch a écrit :
Bonjour,



ce problème pouvant m'intéresser, dans un contexte non IP, j'ai essayé et la méthode suivante donne des résultats probants.

Format de nombre "Texte", formatage "@". Cela conserve la saisie "en l'état". Je n'ajoute pas l'apostrophe, qui est une catastrophe, de nombreux échanges sur cette liste l'ont amplement illustré…

Exemple succinct, avec quelques éléments ressemblant à des dates.
Brut
02.02.02.255:8080
12.55.32.240:135
01.01.01.240:8080
12.55.32.240:8080
02.02.02.255:8080
02.02.02.255:80
12.55.32.240:8080


Trié
01.01.01.240:8080
02.02.02.255:80
02.02.02.255:8080
02.02.02.255:8080
12.55.32.240:135
12.55.32.240:8080
12.55.32.240:8080


Le copier-coller emporte le format.

Est-ce que ça convient ?
Sauf que les éléments d'adresse IP peuvent contenir 3 chiffres décimaux. Donc il faut prévoir tous les nombres sur 3 chiffres. Et le problème se pose pour le port, où le nombre de chiffres est variable, donc le tri non fiable. L'exemple est mal choisi : faire le tri entre le port 80 et 8080 même en texte cela marche, mais pas si on doit classer 80 et 121 le tri en texte se trompe. En fait chaque élément de l'adresse est une information. Les regrouper en 1 seule case fait perdre de l'information. D'où ma proposition de séparer les éléments par colonne et de concaténer ensuite l'adresse. Pour insérer les données : copier, coller (spécial, texte non formaté), choisir comme séparateur de colonne "Autres" et renseigner ". :". OOo considère alors les 2 séparateurs et répartit bien les données dans différentes colonnes. Dans la colonne F "=CONCATENER(A1;".";B1;".";C1;".";D1;":";E1)" permet de retrouver l'écriture du départ. Le problème est cependant au niveau du tri qui ne comporte que 3 critères. On peut arriver à contourner le problème :
- faire un tri sur les 2 premières colonnes
- par le filtre automatique faire apparaitre uniquement la première valeur de la première colonne et de la deuxième colonne.
- trier sur les 3 colonnes restantes
- recommencer l'opération pour les autres valeurs de la 2e colonne, puis passer à la 2e valeur de la première colonne Cela risque de devenir vite très lourd si on ne peut l'automatiser avec une macro.

Autre solution : concaténer en forçant les éléments sur 3 chiffres (mais pas le port qui peut avoir un nombre de chiffres variable) "=CONCATENER(TEXTE(A2;"000");".";TEXTE(B2;"000");".";TEXTE(C2;"000");".";TEXTE(D2;"000"))"
Faire le tri sur cette adresse et sur le n° du port.

Cette dernière solution devrait convenir.

Laurent BP

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à