Une condition dans fichier excel

blalaa Messages postés 171 Statut Membre -  
blalaa Messages postés 171 Statut Membre -
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 )

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
    1. blalaa Messages postés 171 Statut Membre
       
      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
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Tu utilises le code que je t'ai donné.
      Puis dans une cellule de ton classeur tu ecris
      =test(A1)
      0
    3. blalaa Messages postés 171 Statut Membre
       
      ah ok merci
      0
    4. blalaa Messages postés 171 Statut Membre
       
      jai une question pour quoi =test (A1) ?
      0
    5. blalaa Messages postés 171 Statut Membre
       
      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