Determiner une limite en fonction d'un calcul

Bonjour à tous,

Révisant mon cours de VBA, je bute sur un exercice,

Nous devons déterminer la limite du nombre d'abonnées par rapport à une formule, en faisant le calcul à la main nous arrivons à 100 000.

J'arrive à afficher le résultat car j'ai calculé à la main, cependant quelle formule me permettrait de faire ce calcul. Idem pour les années comme les associés à un résultat sur le temps (boucle While ? ) ?

Voici l'exercice [im

capture

g][/img]

Je vous remercie d'avance pour votre aide et très bon week-end

Yann MASSON

Bonjour Yann.

En reprenant les questions dans l'ordre :

Sub limiteJ()
Dim j As Double, jn As Double, n%: j = 50000
n = -1
Do
    j = jn
    n = n + 1
    jn = 100000 - 50000 * 0.8 ^ n
Loop While j <> jn
n = 2012 + n
Debug.Print "Nombre d'abonnés limite: " & j & " atteint le: 1er Janvier " & n
End Sub

Sub an95()
Dim j As Double, jn As Double, n%: j = 50000
n = -1
Do
    j = jn
    n = n + 1
    jn = 100000 - 50000 * 0.8 ^ n
Loop While jn < 95000
n = 2012 + n
Debug.Print "Nombre d'abonnés limite: " & jn & " atteint le: 1er Janvier " & n
End Sub

Function limite(nJoueurs As Double)
Dim j As Double, jn As Double, n%: j = 50000
If nJoueurs < 50000 Then limite = "Limite minimale de 50000 joueurs": Exit Function
If nJoueurs > 100000 Then limite = "Limite maximale de 100000 joueurs": Exit Function
n = -1
Do
    j = jn
    n = n + 1
    jn = 100000 - 50000 * 0.8 ^ n
Loop While jn < nJoueurs
limite = 2012 + n
End Function

Merci beaucoup pour ton retour, Benoit !

Cela m'a beaucoup aidé à comprendre le fonctionnement du Loop While !

Très bonne journée

"

Bonjour Yann.

En reprenant les questions dans l'ordre :

Sub limiteJ()
Dim j As Double, jn As Double, n%: j = 50000
n = -1
Do
    j = jn
    n = n + 1
    jn = 100000 - 50000 * 0.8 ^ n
Loop While j <> jn
n = 2012 + n
Debug.Print "Nombre d'abonnés limite: " & j & " atteint le: 1er Janvier " & n
End Sub

Sub an95()
Dim j As Double, jn As Double, n%: j = 50000
n = -1
Do
    j = jn
    n = n + 1
    jn = 100000 - 50000 * 0.8 ^ n
Loop While jn < 95000
n = 2012 + n
Debug.Print "Nombre d'abonnés limite: " & jn & " atteint le: 1er Janvier " & n
End Sub

Function limite(nJoueurs As Double)
Dim j As Double, jn As Double, n%: j = 50000
If nJoueurs < 50000 Then limite = "Limite minimale de 50000 joueurs": Exit Function
If nJoueurs > 100000 Then limite = "Limite maximale de 100000 joueurs": Exit Function
n = -1
Do
    j = jn
    n = n + 1
    jn = 100000 - 50000 * 0.8 ^ n
Loop While jn < nJoueurs
limite = 2012 + n
End Function
Rechercher des sujets similaires à "determiner limite fonction calcul"