Erreur End If sans Boc If

bonjour à toutes et tous,

j'ai besoin de votre aide pour corriger mon erreur avec If.

voici le code

Private Sub BntM12_3_Click()

For J = 92 To 547 Step 25
        If UserForm1.BntM12_3 = True Then MsgBox "Il n'existe pas de vis Dural M12.3!" _
    & vbNewLine & vbNewLine _
    & " le KIT 1B ne peut pas être appliqué", vbExclamation, "VIS M12.3"
End If
Next J
Unload UserForm1
End Sub

Par avance merci

Bonjour,

Private Sub BntM12_3_Click()
  Dim J as Integer
For J = 92 To 547 Step 25
        If UserForm1.BntM12_3 = True Then MsgBox "Il n'existe pas de vis Dural M12.3!" _
    & vbNewLine & vbNewLine _
    & " le KIT 1B ne peut pas être appliqué", vbExclamation, "VIS M12.3"
Next J
Unload UserForm1
End Sub

Edit : comme le dit Galopin01 pas besoin de End IF (ni de parenthèses du coup)

@+

Bonjour,

Si l'instruction qui suit Then est écrite sur la même ligne, il n'y a pas besoin de mettre de End If. A noter que l'utilisation de _ sert à couper une instructions sur plusieurs lignes (pour le visuel), mais interprété par VBA comme une seule ligne. En résumé :

'Cas 1 :
If Condition Then Instruction
'Cas 2 :
If Condition Then
    Instruction(s)
End If

Edit : salut Bruno !

Tout d'abord, merci pour votre aide

mais maintenant j'ai une erreur de compilation (erreur de syntaxe

bonjour,

Pas besoin de parenthèses ni de End if

A+

j'ai essayé, mais la MsBox ne se referme qu'après plusieurs clics sur OK

Re,

Normal, vous faite une boucle avec !
Est-ce que vous savez ce que vous codez... apparemment non

Les cours ici : https://www.excel-pratique.com/fr/vba

Bonjour …

Si on sait de quoi on parle, un seul cas existant

sans boucle (pas de plage à parcourir)

Private Sub BntM12_3_Click()
  Dim J As Integer
  If BntM12_3 Then MsgBox "Il n'existe pas de vis Dural M12.3 !", 16, "le KIT 1B ne peut pas être appliqué..."
  Unload UserForm1
End Sub

avec une boucle (plage non réduite à une ligne )

Private Sub BntM12_3_Click()
  Dim J As Integer
  For J = 92 To 547 Step 25
    If BntM12_3 Then
      MsgBox "Il n'existe pas de vis Dural M12.3 !", 16, "le KIT 1B ne peut pas être appliqué..."
      Exit for
    End If ‘obligatoire même si on sort de la boucle
  Next
  Unload Me
End Sub

Remarque : le second cas peut s’appliquer quand le contrôle BntM12_3 est une liste (ComboBox, ListBox).

Merci Ordonc, c'est implacable

Rechercher des sujets similaires à "erreur end boc"