Selectionner une cellule au hasard

Résolu
Pat à modeler -  
Pat à modeler Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
Salut,

J'aurais besoin d'un ptit coup de main pour une macro VB excel.

Je voudrais selectionner au hasard une plage de cellules -> 5 colonnes sur 1 ligne parmi la plage (A1:E100)
Il faudra aussi que cette macro puisse être relancée à chaque fois que je clique sur un bouton de mon userform.
Si quelqu'un a une solution, ca serait tip top.

Merci d'avance
A voir également:

4 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

tu peux mettre ce code en lien avec ton bouton :
Sub select5()
    Randomize
    Range("A" & Int(Rnd() * 100 + 1)).Resize(1, 5).Select
End Sub
eric
1
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
et bien défini d'abord le no de ligne dans une variable :
randomize
noquestion=Int(Rnd() * 100+ 1) 'génère un nombre entre 1 et 100
Range("A" & noquestion).Resize(1, 5).Select 'sélectionne la plage
1
Pat à modeler Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci bien !!! Ca roule comme ca, il me reste plus qu'a remplir mes 100 lignes maintenant :)

Bonne fin de week end
1
Pat à modeler
 
J'ai essayé dans un module, ça à l'air de marcher à tous les coups ! Mais, je voulais récupérer le numéro de la ligne dans une variable (integer, nombrequestion) pour pouvoir ensuite réutiliser cette donnée plus tard dans mon projet.
Et là, ça plante, ou plutôt je plante !

J'ai mis ça pour le moment, j'imagine que le beug vient de "nombrequestion = Rows" :

Sub question()

Randomize
Range("A" & Int(Rnd() * 100+ 1)).Resize(1, 5).Select
nombrequestion = Rows

userform.Question.Caption = Sheets("Base").Cells(nombrequestion, 1)
userform.rpse1.Caption = Sheets("Base").Cells(nombrequestion, 2)
userform.rpse2.Caption = Sheets("Base").Cells(nombrequestion, 3)
userform.rpse3.Caption = Sheets("Base").Cells(nombrequestion, 4)
userform.rpse4.Caption = Sheets("Base").Cells(nombrequestion, 5)

End Sub
0