Tri listbox

Résolu
Bonjour,
j'ai un soucis avec une listbox
si vous cliquez sur "programme" l'userform s'ouvre et la listbox est remplie par les données en page "clients" que je trie ensuite avec le combobox sous cette liste.
si vous faites un gauche puis click droit le nom choisi se retrouve sur les listbox de droite la ça marche bien.
mon soucis si je fais un tri avec le combobox le tri s'effectue bien par contre si je fais clic gauche puis click droit les noms ne correspondent plus
comment faire le tri sans pedre les valeurs et récupérer les bonnes a droite?
je vous mets mon fichier exemple
https://www.cjoint.com/?BLfaTg70bNJ
merci de votre aide
a bientôt

3 réponses

  1. Contributeur
    Bonjour

    Extrait d'un tuto sur les listbox
    https://silkyroad.developpez.com/VBA/ListView/#LII-F

    tri sur la colonne sélectionnée
    Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
        ListView1.Sorted = False
        ListView1.SortKey = ColumnHeader.Index - 1
        
        If ListView1.SortOrder = lvwAscending Then
            ListView1.SortOrder = lvwDescending
            Else
            ListView1.SortOrder = lvwAscending
        End If
        
        ListView1.Sorted = True
    End Sub 

    0
    1. Bonjour,

      MIchel_m: les soucis de surplus seraient resolus avec une listview (quoique!!), mais il est revenu a utiliser une listbox.

      Surplus: https://www.cjoint.com/?BLfi2CJtr4d
      Fichier modifie pour Userform dem et en parti pour clien (a vous de faire le reste,idem dem). Votre programmation montre que vous avez du courage, mais il faudrait etre un peu plus pose. Je m'explique.
      Exemple: votre sub routine lifour pourrait etre beaucoup plus simple, je l'ai modifiee pour votre demande, mais il a fallu un peu de reflexion pour ne pas tout "bananer" et surtout ne pas tout reecrire.

      Bon courage
      0
      1. Contributeur
        Bonjour,
        Mal réveillé ce matin !... peut-être parce que je suis en train d'oeuvrer sur les listviews...
        0
      2. bonjour
        merci de votre aide j'ai regardé vite fait mais c'est bon tout fonctionne vous me dites de faire le reste ca a l'air fini.non?
        "Exemple: votre sub routine lifour " je vois pas de quel vous parlez?
        merci
        a bientot
        0
      3. Re,

        "Exemple: votre sub routine lifour " je vois pas de quel vous parlez? il faudrait simplifier ce module
        Pour l'Userform clien vous avez le meme probleme que votre demande pour dem (sauf si j'ai mal vu)

        A+
        0
      4. Re,
        apparement non l'userform client prends les valeurs inscrites dans les listbox de droite donc c'est correct
        je ferai un essai plus poussé ce soir
        bonne aprem
        a bientôt
        0
      5. re
        par contre je voudrais faire un publipostage avec world des données inscrites dans le listbox
        peut on les exporter a partir de l'userform tous les noms cas par cas
        cet a dire relance1 une liste relance2 une autre liste
        merci
        a bientot
        0
    2. Re,

      Ajoute memoire numero de ligne

      https://www.cjoint.com/?BLgiBbFJwvQ

      A+
      0
      1. j'ai regardé le plus facile reste world en fait je pense que la mise en place de la lettre est mieux
        je pense "ripper " vers 3 feuilles par exemple feuille nommée ,cond 1 ;cond2;cond3
        j'ai regardé l'export vers world j'ai deja regardé a partir d'une feuille excel ça va bien
        merci
        a bientôt
        0
      2. en fait je dois "ripper" le contenu du listbox avec condition 1 2 ou 3 a partir du listbox
        ou de la feuille clients?
        parce que la je vois pas
        a bientot
        0