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 -
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 ?
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
- Aller à la ligne dans une cellule excel - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Bloquer une cellule excel - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - 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