Re : Formulaire combobox multiple et somme de listview
Merci beaucoup pierre-olivier.
Ceci permet a mes utilisateurs de faire plusieurs tri possible.
Cela rajoute une frame (le faire avec les combos du dessus n'etait pas possible ?), mais en tout cas, ca reponds a ma demande.
Par contre, j'ai un autre soucis.
dans mon fichier, l'utilisateur rempli 2 textbox (la 5 et la 7) avec des infos sous forme de chiffre ou sous forme de texte.
C'est un prix, donc soit on le remplir sous forme "2.3", ce qui grace a ta fonction "remplace le "." en "," ecrit : 2,3.
Ou soit : En cours/ pas recu/relancer etc...
Le probleme, c'est que dans la feuille, cette info, qu'elle soit en chiffre ou en texte, est stockée sous format texte.
Or, je fais une formule a partir de cette colonne (c'est un prix, on calcule la marge etc...), et donc cette formule marche plus quand c'est du texte.
Alors, dans userform_initialize, j'ai bien mis :
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Data").Cells(i, 5), "# ##0.00")
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Data").Cells(i, 7), "# ##0.00")
Ce qui apparait dans ma textbox est donc bien dans ce format.
et dans le bouton de validation j'ai mis :
(par rapport a ton fichier j'ai juste changé la colonne dans laquelle la textbox ecrit sur la feuille)
Sheets("Data").Cells(Numlign, 24) = .ListItems(ItemSelect).ListSubItems(23)
Sheets("Data").Cells(Numlign, 26) = .ListItems(ItemSelect).ListSubItems(25)
au lieu des :
Sheets("Data").Cells(Numlign, 24) = UCase(.ListItems(ItemSelect).ListSubItems(23).Text)
Alors je pense que c'est la que ca coince.
J'ai tenté de mettre :
Sheets("Data").Cells(Numlign, 24) = Val(.ListItems(ItemSelect).ListSubItems(23))
et
Sheets("Data").Cells(Numlign, 26) = Val(.ListItems(ItemSelect).ListSubItems(25))
Mais dans ce cas la, ca stock bien en chiffre, mais mon "2,3" devient seulement "2".
Je perds mes decimales ! et quand je tape du texte, ca me mets un 0
J'ai donc du chiffre, mais pas tout, et pas de texte !
et j'en perds mon latin !!
il y a pas quelque chose a faire avec Dbl ?
que faire ? c'est dans cette partie du code qu'il faut faire la modif ?
''MiseEnForme
.ListItems(ItemSelect).Selected = False
For x = 2 To 11
Controls("TextBox" & x) = ""
Je comprends pas dans ton fichier tout s'ecrit automatiquement en nombre, qu'est ce que j'ai pu faire ?