Une condition dans fichier excel

blalaa Messages postés 167 Date d'inscription   Statut Membre Dernière intervention   -  
blalaa Messages postés 167 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


est il possible de calculer une fonction avec des condition dans le fichier excel

exemple
c un code que j'ai crée dans vba, maintenant je veux excueter ce code mais dans le fichier excel




If re1 <= 2300 Then
TextBox_regime.Value = "laminaire"
k1 = 64 / re1



End If

If re1 >= 2300 Then
TextBox_regime.Value = "Turbulent lisse"
Dim r1 As Currency
k1 = 0
r1 = 0
'--------------------------

'--------------------------
While r1 <= 1
k1 = k1 + 0.0001
r1 = (2 * ((Log(re1 * Sqr(k1))) / Log(10)) - 0.8) * Sqr(k1)

Wend

End If

If re1 >= 100000 Then

TextBox_regime.Value = "turbulent rugueux"

k1 = 0
r1 = 0
'--------------------------
psi = TextBox_rugosite.Value

'--------------------------
While r1 <= 1
k1 = k1 + 0.0001
r1 = (-2 * (Log((psi / (3.7 * d1)) + (2.52 / (Sqr(k1) * re1)))) / (Log(10))) * Sqr(k1)

Wend

exemple:

re1 = range ("A1")

comment juste dans la feuil excel on peut calculer la valeur de K1 sans passer par vba ?
et surtout est ce que ce genre de conditions est faisable dans lexcel ( sans vba )
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
bonjour,
Ta question n'est pas très claire.....

Je pense que ce que tu demande c'est comment utiliser un code VBA comme une formule ?
Dans ce cas il suffit d'écrire des FUNCTION au lieu de SUB

Par exemple
 Function test(re1 As Range)
    Dim k1
    Dim r1 As Currency
    
    If re1.Value >= 100000 Then
        TextBox_regime.Value = "turbulent rugueux"
        
        k1 = 0
        r1 = 0
        '--------------------------
        psi = TextBox_rugosite.Value
        '--------------------------
        While r1 <= 1
            k1 = k1 + 0.0001
            r1 = (-2 * (Log((psi / (3.7 * d1)) + (2.52 / (Sqr(k1) * re1)))) / (Log(10))) * Sqr(k1)
        Wend
        
    ElseIf re1.Value >= 2300 Then
        If re1 >= 2300 Then
        TextBox_regime.Value = "Turbulent lisse"
        
        k1 = 0
        r1 = 0
        '--------------------------
        
        '--------------------------
        While r1 <= 1
            k1 = k1 + 0.0001
            r1 = (2 * ((Log(re1 * Sqr(k1))) / Log(10)) - 0.8) * Sqr(k1)
        Wend
        
    Else
        'if re1 <= 2300 then
        TextBox_regime.Value = "laminaire"
        r1 = 64 / re1
    End If
    
    'retourne le resultat
    test = r1
End Function



NB: Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


0
blalaa Messages postés 167 Date d'inscription   Statut Membre Dernière intervention  
 
re

au fait ce que je cherche ce que ce code je l'ai crée dans vba avec toutes ces conditionts,
est ce que dans l'excel je peux faire cette condition pour calculer K1 ? sans passer par vba

ca veut dire j'ouvre ma feuille excel et j'applique ce code mais je ne sais pas comment
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu utilises le code que je t'ai donné.
Puis dans une cellule de ton classeur tu ecris
=test(A1)
0
blalaa Messages postés 167 Date d'inscription   Statut Membre Dernière intervention  
 
ah ok merci
0
blalaa Messages postés 167 Date d'inscription   Statut Membre Dernière intervention  
 
jai une question pour quoi =test (A1) ?
0
blalaa Messages postés 167 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai une autre question Si cest possible
j'ai cree userform (c est une application de calcul )
le principe c de introduire des donnees dans cette applications textbox , combox , et quand je clique sur valider l'application va faire le calcul, elle va l'affiche sur l'application mai aussi sur un tableau excel que j'ai specifie

ma question est plutot comment les valeur qui seront plcacéé dans le fichier excel ( c les valeurs quon va introduire dans lapplication ) ne seront pas changée manullement

ca veut dire pour changer la valeur il faut que je passe par l'application
merci
0