Bonsoir à tous.
Donc en fait, le cas "5" doit inscrire de manière aléatoire 1 ou 3 (car 1 correspond à 1, 2 correspond à N, et 3 correspond à 2!)
Voilà de manière détournée: je prend la formule qui donne soit 1, soit 2, et dans le cas ou le résultat est 2, je le transforme en 3:
If Range("i1") = 5 Then
Range("a1").Value = Int((2 * Rnd) + 1)
If Range("A1")=2 then Range("A1")=3
end if
Moa, pour perfectionner, au lieu d'avoir à inscrire un chiffre de 1 à 7 en I1, I2,..., on pourrait faire, pour le cas ou on fait un choix non aléatoire, une macro liée au double click:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("E2:G14")) Is Nothing Then
Target.EntireRow.Range("I1") = ""
Target.EntireRow.Range("A1").Cells(0, 1) = Target.Column - 4
End If
End Sub
Ensuite, tu n'as plus que les cas aléatoire (de 4 à 7 dans ton exemple) à gérer.
Je pense qu'il faudrait trouver une interface plus conviviale pour que l'utilisateur choisisse le cas de 4 à 7, plutôt que d'avoir à se souvenir à quoi correspond le 4, 5, 6 ou 7. J'y réfléchis.
Bonne soirée, Laurent.