XL 2019 Créer autant de textbox qu'il y a de lignes selectionnées dans une listview

SPGoder

XLDnaute Occasionnel
Bonjour
Je souhaite sur une autre page du multipage, récupérer dans autant de textbox, la première colonnes des ligne sélectionnées dans le listview présent sur la premiere page du multipage
Et si possible que ces textbox soient alignés les uns sous les autres
Le but est d'effectuer des calculs avec des données sur une autre feuille en fonction du contenu récupérer dans les textbox
Je joins le fichier avec les données et le usf chargeant le listview. ensuite, je ne sais absolument pas comment faire.
Merci de votre aide
 

Pièces jointes

  • Test listview.xlsm
    133 KB · Affichages: 33

SPGoder

XLDnaute Occasionnel
Trop simple.... surtout trop fort. Ca fait exactement ce que je veux
Toi en 1 mn et moi en .... ?
Je vais l'adapté à mon fichier.
Par contre, comment je fais pour récupérer sur la 2ième listbox que la sélection des 2 premières colonnes du premier listbox
Ensuite, je pourrai rajouter des colonnes dans listbox2 pour mettre le résultat des calculs?
 

patricktoulon

XLDnaute Barbatruc
Trop simple.... surtout trop fort. Ca fait exactement ce que je veux
Toi en 1 mn et moi en .... ?
Je vais l'adapté à mon fichier.
Par contre, comment je fais pour récupérer sur la 2ième listbox que la sélection des 2 premières colonnes du premier listbox
Ensuite, je pourrai rajouter des colonnes dans listbox2 pour mettre le résultat des calculs?

ben là encore c'est simple tu vide les colonnes l'ors du selected(i)=true
c'est pas compliqué
tu n'a que les 2 premières données colonnes mais tu a toujours les autres colonnes dispo pour y inscrire ce que tu veux après
pour ça on modifie légèrement la change de listbox1

VB:
Private Sub ListBox1_Change()
    Dim Lst2, i&, c
    Set Lst2 = ListBox2
    With ListBox1
        Lst2.Clear
        Lst2.List = .List
        For i = .ListCount - 1 To 0 Step -1
            If .Selected(i) = False Then
                Lst2.RemoveItem (i)
            Else
                Lst2.Selected(i) = True
                For c = 2 To Lst2.ColumnCount - 1: Lst2.List(i, c) = "": Next
            End If
        Next
    End With
End Sub

;)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour,

Oui les ListBox sont bien plus stables que les ListView, surtout intégrées dans du MultiPage. Ils font partie du même ensemble de bibliothèque aussi (FM20.DLL) et fonctionnent parfaitement ensemble.

Les ListView doivent être :
  1. évitées tant que possible (problèmes de portabilité du XLSM selon les configs où il peut manquer l'OCX et rendre le programme inutilisable)
  2. utilsées qu'à bon essient, lorsque l'on en a vraiment besoin pour des raisons techniques, mais toujours essayer avec ListBox avant si on ne peut pas se tirer d'affaire.

Bien à vous
@+Thierry
 

patricktoulon

XLDnaute Barbatruc
et vraiment parce que c'est vendredi et que j'ai envie de m'amuser
je t'offre un visuel avec séparateur de colonnes :D :p ;)
demo6.gif


CA y est le toulonnais déraille ;peut pas rester concentré 5 minutes le bourricot;):D:p:cool:
 

Pièces jointes

  • listbox to listbox .xlsm
    15.8 KB · Affichages: 12

SPGoder

XLDnaute Occasionnel
Merci à vous du temps pris pour m'aider et aussi de m'expliquer
Ça à l'aire de faire tout ce que j'ai besoin
Et maintenant, je mettrait les listview de coté au maximum
Je teste ça des que j'ai 5mn, car automne = jardin à préparer pour l'hiver, et madame rigole pas ... ;)
 

SPGoder

XLDnaute Occasionnel
Après négociation, j'ai trouvé 5 mn
J'ai tester en l'adaptant dans mon code
J'ai du faire quelque chose de mauvais car je n'ai plus la suppression des ligne dans le listbox2
Et pour les tracés des colonnes, ça tombe n'importe où.
Et je n'arrive pas trop à comprendre le code qui lui est associé,
 

Pièces jointes

  • Test listview.xlsm
    121 KB · Affichages: 10

patricktoulon

XLDnaute Barbatruc
et oui la bonne blague
tu est sur la feuille init!!!!!!!!!!!!!!!!!!!!!!!
tu lance accueil
et dans ta combo1 change tu met
For j = 2 To WsBaux.Range("A65536").End(xlUp).Row
If Cells(j, 16) = TextBox16.Value Then

d’après toi de quelle feuille cells(j,16) est interrogée?????????????
il y en a une floppée d'erreur comme ça
je regarde et corrige par ci par là
mèkèkecésefoutoir!!!!! :eek: :oops:
 

SPGoder

XLDnaute Occasionnel
Un grand merci, cela fonctionne à merveille.
Juste que si je n'ai qu'un immeuble (une seule ligne dans la feuille immeuble),l'initialisation du combobox1 choix de l'immeuble plante
VB:
With WsImmeuble: ComboBox1.List = .Range("B2:B" & .Cells(Rows.Count, "B").End(xlUp).Row).Value: End With
des que je saisi une deuxième ligne, c'est bon
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35