Exécuter la suite de l' equation après avoir utiliser exit sub

Résolu
zenastytos Messages postés 17 Statut Membre -  
 Utilisateur anonyme -
Bonjour voila mon problème ,j'aimerais exécuter les codes derrière un bouton que j'ai créer dans un userforme . j'ai poser des conditions qui lorsqu'ils ne sont pas vérifier l'exécution doit s’arrêter ,mais le problème est que si les conditions sont respectées la suite du code ne s'execute plus.
voici le code en question . merci

Private Sub Enrgstr_Click()

If Qtité_cmde.Value = "" Then MsgBox ("veuillez entré unne quantité")
Exit Sub
If prix_achat.Value = "" Then MsgBox ("veuillez entré le prix d'achat")
Exit Sub

'enrégistrement des produits comandées
For i = 1 To Derline(1, 1)
If (Nom_prdt.Value = Sheets("PRODUIT").Cells(i + 1, 1)) Then
Sheets("PRODUIT").Cells(i + 1, 4) = Sheets("PRODUIT").Cells(i + 1, 4) + Qtité_cmde.Value
End If

Next i
If (flag = False) Then

Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("PRODUIT").Cells(2, 1) = Nom_prdt.Value
Sheets("PRODUIT").Cells(2, 2) = Type_prdt.Value
Sheets("PRODUIT").Cells(2, 3) = code_prdt.Value
Sheets("PRODUIT").Cells(2, 4) = Qtité_cmde.Value
Sheets("PRODUIT").Cells(2, 6) = prix_achat.Value
Sheets("PRODUIT").Cells(2, 8) = Dat_achat.Value
Sheets("PRODUIT").Cells(2, 9) = Dat_premp.Value
Sheets("PRODUIT").Cells(2, 10) = Nom_grosis.Value
Sheets("PRODUIT").Cells(2, 11) = Adres_gross.Value

End If

Nom_prdt.Value = ""
Type_prdt.Value = ""
code_prdt.Value = ""
Qtité_cmde.Value = ""
prix_achat.Value = ""
Dat_achat.Value = ""
Dat_premp.Value = ""
Nom_grosis.Value = ""
Adres_gross.Value = ""

Rows("2:2").Select
With Selection.Font
.Name = "Calibri"
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Bold = False
Selection.Font.Italic = False
End Sub

1 réponse

  1. Utilisateur anonyme
     
    Bonjour

    si tu veux faire plusieurs instruction dans une boucle If, il faut faut délimiter ces instructions avec un End if et éventuellement un Else
    If Qtité_cmde.Value = "" Then
         MsgBox ("veuillez entré unne quantité")
         Exit Sub
    ElseIf prix_achat.Value = "" Then
         MsgBox ("veuillez entré le prix d'achat")
         Exit Sub
    End if
    


    Par contre, il faut enlever les noms d'accent dans les variables ou noms d'objets.
    Il suffit que par besoin ou accident tu changes la langue de ton PC et ta macro sera cassée.
    1
    1. zenastytos Messages postés 17 Statut Membre
       
      merci whismeril,mon problème est résolu. et merci pour le conseil
      0
    2. Utilisateur anonyme
       
      De rien
      0