Listbox sélections aléatoire multiples

stefan373

XLDnaute Occasionnel
Bonjour le forum,

Comme le dit mon titre, je voudrais sélectionner par exemple environs 10% du total général et les supprimer. :)
Le code du bouton permet une seule sélection, je ne trouve pas pour une sélection multiple, lorsque je met la listbox en sélection multiple, le code ne fonctionne pas. :(

Merci à vous.
A+ Stéfan.
 

Pièces jointes

  • listbox sélection aléatoire multiple .xls
    39 KB · Affichages: 50
  • listbox sélection aléatoire multiple .xls
    39 KB · Affichages: 50
  • listbox sélection aléatoire multiple .xls
    39 KB · Affichages: 48

stefan373

XLDnaute Occasionnel
Re : Listbox sélections aléatoire multiples

Bonjour Robert et le forum,

Tout à fait Robert, mais comme dit dans mon poste précédent,
Code:
lorsque je met la listbox en sélection multiple, le code ne fonctionne pas
:)
Je désirerais que cela se fasse automatiquement après un clic sur le bouton par rapport au total de la colonne F, ici +/-10 % de 36 euros. :)
Il faudra peut-être faire comme vous me suggérez, mais pour cela il faut d’abord modifier le code de la sélection multiple aléatoire.:)

Merci et a+ Stéfan.
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Listbox sélections aléatoire multiples

Bonjour Stefan, bonjour le forum,

Je désirerais que cela se fasse automatiquement après un clic sur le bouton par rapport au total de la colonne F, ici +/-10 % de 36 euros. :)

Tout à fait Stefan, mais comme je te disais dans le post #2 : Le code fonctionne chez moi...
Sinon, j'ai rien compris à la phrase au dessus...
 

stefan373

XLDnaute Occasionnel
Re : Listbox sélections aléatoire multiples

Bonjour Robert et le forum,

Ok et désolé si je me suis mal exprimé :cool:, chez moi, lorsque je met la propriété comme vous me le suggérez, le code du commandbutton1 ne fonctionne pas :eek: et dans la fonction Rand, il n'y a rien qui stipule la sélection de +/- 10%. :)

Je recommence, imaginons avec des autres données, je voudrais que lorsque je clic sur le commandbutton1, plusieurs lignes de la listbox soit sélectionnées, ici +/- 10% de 317,60 et que la somme de cette sélection figure dans le textbox1 +/- 10%, ainsi pouvoir soit continuer manuellement la sélection ou désélectionner et cela en vue de supprimer la sélection avec le commandbutton2. :)

J'espère avoir été plus clair cette fois ci. :p

A+ Stéfan
 

Pièces jointes

  • listbox sélection aléatoire multiple .xls
    46 KB · Affichages: 40
  • listbox sélection aléatoire multiple .xls
    46 KB · Affichages: 42
  • listbox sélection aléatoire multiple .xls
    46 KB · Affichages: 45

Robert

XLDnaute Barbatruc
Repose en paix
Re : Listbox sélections aléatoire multiples

Bonjour Stéfan, bonjour le forum,

J'espère avoir été plus clair cette fois ci. :p
Pour moi non...
je voudrais que lorsque je clic sur le commandbutton1, plusieurs lignes de la listbox soit sélectionnées, ici +/- 10% de 317,60 et que la somme de cette sélection figure dans le textbox1 +/- 10%, ainsi pouvoir soit continuer manuellement la sélection ou désélectionner et cela en vue de supprimer la sélection avec le commandbutton2
Lesquelles ? De manière aléatoire ? Franchement je ne comprends rien...
 

stefan373

XLDnaute Occasionnel
Re : Listbox sélections aléatoire multiples

Bonjour Robert et le forum,

Désolé si mes explications ne sont pas clairs. :eek:
La réponse à votre question est oui, je voudrais une sélection aléatoire multiple car pour arriver au fameux pourcentage, une ligne sélectionnée ne suffit pas, d'ou la fonction Rand (random) qu'il faut à mon avis modifier car actuellement elle ne sélectionne qu'une seul ligne de la listbox. :)

A+ Stéfan
 

laetitia90

XLDnaute Barbatruc
Re : Listbox sélections aléatoire multiples

bonjour stefan373 ,robert:)

une approche basique brute a optimiser
il faut utiliser des do loop inbriquees pour arriver a un resultat
dans l'exemple j'arrete la boucle seulement si egal & superieur
il faut traiter les +- 10%

ATTENTION au boucle sans fin.... mais plus le temps d'approfondir

Code:
Private Sub CommandButton2_Click()
 Dim Mini As Byte, Maxi As Long, i As Long
 For i = 0 To ListBox1.ListCount - 1
  ListBox1.Selected(i) = 0
 Next i
 Do Until TextBox1 >= CDbl(TextBox2.Value / 10)
 Mini = 0
 Maxi = ListBox1.ListCount - 1
 Randomize
 ListBox1.Selected(Int((Maxi - Mini + 1) * Rnd + Mini)) = True
 Loop
 If CDbl(TextBox2) / CDbl(TextBox1) < 9.5 Then CommandButton2_Click
 End Sub
bien sur mettre la listbox en selectmulti pas le dernier
 
Dernière édition:

stefan373

XLDnaute Occasionnel
Re : Listbox sélections aléatoire multiples

Re,

Comme toujours, Laetitia90 efficacité garantie. :)
Robert merci de votre patience, j'espère que maintenant vous avez compris ce que je désirais obtenir :) et désolé pour les explications que je pensais claires. Preuve qu'il n'est pas toujours facile de se faire comprendre par d'autres pour certains membres. :p

J'ai du apporter une petite modification au code pour que cela fonctionne, car la valeur de départ de la textbox1 étant "" cela plantait, donc j'ai rajouter au début du code,
Code:
Textbox1.value = 0

Un grand merci à vous deux. :)

A+ Stéfan
 

Discussions similaires

Réponses
8
Affichages
372
Réponses
6
Affichages
757

Statistiques des forums

Discussions
312 488
Messages
2 088 859
Membres
103 978
dernier inscrit
bderradji