Selectionner une cellule au hasard

Résolu
Pat à modeler -  
Pat à modeler Messages postés 1 Statut Membre -
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 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
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 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
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 Statut Membre 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