Sélection de colonnes aléatiore en les cochants [Résolu]

Signaler
Messages postés
37
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
5 avril 2006
-
Messages postés
37
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
5 avril 2006
-
Bonjour,
Je recherche le moyen de sélectionner un groupe colonnes aléatoire en les cochant ,pour lancer des procédures dessus, elles ne sont pas constante en nombre, et on la première cellule de colonne qui change, seule la colonne A ne peux pas faire parti de la sélection.

8 réponses

Messages postés
37
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
5 avril 2006

resalut, je te remercie de ton aide, mais j'ai trouver mon bonheur en foullant un peu , mais j'ai un autre problème maintenant, comment fait on pour avoir une nombre de checkbox superieur à 5 et ne les afficher qu'à partir de la colonne B.
mon codes:
With Assistant.NewBalloon
.Heading = "Variables affichables"
.Text = "Sélectionner vos courbes"
'Totalcol = Range("B1", [B1].End(xlToRight)).Columns.Count
'For i = 2 To Totalcol + 1
i = ActiveSheet.UsedRange.Columns.Count
For i = i To 2 Step -1
nomcell = Cells(1, i)
.CheckBoxes(i).Text = nomcell
If i = 2 Then Exit For
Next
.Button = msoButtonSetOkCancel

If .Show = msoBalloonButtonOK Then
Valid = 0
For i = 2 To Totalcol + 1
If .CheckBoxes(i).Checked = True Then
Valid = Valid + 1 'rend valide différent de 0
End If
Next
If Valid = 0 Then MsgBox "Aucune sélection n'a été effectué"
End If
End With
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
258
Date d'inscription
jeudi 17 avril 2003
Statut
Membre
Dernière intervention
20 février 2008
1
dim n as integer, k as integer, a as integer, b as integer
dim t() as boolean

randomize timer

n = nb_de_colonnes
redim t(1 to n)
for k = 1 to n
t(k)=false
next k

a = int(n * rnd)
for k = 1 to a
do
b = 2 + int(n - 1) * rnd 'pour ne pas choisir la colonne A
loop until not t(b)

t(b) = true
next k

'et la tu as maintenant t() qui contient true si la colonne est choisie, false sinon.

A+.
Thomas.
Messages postés
37
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
5 avril 2006

j'ai pas trop bien compris ton code, je ne sais pas si je me suis bien exprimer en disant aléatoire,
Si tu veux les colonnes qui seront prise ne seront pas toujour les mêmes, j'aimerai enfet les sélectionner par l'intermédiaire d'une liste sur laquel on coche, genre un checkbox , mais je sais pas si cette dernière est possible dans une boucle
du genre :
Sub essss()
With Assistant
Assistant.Sounds = True
Assistant.Animation = msoAnimationGreeting
Assistant.On = True
End With
Dim Bln1 As Balloon
nbrcol = ActiveSheet.UsedRange.Columns.Count
Set Bln1 = Assistant.NewBalloon
With Bln1
.Animation = msoAnimationPrinting
.BalloonType = msoBalloonTypeBullets
.Button = msoButtonSetOkCancel
.Heading = "Statistiques"
.Icon = msoIconAlertCritical
For nbrcol = nbrcol To 2 Step -1
nomcell = Cells(1, nbrcol)
.CheckBoxes().Text = nomcell
Next nbrcol
.Mode = msoModeModal
.Show
End With
End Sub
Messages postés
258
Date d'inscription
jeudi 17 avril 2003
Statut
Membre
Dernière intervention
20 février 2008
1
dis mieux ce que tu veux avec tes colonnes stp
est ce qu'on sélectionne certaines colonnes et apres l'ordinateur choisit, parmi ces colonnes, certaines colonnes ?
Messages postés
37
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
5 avril 2006

Nous avons un fichier comptenant des colonnes, nombre: 1 et beaucoup, mais seule la colonne A ne fait pas parti de la sélection.
La sélection doit être manuel, les colonnes sont toutes répertoriées dans une box, on les coche puis on lance la procédure sur les colonnes sélectionnées
Messages postés
258
Date d'inscription
jeudi 17 avril 2003
Statut
Membre
Dernière intervention
20 février 2008
1
alors où intervient l'aléatoire ?
qu'est ce que tu cherches à faire exactement ?
explique toi plus clairement stp ("nombre: 1 et beaucoup") ...
Merci.
A+.
Thomas.
Messages postés
37
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
5 avril 2006

j'ai une base de données avec une colonne A qui sert de temps et les autres qui serve de donnée série pour un graphique.
j'aimerai pouvoir appliqué un sous programme, quand certaine d'entre elle sont sélectionner.
j'aurai pu faire un checkbox pour chaque données série mais le nombre de colonnes varie d'un fichier à un autre ainsi que leur noms(1er cellule de chaque colonnes).
j'ai l'impression que j'y arriverai jamais....

A L'AIDEEEEE!!!!!!
Messages postés
258
Date d'inscription
jeudi 17 avril 2003
Statut
Membre
Dernière intervention
20 février 2008
1
ca y est je crois que j'ai compris.
voila comment faire :
1ere solution :
une listbox avec la propriété Multiselect à Extended.

dans le code :
for k = 1 to n
list1.additem "colonne : " & cstr(k)
next k

l'utilisateur sélectionne alors toutes les colonnes qu'il veut dans la liste

tu récupères dans ton programme si une colonne est sélectionnée, ou non, de cette manière :

for k = 1 to n
if list1.selected(k - 1) then msgbox "la colonne numéro " & cstr(k) & " est sélectionnée"
next k

autre facon :
tu mets le Style de ta listbox à Checkbox et tu ajoute tes colonnes et récupère leur sélection de la meme maniere

j'espere avoir répondu a ta question cette fois !

A+.
Thomas.