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

Résolu
S.Court -  
Patrice33740 Messages postés 8561 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 ?

A voir également:

2 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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
S.Court
 
Merci beaucoup, c'est pile poil ce qu'il me fallait !
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
De rien, au plaisir de te relire sur le Forum

Cordialement
Patrice
0