Résultat d'une fonction aléatoire dans une cellule

Résolu
S.Court -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans le cadre de mon stage de licence, je dois utiliser une formule qui choisit aléatoirement la valeur d'une cellule parmi une liste de mots. Voici la formule que j'utilise :

Public Sub Aléatoire()

Dim lngMinL As Long
Dim lngMaxL As Long
Dim lngMinC As Long
Dim lngMaxC As Long
Dim lngAleaC As Long
Dim lngAleaL As Long
Dim Answer As String

Sheets("Présence").Select
Range("B2:C2").Select

lngMinC = Selection.Columns(1).Column
lngMaxC = Selection.Columns.Count + lngMinC - 1
lngMinL = Selection.Rows(1).Row
lngMaxL = Selection.Rows.Count + lngMinL - 1

lngAleaL = (lngMaxL - lngMinL) * Rnd() + lngMinL
lngAleaC = (lngMaxC - lngMinC) * Rnd() + lngMinC

Cells(lngAleaL, lngAleaC).Activate

End Sub

La formule marche très bien mais le résultat s'affiche seulement dans la barre de formule ... Est il possible de faire apparaitre ce choix aléatoire dans une cellule ?

2 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    Essaies :
    Option Explicit
    Public Sub Aléatoire()
    Dim lngNbL As Long
    Dim lngNbC As Long
    Dim lngAleaC As Long
    Dim lngAleaL As Long
      Worksheets("Présence").Select
      With Range("B2:D4")
        lngNbC = .Columns.Count
        lngNbL = .Rows.Count
        lngAleaC = Int(lngNbC * Rnd()) + 1
        lngAleaL = Int(lngNbL * Rnd()) + 1
        Range("A1").Value = .Cells(lngAleaL, lngAleaC).Value
      End With
    End Sub
    1
  2. S.Court
     
    Merci beaucoup, c'est pile poil ce qu'il me fallait !
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      De rien, au plaisir de te relire sur le Forum

      Cordialement
      Patrice
      0