Trier des nombres de 0 à 1500 et plus...

Niloula

XLDnaute Nouveau
Bonjour à tous !

Ma question peux paraitre simpliste mais je galère depuis un bout de temps. J'ai une colonne remplie de nombre de 0 à 1100... Tous sont précedés d'une lettre "S" et parfois suivis d'autres caractères :
ex - S01
S500
SU1005 Ok
etc...

Je cherche simplement à ce que mes nombres soient rangés de 1 à 1000... sans que les 100 et 1000 soient devant les 101 et ainsi de suite... et sans avoir à écrire des "S0001" !

Es-ce seulement possible ?

Merci d'avance pour votre aide !
 

Pièces jointes

  • Exemple nombre.xlsx
    9 KB · Affichages: 57
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Trier des nombres de 0 à 1500 et plus...

Bonjour,
voir PJ si ça te convient???
Amicalement

Edit : Salut Modeste GD :)
 

Pièces jointes

  • Niloula.xlsx
    11.7 KB · Affichages: 65
  • Niloula.xlsx
    11.7 KB · Affichages: 70
  • Niloula.xlsx
    11.7 KB · Affichages: 65
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Trier des nombres de 0 à 1500 et plus...

Bonsour®
J'ai joins un fichier dans la question !
Merci d'essayer de m'aider !

:cool:
une petite fonction personnalisée ???

VB:
Function NumSeul(target As String) As Double
'USAGE : =NumSeul(A1)
    Dim tampon As String, position As Double, Longueur As Integer, caractere As String
    Application.Volatile '- - - permet la ré-évaluation en cas de changement sur la feuille
    tampon = "0"             '- - - - -- -variable temporaire
    Longueur = Len(target) ' - -longueur de la chaine en entrée
    For position = 1 To Longueur ' - -boucle sur chaque caractère de la chaine en entrée
            caractere = Mid(target, position, 1) ' - caractère en cours d'évaluation
            tampon = tampon & IIf(IsNumeric(caractere), caractere, "") ' - évaluation si caractère numérique
    Next
    NumSeul = CDbl(tampon) ' - - variable numérique de sortie
End Function

il suffira alors de trier selon la colonne ou est inséré cette formule
 
Dernière édition:

Niloula

XLDnaute Nouveau
Re : Trier des nombres de 0 à 1500 et plus...

@Modeste geedee
Merci pour ta réponse, ce serait peut être l'idéal mais je n'y connais absolument rien en VBA ni en macro. Je ne sais même pas comment utiliser ton code et l'appliquer à ma colonne. Et pourtant je cherche depuis le début de la matiné !
 

Niloula

XLDnaute Nouveau
Re : Trier des nombres de 0 à 1500 et plus...

Bonsour®

:cool:
une petite fonction personnalisée ???

VB:
Function NumSeul(target As String) As Double
'USAGE : =NumSeul(A1)
    Dim tampon As String, position As Double, Longueur As Integer, caractere As String
    Application.Volatile '- - - permet la ré-évaluation en cas de changement sur la feuille
    tampon = "0"             '- - - - -- -variable temporaire
    Longueur = Len(target) ' - -longueur de la chaine en entrée
    For position = 1 To Longueur ' - -boucle sur chaque caractère de la chaine en entrée
            caractere = Mid(target, position, 1) ' - caractère en cours d'évaluation
            tampon = tampon & IIf(IsNumeric(caractere), caractere, "") ' - évaluation si caractère numérique
    Next
    NumSeul = CDbl(tampon) ' - - variable numérique de sortie
End Function

il suffira alors de trier selon la colonne ou est inséré cette formule


Ayé j'ai réussi à utiliser ton code même si pour l'appliquer à mes cellules c'est pas encore ça ! En fait il me supprime tout ce qui n'est pas un chiffre ! mais ce n'est pas ce que je cherche mais c'est de ma faute je me suis mal exprimée. Je souhaite que le tri ne prenne en compte que les nombres mais SANS me supprimer les lettres qui sont indispensables !
 

Niloula

XLDnaute Nouveau
Re : Trier des nombres de 0 à 1500 et plus...

2 maxi devant. Toujours un S, parfois SU et très rarement SM.
quand il y a des caractères après le nombre ( pas toujours), ce sera toujours ainsi : S1258 XXXX X
Soit ma/mes première lettres (S) suivit de 2 à 4 chiffres espace 4 lettres espace 1 lettre.
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Trier des nombres de 0 à 1500 et plus...

Bonsour®
Ayé j'ai réussi à utiliser ton code même si pour l'appliquer à mes cellules c'est pas encore ça ! En fait il me supprime tout ce qui n'est pas un chiffre ! mais ce n'est pas ce que je cherche mais c'est de ma faute je me suis mal exprimée. Je souhaite que le tri ne prenne en compte que les nombres mais SANS me supprimer les lettres qui sont indispensables !

il ne s'agit pas de remplacer ta colonne d'origine, mais de se servir de cette nouvelle colonne(D) comme clé de tri

à fin de préserver la présentation, la colonne D peut etre réduite ou même masquée aprés éxécution du tri.

Capture1.JPGCapture.JPG
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    43.6 KB · Affichages: 128
  • Capture.JPG
    Capture.JPG
    43.6 KB · Affichages: 136
  • Capture.JPG
    Capture.JPG
    43.6 KB · Affichages: 100
  • Capture.JPG
    Capture.JPG
    46.7 KB · Affichages: 101
  • Capture.JPG
    Capture.JPG
    46.7 KB · Affichages: 134
  • Capture1.JPG
    Capture1.JPG
    44.2 KB · Affichages: 94
  • Capture1.JPG
    Capture1.JPG
    44.2 KB · Affichages: 98
Dernière édition:

Renaud75015

XLDnaute Junior
Re : Trier des nombres de 0 à 1500 et plus...

donc ... j'utilise le format L1C1 sans recourir aux macros (pourquoi utiliser une bombe atomique pour écraser un moucheron ?) et ça donne :
=CTXT(DROITE(LC(-1);2)) pour une référence de type axx avec a alphabétique et xx numérique. Le plus simple est quand même de structurer avant ses saisies, de manière à ne pas se retrouver avec des formules alambiquées pour se sortir des problèmes qu'on s'est créé. Dans ton cas tu as affaire à pas moins de 8 possibilités ce qui fait une formule SI un peu ... complexe pour rester poli...
Et tu tries sur un ordre alphabétique.

Bon courage pour la suite
 

Renaud75015

XLDnaute Junior
Re : Trier des nombres de 0 à 1500 et plus...

J'ai rédigé vite. Voici le deuxième jet : Tu fais une colonne à droite de tes références et tu colles la formule =CTXT(DROITE(LC-1);x) où x représente le NOMBRE (espaces compris) de caractères alphabétiques. Tu obtiens donc des chiffres que tu peux trier comme bon te semble. Comme tes nombres varient de 1 à 1500, et que tes caractères varient de 1 à 2 avec ou sans espaces cela te fait 3*5=15 possibilités, difficiles à caser dans une seule cellule.

Je maintiens : vaut mieux penser quelques minutes avant de se jeter à corps perdu dans la saisie ; une fois que c'est saisi, traiter les conséquences de son improvisation est plus coûteux en temps que de réfléchir avant la saisie.

Bon courage pour la suite.
 

Niloula

XLDnaute Nouveau
Re : Trier des nombres de 0 à 1500 et plus...

J'ai rédigé vite. Voici le deuxième jet : Tu fais une colonne à droite de tes références et tu colles la formule =CTXT(DROITE(LC-1);x) où x représente le NOMBRE (espaces compris) de caractères alphabétiques. Tu obtiens donc des chiffres que tu peux trier comme bon te semble. Comme tes nombres varient de 1 à 1500, et que tes caractères varient de 1 à 2 avec ou sans espaces cela te fait 3*5=15 possibilités, difficiles à caser dans une seule cellule.

Je maintiens : vaut mieux penser quelques minutes avant de se jeter à corps perdu dans la saisie ; une fois que c'est saisi, traiter les conséquences de son improvisation est plus coûteux en temps que de réfléchir avant la saisie.

Bon courage pour la suite.

En fait la saisie était impérative comme ça. C'est le nom du fichier et je ne pouvais pas le changer !
 

Discussions similaires

Statistiques des forums

Discussions
312 400
Messages
2 088 086
Membres
103 710
dernier inscrit
amin Saadaoui