Re : Rem c'est delirant le VB
un peu de patience messieurs nous somme dimanche, et il n'y a pas que le VB dans la vie !
non il n'y a pas d'erreurs dans les indices puisque cela compile sur 2 lignes
quand je mets une ligne le compilateur me dit else sans if !
c'est etonnant qu'il n'y ait que moi qui ais rencontré ce pb
Combin(N,P) est une fonction qui avait la pretention de realiser
n!/(n-p)!*p!
la difficulté est qu'il faut ruser (un peu) sinon on ne peut aller tres loing dans les n
(les P dans mes besoins grandissent assez vite).
pour l'intant elle n'a pas l'air de fonctionner , mais je m'y remets demain
.(j'ais une semaine de vacance
voila ce que j'ais ecrit pour Combin
je suis d'accord c'est un peu lourd et pas tres élégant !
Function ComBin(ByVal N As Long, ByVal P As Long) As Long
Dim FirstProduct As Long
Dim SecondProduct As Long
Dim t As Long
Dim Number As Long
FirstProduct = 1
SecondProduct = 1
Rem ActiveCell.Formula = "=FACT(n)"
Number = 2 * N + P
Select Case Number
Case 0
ComBin = 1
Case 1
ComBin = 0
Case 2
ComBin = 1
Case 3
ComBin = 0
Case Else
Rem Debug.WriteLine("Not between 1 and 10, inclusive")
If (P < N) Then
If ((N - P) > P) Then
For t = N - P To N
FirstProduct = FirstProduct * t
Next t
For t = P To 1
SecondProduct = SecondProduct * t
Next t
Else
For t = P To N
FirstProduct = FirstProduct * t
Next t
For t = N - P To 1
SecondProduct = SecondProduct * t
Next t
End If
ComBin = FirstProduct / SecondProduct
Else
ComBin = 0
End If
End Select
End Function