Résultat d'une fonction aléatoire dans une cellule
Résolu
S.Court
-
Patrice33740 Messages postés 8930 Statut Membre -
Patrice33740 Messages postés 8930 Statut Membre -
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 ?
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:
- Résultat d'une fonction aléatoire dans une cellule
- Fonction si et - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Aller à la ligne dans une cellule excel - Guide
- Bloquer une cellule excel - Guide
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule - Forum Excel
2 réponses
Bonjour,
Essaies :
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