Excel - VBA

Bonjour,

Je suis très débutant avec VBA. Dans mon chiffrier, je souhaite qu'au moyen d'un clic dans un checkbox, une formule s'applique. Elle revêt les conditions suivantes :

Private Sub CheckBox25_Click()
If CheckBox25.Value = True Then

If ("FRAIS APRÈS PROJET D10" > 1) And ("FRAIS APRÈS PROJET D10" <= 3000) Then
[M207] = 2000
ElseIf ("FRAIS APRÈS PROJET D10" > 3001) And ("FRAIS APRÈS PROJET D10" <= 5000) Then
[M207] = 3000
ElseIf ("FRAIS APRÈS PROJET D10" > 5001) And ("FRAIS APRÈS PROJET D10" <= 8000) Then
[M207] = 4500
ElseIf ("FRAIS APRÈS PROJET D10" > 8001) And ("FRAIS APRÈS PROJET D10" <= 16000) Then
[M207] = 5500
ElseIf ("FRAIS APRÈS PROJET D10" > 16001) Then
[M207] = 6500
Else: [M207] = 0

End If

End Sub

On indique "Erreur de compilation: Bloc If sans End If"

Merci à l'avance pour vos réponses

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut le forum

    En indexant tes conditions tu aurais vu qu'il te manquait un End If

    Private Sub CheckBox25_Click()
    
    If CheckBox25.Value = True Then
      If ("FRAIS APRÈS PROJET D10" > 1) And ("FRAIS APRÈS PROJET D10" <= 3000) Then
      [M207] = 2000
        ElseIf ("FRAIS APRÈS PROJET D10" > 3001) And ("FRAIS APRÈS PROJET D10" <= 5000) Then
        [M207] = 3000
          ElseIf ("FRAIS APRÈS PROJET D10" > 5001) And ("FRAIS APRÈS PROJET D10" <= 8000) Then
          [M207] = 4500
            ElseIf ("FRAIS APRÈS PROJET D10" > 8001) And ("FRAIS APRÈS PROJET D10" <= 16000) Then
            [M207] = 5500
              ElseIf ("FRAIS APRÈS PROJET D10" > 16001) Then
              [M207] = 6500
                Else: [M207] = 0
      End If
    End If
    
    End Sub
    

    Mytå