Itérations sous Excel

  • Initiateur de la discussion Initiateur de la discussion neoloveyou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

neoloveyou

Guest
Bonsoir a vous tous!!!
Je voudrais réalisé un calcul Itérative avec des formules scientifique (si c'est possible biensure), mais j'avoue que j'arrive même pas a commencé.
en bref ci-joint ce que je veut calculé!!!
pourriez vous m'aider?!
merci d'avance.
 

Pièces jointes

Re : Itérations sous Excel

salut,

en tapant les formule je trouve pas pareil que toi pe etre je les ai mal taper
mais voila en gros a quoi ca ressemble :


Code:
Sub cartman()
i = 7
Dim RE, E, D As Double

E = Cells(7, 2)
RE = Cells(8, 2)
D = Cells(9, 2)

F1 = 0.316 * RE ^ (-0.25)
F2 = 1 / (2 * Log((2.51 / (RE * F1 ^ (1 / 2))) + (E / (3.71 * D)))) ^ 2
Cells(5, 10) = F1
Cells(6, 10) = F2

Do While (F1 - F2) > 0.001
    F1 = F2
    F2 = 1 / (2 * Log((2.51 / (RE * F1 ^ (1 / 2))) + (E / (3.71 * D)))) ^ 2
    Cells(i, 10) = F2
    i = i + 1
Loop
End Sub


tu peux rajouter la condition d arret dans les variable la j ai mis 0.001 mais je sais pas si ca va !
 

Pièces jointes

Dernière édition:
Re : Itérations sous Excel

Merci bcp suistrop pour ton aide, je pense que ta écrit une solution qui me convient parfaitement, je v juste vérifier les formules alors.

Si non, peut on l'écrire sans VBA ?!
 
Re : Itérations sous Excel

Bonsoir neoloveyou, suistrop,

Par formule, c'est la même chose dans le genre : =1/(2*LOG((2,51/(6510*0,03518^1/2)+(0,05/(3,71*15))))^2)

Remplacer les valeurs par les cellules les contenant.

Mais c'est plus simple en macro. Par formule, l'itération ou la pseudo itération, ici, peut arriver à terme au bout de 3, 5 ou 10 valeurs. Donc il faut tirer la valeur vers le bas de 3, 5 ou 10 cellules.

Ceci dit, en formules je ne suis pas, non plus, d'accord avec tes valeurs, comme suistrop, mais pas non plus d'accord avec lui.

Je vois cela demain maintenant.

Bonne nuit.

Jean-Pierre
 
Re : Itérations sous Excel

Merci Jean-Pierre pour ta contribution.
Effectivement, en macros c'est plus simple.
Pour les valeurs il faut juste remplacé le "LOG" par le "LOG10"(logarithme en base 10 ) tel que :=1/(2*LOG10((2,51/(6510*(0,03518^0,5))+(0,05/(3,71*15)))))^2 , mais j'arrive pas a le faire sur VBA, l'éditeur VBA ne reconnais pas "LOG10".
je sais pas pourquoi?!
 
Dernière modification par un modérateur:
Re : Itérations sous Excel

Bonjour,

Voilà une ligne de code qui te donne la valeur de LOG10 de 5 par exemple :

Code:
ActiveCell.Value = WorksheetFunction.Log10(5)

Bonjour le Forum

Oui mais encore faut-il avoir défini la fonction perso LOG10 car VBA ne connait que la fonction LOG (log népérien)

donc il faut ajouter

Static Function Log10(X)
Log10 = Log(X) / Log(10#)
End Function

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Rechercher date
Réponses
5
Affichages
226
Réponses
5
Affichages
558
  • Question Question
Microsoft 365 Power Query
Réponses
8
Affichages
403
Retour