VB6

Bonjour,
slt voila j'ai un pb dans vb 6 il me dit que cette ligne et fausse et je sait pas pk pouvais vous m'aider svp merci

Elseif < 8104 Then impot <- (0.075 ( pr-4121))*n
Elseif < 14 264 then impot <- ((0.21( pr-8104))+((8104-4121)-0.075))*n
Elseif < 23 096 then impot <- ((0.31( pr-14 264)+(0.21(14 264-8 104))+((8 104-4 121)*0.075))*n

sur le < il me dit erreur de compilation attendu expression
Configuration: Windows XP
Firefox 3.0.3

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Elseif < 8104 ... qu'est ce qui doit être inférieur à 8104 ? Manque un bout entre elseif et <.

    1. a oui lol j'ai oublier un truc lol

      sinon il me met un pb avec mes parenthése normale???
    2. Contributeur
      @gagOui, regarde la 3e ligne ; tu as 7 parenthèses ouvrantes, 6 fermantes : tu en as forcément oublié une.

  2. c'est elle qu'y bug

    Elseif pr < 23096 Then impot = ((0.31*(pr-14264)+(0.21*(14 264-8 104))+((8104-4121)*0.075))*n
    1. ok lol j'ai trouver merci je met pas encore répondu défois que j'ai un autre pb avec mon vb ce soir ok merci
      1. elseif sa éxiste

        j'ai mit sa pour remplacer le sinon si mais je c'est pas si c'est ok
        1. voila tout mon code il bug a elsif

          Option Explicit
          Dim n As Integer
          Dim r, pr, impot As String

          Sub main()

          r = InputBox("saisir revenu :")
          n = InputBox("saisir nbr de part :")

          pr = r / n

          If pr < 4121 Then impot = 0
          ElseIf pr < 8104 Then impot = (0.075 * (pr - 4121)) * n
          ElseIf pr < 14264 Then impot = ((0.21 * (pr - 8104)) + ((8104 - 4121) - 0.075)) * n
          ElseIf pr < 23096 Then impot = ((0.31 * (pr - 14264)) + (0.21 * (14264 - 8104)) + ((8104 - 4121) * 0.075)) * n

          MsgBox ("le montant de l'impôt sur votre revenu")

          End Sub
          1. Contributeur
            Manque un "End If" pour finir la structure If.

        2. j'ai fait sa il me met erreur de compilation else sans le if

          Option Explicit
          Dim n As Integer
          Dim r, pr, impot As String

          Sub main()

          r = InputBox("saisir revenu :")
          n = InputBox("saisir nbr de part :")

          pr = r / n

          If pr < 4121 Then impot = 0
          ElseIf pr < 8104 Then impot = (0.075 * (pr - 4121)) * n
          ElseIf pr < 14264 Then impot = ((0.21 * (pr - 8104)) + ((8104 - 4121) - 0.075)) * n
          ElseIf pr < 23096 Then impot = ((0.31 * (pr - 14264)) + (0.21 * (14264 - 8104)) + ((8104 - 4121) * 0.075)) * n

          End If

          MsgBox ("le montant de l'impôt sur votre revenu")

          End Sub
          1. Bonjour,

            Essaies plutôt ça :

            Dim n As Integer
            Dim r, pr, impot As Double
            
            
            r = InputBox("saisir revenu :")
            n = InputBox("saisir nbr de part :")
            
            
            pr = r / n
            
            If pr < 4121 Then
                impot = 0
                ElseIf pr < 8104 Then
                    impot = (0.075 * (pr - 4121)) * n
                    ElseIf pr < 14264 Then
                        impot = ((0.21 * (pr - 8104)) + ((8104 - 4121) - 0.075)) * n
                            ElseIf pr < 23096 Then
                                impot = ((0.31 * (pr - 14264)) + (0.21 * (14264 - 8104)) + ((8104 - 4121) * 0.075)) * n
            
            End If
            
            MsgBox ("Montant de l'impôt sur votre revenu : " & impot)
            


            Respecte les retours à la ligne après chaque "Then" ... lorsque c'est sur une même ligne, le compilateur interprète un End If. Par exemple :
            If pr < 4121 Then impot = 0
            Sera interpréter comme :
            If pr < 4121 Then
            impot = 0
            End If

            ;o)