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

VB 6 et antérieur Discussion :

Classement en ordre alphabétique


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Classement en ordre alphabétique
    Bonjours,

    je travaille actuellement sur un projet où est affiché une liste de noms (Prénom et nom). Ces noms sont affichés dans une listbox.

    J'aurais besoin de classer ces noms en ordre alphabétique de nom de famille. Malheureusement, je n'y arrive pas.

    Est-ce que quelqu'un aurait une idée?

    Merci d'avance!

  2. #2
    Membre actif
    Inscrit en
    Janvier 2011
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 112
    Points : 209
    Points
    209
    Par défaut
    _ Ia ora na.
    _ L'idée de base est simple : transformer chaque ligne Prénom Nom en Nom Prénom puis placer la nouvelle ligne dans une seconde liste dont la propriété Sorted sera fixée (lors de la création dans l'interface graphique) à Vrai.
    _ Le plus difficile risque d'être le passage de Prénom Nom à Nom Prénom, qui peut réserver quelques surprises :
    Nadine de Rothschild >>> Rothschild Nadine (de)
    Charles de Gaulle >>> De Gaulle Charles
    Pierre Mendès France >>> Mendès France Pierre
    Jean-Marie Gustave Le Clézio >>> Le Clézio Jean-Marie Gustave
    _ Mais si, par chance, tout le monde s'appelle Juliette Gréco ou même Jean-Michel Jarre, un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Morceau() As String, NomPrénom As String
     
    Morceau() = Split(PrénomNom)
    NomPrénom = Morceau(1) & " " & Morceau(0)
    devrait faire l'affaire, pour peu que vous ayez défini PrénomNom comme variable de chaîne, et y ayez mis le contenu d'une ligne de votre première liste.
    _ Bon courage dans la poursuite de votre travail.

    Post-scriptum : ci-dessus, tout ce qui vient après _ Le plus difficile risque d'être... suppose que, dans votre liste, le prénom et le nom sont séparés par une espace <chr$(32)> ; s'ils étaient séparés par un caractère spécifique (tabulation, espace insécable, appelons-le Délimiteur), il suffirait de changer la ligne 3 du code précédent en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Morceau() = Split(PrénomNom, Délimiteur)
    _ A condition que Délimiteur soit déclaré et défini auparavant, il n'y aurait alors plus de problème que pour la particule nobiliaire (qui peut ne pas passer pour un aspect crucial de la programmation en VB6).

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2013
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Wow merci c'est parfait! :O

    Et je déduis que si je veux les voir apparaître dans l'ordre "Prénom Nom" il suffit, une fois les avoir classer, de les renvoyer ligne par ligne dans une autre liste en inversant les (Nom Prénom)??

    Merci encore!

  4. #4
    Membre actif
    Inscrit en
    Janvier 2011
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 112
    Points : 209
    Points
    209
    Par défaut
    _ Ia ora na.
    Citation Envoyé par Gamuelf Voir le message
    il suffit, une fois les avoir classer, de les renvoyer ligne par ligne dans une autre liste en inversant les (Nom Prénom)??
    _ Exactement, en veillant à ce que cette dernière liste, elle, ait gardé Sorted = Faux.
    _ Bonne continuation.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-EXcel] classement des noeuds d'une treeview dans l'ordre alphabétique
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/01/2017, 19h02
  2. Classement par ordre alphabétique
    Par loucinev dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 24/02/2015, 14h38
  3. [MySQL] Classement par ordre alphabétique et données de type SET
    Par JosephC dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/10/2014, 19h19
  4. Classement par ordre alphabétique ne fonctionne plus
    Par Alixam dans le forum Bibliographies - Index - Glossaires
    Réponses: 2
    Dernier message: 07/08/2012, 15h51
  5. Classement par ordre alphabétique
    Par crovette51101 dans le forum Access
    Réponses: 5
    Dernier message: 20/12/2006, 14h13

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