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

4 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  3. 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
  4. 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