Plusieurs conditions VBA

Résolu
Bonjour, je suis débutant en VBA mon problème c'est dans ce code;
If Me.pr.Value <= 50000 Then
Me.Texte58.Value = (Me.pr * 0.5) / 100 + 75
End If
If 50001 < Me.pr.Value < 150000 Then
Me.Texte58.Value = (Me.pr - 50000) * (0.75 / 100) + 325
End If
If 150001 < Me.pr.Value < 5000000 Then
Me.Texte58.Value = (Me.pr - 150000) * 1 / 100 + 1075
End If
If 5000001 < Me.pr.Value < 100000000 Then
Me.Texte58.Value = (Me.pr - 5000000) * (0.75 / 100) + 49575
End If
If Me.pr.Value > 100000001 Then
Me.Texte58.Value = (Me.pr - 100000000) * (0.5 / 100) + 762075
End If

J'arrive pas a comprendre pourquoi il ne marche pas, avec ces 5 condition par contre avec Deux il marche très bien, quelqu'un peut m'aider SVP

7 réponses

  1. Contributeur
    Behhh je comprend rien, mais avec la même approche,...
    Un Select Case et mettre tes conditions.
    A+
    0
    1. COMMENT JE PEUX LE FAIRE DANS UN RECQUETE ACCESS 2007
      0
      1. Contributeur
        Tu a compris ?
        0
        1. pardon, c'est le même principe que la premier question sauf que je veux utilisé dans un requête access 2007
          0
          1. Contributeur
            Je comprend rien à ton exposer
            0
            1. Apres votre collaboration je me permet de vous demander plus:

              Je veux insérer dans mon requête mais je crois avec condition vraifaux
              =VraiFaux([Prêt1]<=50000;[Prêt1]* 0,5 / 100 + 75;VraiFaux([Prêt1]<=150000;[Prêt1]-50000)*0,75/100+325;vraifaux([prêt]<=5000000; [Prêt1]-150000*1/100+1075)

              mais ça marche qu'avec 2 conditions
              donc quoi faire pour que marche avec 5 conditions avec 5 instructions
              0
              1. Contributeur
                Bonjour,
                Tes conditions sont mal positionnées.
                Mais pour ce genre de test vaux mieux...
                    Select Case Me.pr.Value 
                    Case Is <= 50000 
                        Me.Texte58.Value = (Me.pr * 0.5) / 100 + 75 
                    Case Is < 150000 
                        Me.Texte58.Value = (Me.pr - 50000) * (0.75 / 100) + 325 
                    Case Is < 5000000 
                        Me.Texte58.Value = (Me.pr - 150000) * 1 / 100 + 1075 
                    Case Is < 100000000 
                        Me.Texte58.Value = (Me.pr - 5000000) * (0.75 / 100) + 49575 
                    Case Else 
                        Me.Texte58.Value = (Me.pr - 100000000) * (0.5 / 100) + 762075 
                    End Select
                A+

                L'expérience instruit plus sûrement que le conseil. (André Gide)
                Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
                NOTE : Je ne répond pas aux MP pour les questions techniques.
                Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
                0