VBA Excel selection d'une cellule au hasard

Résolu
Alex0 Messages postés 1 Statut Membre -  
 S.Court -
Bonjour,

j'ai la sélection suivante :

Sheets("Display Grid").Select
Range("AO10:AO105").Select

à l'intérieur de laquelle je souhaite sélectionner une cellule au hasard à chaque exécution.

Merci pour votre aide.
Alex
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
     
    salut alex,

    ça devrait te convenir :
    Sub CelluleAuHasard()
        Dim lngMinL     As Long
        Dim lngMaxL     As Long
        Dim lngMinC     As Long
        Dim lngMaxC     As Long
        Dim lngAleaC    As Long
        Dim lngAleaL    As Long
        
        Sheets("Display Grid").Select
        Range("AO10:AP105").Select
        
        ' numéro de la première colonne
        lngMinC = Selection.Columns(1).Column
        ' numéro de la dernière colonne
        lngMaxC = Selection.Columns.Count + lngMinC - 1
        ' numéro de la première ligne
        lngMinL = Selection.Rows(1).Row
        ' numéro de la dernière ligne
        lngMaxL = Selection.Rows.Count + lngMinL - 1
        
        ' tirage aléatoire pour la ligne
        lngAleaL = (lngMaxL - lngMinL) * Rnd() + lngMinL
        ' tirage aléatoire pour la colonne
        lngAleaC = (lngMaxC - lngMinC) * Rnd() + lngMinC
        Debug.Print "lngMinC = " & lngMinC, "lngMaxC = " & lngMaxC, "lngMinL = " & lngMinL, "lngMaxL = " & lngMaxL, "lngAleaL = " & lngAleaL, "lngAleaC = " & lngAleaC
        
        Cells(lngAleaL, lngAleaC).Activate
    End Sub
    1
    1. Alex
       
      un seul mot "génial"

      merci beaucoup
      Alex
      0
    2. S.Court
       
      Excusez moi de relancer un sujet aussi vieux, mais j'ai absolument besoin d'un renseignement dans le cadre de ma licence !
      La formule est géniale mais est il possible d'afficher le résultat de cette fonction dans une cellule plutôt que dans la barre de formule ?

      Merci d'avance
      0