IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Mise en place d'un tri


Sujet :

Excel

  1. #1
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut Mise en place d'un tri
    Bonjour la Communauté,

    Je possède une liste d'article dont les références commencent par LP.
    Lorsque je demande un tri sur le nom de l'article, il apparait la liste suivante:

    LP10
    LP100
    LP1000
    LP11
    LP12
    etc...

    alors que je voudrais qu'il apparaisse :

    LP10
    LP11
    LP12
    LP100
    LP1000
    etc...


    Comment faire pour "harmoniser" mon tri.

    Merci et bonne journée

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    660
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 660
    Points : 782
    Points
    782
    Par défaut
    Bonjour,

    En direct, je ne vois pas comment faire, mais ...

    Les données en colonne A
    En colonne B la formule : =SUBSTITUE(A1;"LP";"")*1
    Sélectionner les colonnes A et B
    Trier sur la colonne B

  3. #3
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut
    Merci pour ta prompte réponse. Cela me convient bien
    Bon we

  4. #4
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut
    J'ai une autre précision à ajouter.
    Lorsque ma série de référence possède une lettre à la fin de la ref, ta formule de calcul ne fonctionne pas. Cette lettre à la fin je voudrais la conserver.

    J'ai essayé de modifier mais cela ne donne rien, j'ai une "VALEUR#".
    Désolé d'être aussi pointilleux.

    Bon we

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    660
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 660
    Points : 782
    Points
    782
    Par défaut
    Re,

    Pas de problème, mais pour être sur d'être juste, pourrais-tu me donner une petite liste qui reprend tous les cas de figure ?

    Par exemple :
    - est-ce toujours LP au début, pas d'autres lettres, toujours deux lettres.
    - est-ce parfois une lettre à la fin et jamais deux.
    - le nombre de chiffres n'a pas d'importance.
    - faut-il également trier sur cette dernière lettre, par exemple LP317C avant LP317T

    J'ai bien une formule matricielle qui extrait un nombre d'une chaîne de caractères, mais elle est assez complexe et je voudrais voir s'il n'y a pas moyen de faire plus simple.

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    tu peux utiliser une fonction personnalisée sur une colonne pour faire ton tri ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function GetVal(ByVal s As String) As Double
     
    ' personnalise ici, si tu veux enlever les négatifs et décimaux
    Const sOk As String = "0123456789.-"
    Dim i As Integer
    Dim sVal As String
     
    For i = 1 To Len(s)
        If InStr(sOk, Mid(s, i, 1)) Then
            sVal = sVal & Mid(s, i, 1)
        End If
    Next i
    GetVal = CDbl(sVal)
    End Function

  7. #7
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut
    Salut Ullan et Caféïne et merci pour vos réponses.

    Pour les formules avec calculs matriciels je ne suis pas prêt car je ne les ai jamais utilisés, donc je ne sais pas comment les incorporer dans une feuille de calcul. Mais je vais m'y mettre bientôt.

    Pour les répondre à tes questions Ullan :

    Non ce n'est pas tjs les memes lettres qui commence mes références, mais dans une famille OUI et chaque famille est dans un classeur différent.

    Pour les lettres à la fin, c'est variable, dans des familles j'en parfois une et quelquefois plusieurs.

    Enfin pour ta derniere question la réponse est OUI, il faut trier aussi sur la lettre finale.

    Lundi matin, des que je serai au bureau, je mettrai en ligne un classeur d'exemple.

    Sur ce bon we à tous

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    660
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 660
    Points : 782
    Points
    782
    Par défaut
    Bonjour,

    J'attends ton exemple, mais en attendant, pour te rassurer, la différence entre une formule dite "normale" et une matricielle est que cette dernière doit être validée par Ctrl+Maj+Entrée (tenir les touches clavier Ctrl et Maj enfoncées pendant qu'on tape sur Entrée), c'est tout.

  9. #9
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut
    Salut,

    Comme prévu je te prie de trouver ci-joint un exemple assez exhaustif de références que je dois trier.

    Dans la colonne A tu trouveras mes données brutes et dans la colonne A, les éléments triés tels que je voudrais qu'ils apparaissent.

    Merci pour ton aide et bonne journée

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    660
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 660
    Points : 782
    Points
    782
    Par défaut
    Bonjour,

    Je viens de regarder attentivement et assez longuement ton fichier.
    On est assez loin de la question de départ !
    - il y a plusieurs nombres dans des chaînes
    - il y a des nombres avec décimales
    - il y a des décimales qui ne sont pas des décimales
    - il y a des lettres entre les nombres

    Je ne vois pas de solution, si ce n'est de modifier les codes.
    Des lettres au début et à la fin avec un nombre au centre, sans décimale, ne pose pas grand problème.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    D'accord avec Ullan. A moins d'une solution miracle que je ne connais pas, je ne vois qu'une solution pour garder votre code et obtenir le tri comme vous le désirez :

    - découper votre code dans plusieurs colonnes temporaires, faire le tri sur ces colonnes puis les supprimer.

    Cela peut se faire manuellement ou avec VBA.

    Dans ce dernier cas vous pouvez même créer le code vous-même avec Outils, Macro, Nouvelle Macro.

    Vous effectuez l'opération manuellement une première fois et la macro sera créée.

  12. #12
    Membre habitué Avatar de solorac
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 140
    Points
    140
    Par défaut
    Je vous remercie tous les deux pour vos réponses.
    Je vais donc me lancer dans les macros.
    Bonne journée

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Il existe des possibilités de tri personnalisé intégrées à excel

    On procéde ainsi saisir les valeurs dans l’ordre dans des cellules adjacentes par exemple

    A ; b ; c ; ‘5 ;g ; ‘0 ;’2 ;’3 ;d

    Sélectionner cette liste
    Faire ensuite outils options listes personnelles importer
    Une nouvelle liste est crée à noter que les valeurs numériques sont écartées, c’est pourquoi les valeurs numériques seront précédées d’un ‘ à la saisie de la liste

    Quand on voudra utiliser cet ordre lors d’un tri on activera la case options de la commande trier et on choisira sa liste perso

    Les données alphanumériques suivront l’ordre de tri
    Par contre les données numériques seront classées avant selon leur grandeur

  14. #14
    Membre averti Avatar de Tdeny
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 287
    Points : 311
    Points
    311
    Par défaut
    Tes données dans avant-tri sont triées et dans après-tri, non... ?

    Sans quoi, je te joins ici ton fichier modifié.
    Demande le tri sur les colonnes C, E et F (Debut, Tri0, Tri1)

Discussions similaires

  1. [LibreOffice][Tableur] Mise en place d'un tri automatique par date de naissance
    Par Fred64680 dans le forum OpenOffice & LibreOffice
    Réponses: 3
    Dernier message: 14/09/2014, 09h55
  2. Mise en place d'un tri selectif
    Par solorac dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 24/05/2008, 09h20
  3. [C#] Mise en place d'un site multilingue
    Par regbegpower dans le forum ASP.NET
    Réponses: 6
    Dernier message: 19/03/2004, 19h15
  4. mise en place serveur web intranet
    Par gui4593 dans le forum Installation
    Réponses: 7
    Dernier message: 01/01/2004, 18h18
  5. Mise en place d'index....??
    Par liv dans le forum Requêtes
    Réponses: 6
    Dernier message: 18/12/2003, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo