Combinaison aléatoire entre bornes avec condition

La Vouivre

XLDnaute Occasionnel
Bonjour amis Excelliens et amies Excelliennes
Je recherche à avoir une combinaison aléatoire sur un fichier, jusque-là j’ai trouve, mais ou ça devient complexe pour moi je voudrais que le second chiffre soit supérieur au premier.

Je m’explique, sur une première colonne j’ai une macro qui me donne un chiffre aléatoire, ce chiffre doit être entre 1 et 8,sur une seconde colonne la macro me donne un chiffre aléatoire ente 2 et 9 jusque-là ça marche, mais je voudrais que la seconde colonne soit supérieure à la première, par exemple avoir comme combinaison (1 ;2) (5 ;9) (3 ;9) mais pas (2 ;1) (9 ;5) et la je coince sérieux, comment faire pour avoir ce second chiffre supérieur au premier ?

Merci de votre aide
 

Pièces jointes

  • COMBIALEATOIRE.xls
    28 KB · Affichages: 148

nolich

XLDnaute Occasionnel
Re : Combinaison aléatoire entre bornes avec condition

Bonjour La Vouivre, bonjour à toutes et à tous :)

Je vais peut-être être dans la ZOP, mais peut-être pourras-tu t'inspirer de ces formules :confused:

@+
 

Pièces jointes

  • COMBIALEATOIRE(1).xls
    26 KB · Affichages: 120

EricD01

XLDnaute Junior
Re : Combinaison aléatoire entre bornes avec condition

Salut à toi..
Voila j'ai modifié ton fichier...dis moi si cela te convient et réponds à tes attentes...

Sur ce, bye bye et @ plus...
 

Pièces jointes

  • COMBIALEATOIRE_modifié.xls
    34.5 KB · Affichages: 121
Dernière édition:

La Vouivre

XLDnaute Occasionnel
Re : Combinaison aléatoire entre bornes avec condition

Merci beaucoup les amis c’est exactement ce que je cherchais.
ERIC01 peux-tu m’explique ton code, car moi j’ai fais une compil avec la formule de Nolich et mon code ce qui donne pour un même résultat
Mon nouveau code compile

Private Sub CommandButton1_Click()
'
' Bouton1_QuandClic Macro
'
Range("E9").Select
ActiveCell.FormulaR1C1 = "=ALEA.ENTRE.BORNES(1,8)"
Range("E9").Select
Selection.Copy
Range("E10:E23").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("G9").Select
ActiveCell.FormulaR1C1 = "=ALEA.ENTRE.BORNES(RC[-2]+1,9)"
Range("G9").Select
Selection.AutoFill Destination:=Range("G9:G23"), Type:=xlFillDefault
Range("G9:G23").Select
Range("F10").Select
End Sub



Et ton code

Private Sub CommandButton1_Click()
Dim num(2) As Integer

For K = 1 To 15
recommencer:
For x = 1 To 2
num(x) = Int(Rnd * 8) + 1
Next

If num(2) <= num(1) Then GoTo recommencer

Cells(K + 8, 5) = num(1)
Cells(K + 8, 7) = num(2)

Next

End Sub
 

ROGER2327

XLDnaute Barbatruc
Re : Combinaison aléatoire entre bornes avec condition

Bonjour à tous
Code:
Private Sub CommandButton1_Click()
'
'           22 Germinal CCXVII
'            ROGER2327 fecit.
'
Dim x As Single
    Application.ScreenUpdating = False
    Randomize
    With Range("E9")
        For i = 0 To 14
            x = 1 + Int(8 * Rnd())
            .Offset(i, 0).Value = x
            .Offset(i, 2).Value = 1 + x + Int((9 - x) * Rnd())
        Next i
    End With
    Application.ScreenUpdating = True
End Sub
Mais pourquoi faire simple si l'on peut faire compliqué ?

ROGER2327
 
Dernière édition:

La Vouivre

XLDnaute Occasionnel
Re : Combinaison aléatoire entre bornes avec condition

Bravo les amis vous êtes tous très fort
Je vois bien les amateurs de maths, je ne peux pas vous suivre dans la construction de code, vous êtes vraiment trop fort pour moi.
Merci à tous pour votre aide
Bon weekend
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 944
Membres
101 849
dernier inscrit
florentMIG