VBA Excel selection d'une cellule au hasard

Résolu
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. 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. un seul mot "génial"

      merci beaucoup
      Alex
    2. 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