Trier un ListBox multicolonnes sans faire appel à un tableau Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
n
nemo1664
Jeune membre
Jeune membre
Messages : 45
Inscrit le : 24 avril 2017
Version d'Excel : 2016 FR

Message par nemo1664 » 4 mars 2018, 20:10

Merci Ceuzin,

je vais voir si c'est possible, parce que entre ListBox1 et ListBox2, on n'attaque plus les mêmes feuilles (c'est un gros projet avec des dizaines de colonnes, l'échantillon envoyé ne reflète pas du tout la réalité, mais le principe de fonctionnement est strictement le même).

J'aimerais aussi essayer le tableau provisoire sur la feuille RAPPORTS.

Bonne soirée
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'152
Appréciations reçues : 273
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 4 mars 2018, 21:12

Bonsoir,

je viens comme un cheveux sur la soupe...
Le bouton "init" fait disparaître et apparaître le USF... Perso je n'aime pas... :mrgreen:
Ci-joint une modification :
Copie de Tri-ListBox.xlsm
(34.26 Kio) Téléchargé 5 fois
C'est juste comme ça... ;;)

Pour le reste bravo à Theze et ceuzin (qui doit avoir un abonnement sur BJ.FREE.FR ;;) )

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
n
nemo1664
Jeune membre
Jeune membre
Messages : 45
Inscrit le : 24 avril 2017
Version d'Excel : 2016 FR

Message par nemo1664 » 4 mars 2018, 23:20

Bonsoir LouReeD et merci,

c'est beaucoup plus esthétique comme ça. Je vais l'utiliser pour les autres init aussi (je connaissait pas).

Un coup de main pour le tableau provisoire sur la feuille RAPPORTS ?

Dim cell As Range
With Worksheets("BASE").UsedRange
Set Ws = Worksheets("BASE")
Set c = .Find(ListBox1.List(ListBox1.ListIndex), LookIn:=xlValues, lookat:=xlWhole)
'With Sheets("RAPPORTS")
For Each cell In Sheets("BASE").Range("A2:L" & Ws.[A65000].End(xlUp).Row).Value
If cell.Value = c Then
.Range("A1:A1000").Value = Ws.Range("A2:A" & Ws.[A65000].End(xlUp).Row).Value
.Range("B1:B1000").Value = Ws.Range("B2:B" & Ws.[C65000].End(xlUp).Row).Value
.Range("C1:C1000").Value = Ws.Range("C2:C" & Ws.[P65000].End(xlUp).Row).Value
etc.
End If
Next cell
End With
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message