Selectionner une cellule au hasard

Résolu
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
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Contributeur
    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. Contributeur
      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. Merci bien !!! Ca roule comme ca, il me reste plus qu'a remplir mes 100 lignes maintenant :)

        Bonne fin de week end
        1. 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