Bloc If sans End If

Bonjour a tous, je n'arrive pas a comprendre pourquoi j'ai le message d'erreur Bloc If sans End If. Je pense que le problème vient de la fonction END SUB que j'utilise pour la première fois, car visual basic pointe sur cette fonction en affichant le message.

Je souhaitais quitter l'enregistrement de mon document si la réponse est "Oui".

Si END SUB pose prolème quelle est la fonction qui permet d'interrompre le découlement de la condition SI.

Merci par avance.

C'est mon premier vrai programme que j'améliore de jour en jour, je n'ai pas encore tous les réflexes nécessaires, je n'ai pas jugé bon de vous préparer le fichier, la réponse pour un expérimenté devrait être évidente. Si c'est vraiment nécessaire je vous le ferai suivre.

'*******************************************
'Procédure d'enregistrement
'd'un nouveau document à la
'fin de la base de données
'*******************************************

Private Sub AjoutDoc()
    'Contrôle que l'indice vision couvre le taux horaire des frais généraux
    Dim IndiceVision As Double
    Dim IndiceVisionRef As Double
    Dim IndicateurFG As Double
    Dim Srep As String
        IndiceVisionRef = Worksheets("Resultat Prev").Range("Indice_Vision")
        IndicateurFG = Worksheets("Resultat Prev").Range("Indicateur_FG")
        IndiceVision = Me.txtIndiceVision.Value

            If IndiceVision <= IndicateurFG Then    'Si la condition est remplie,  proposer de quitter l'enregistrement du document ou poursuivre
               Srep = MsgBox("Attention l'indice vision de ce document ne couvre pas les charges de votre prévisionnel !" & Chr(10) & Chr(10) & _
                "Procéder éventuellement à une correction de vos données. Si votre prix de vente n'est pas négociable, il vous reste pour seule solution d'optimiser votre temps de production !" & Chr(10) & Chr(10) & _
                "Voulez vous procéder à la correction de vos données ? ", vbYesNo, "Contrôle de la marge minimum")
                    If Srep = vbYes Then MultiPage1.Value = 1 'Affichage de la deuxième page de l'Userform saisie de documents pour apporter les modifications
                        End Sub 'Sortie de l'enregistrement du document
                    End If
            End If

Bonjour,

Remplace :

If Srep = vbYes Then MultiPage1.Value = 1
    End Sub
End If

Par :

If Srep = vbYes Then
    MultiPage1.Value = 1 'A la ligne pour éviter l'erreur du If
    Exit Sub 'Au lieu de End Sub
End If

Cordialement,

Merci beaucoup Sébastien,

Ca me semble évident à présent, Il fallait un regard neuf sur mes lignes d'écritures.

Ca me rassure bien je vais pouvoir continuer.

A bientôt

Rechercher des sujets similaires à "bloc end"