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]