Pas de message d'erreur lors de la fermeture d'une InputBox

Bonsoir,

Felix m'avait proposé une solution pour une InputBox qui a été incluse dans le code suivant, avec la fonction en dessous qui y est ratachée :

Sub Recherche_FichierMoisPrécédent_CopierFeuille_RefermerFichierMoisPrécédent()

Dim v_date, v_mois
Dim DV As String 

retour:
    DV = InputBox("Meldung Quellensteuer vom MM.JJJJ?")
    Date_décompte = DV '''Date_décompte utilisé par mon ancienne InputBox, relié ici à celle de Felix
    If DV = "" Then Exit Sub
    If Not (DateValide(DV)) Then
        MsgBox "Ungültiges Format": GoTo retour
    Else
    End If
............................................

End Sub

Function DateValide(DV) ' Va avec la proposition de Felix pour contrôle de l'inscription dans la InputBox
Dim M, A
   DateValide = False
   On Error GoTo Fin
   If Len(DV) - Len(Application.Substitute(CStr(DV), ".", "")) <> 1 Or Len(DV) <> 7 Or InStr(1, DV, ".") <> 3 _
       Then Exit Function
   M = Left(DV, 2)
   A = Right(DV, 4)
   If A < 1900 Then Exit Function
   If M < 1 Or M > 12 Then Exit Function
   DateValide = True
Fin:
End Function

Mon problème est le suivant : si je clique sur "Annuler" ou sur la croix en haut à droite de la fenêtre de laquelle on est supposé introduire le texte dans l'InputBox, une partie de la macro est quand même exécutée et la fenêtre avec les messages d'erreur traditionnels (avec les boutons "Fin" et "Débogage") s'ouvre. Serait-il alors possible de transformer le code afin que tout s'arrête sans ces messages ?

5demande-help.xlsx (12.37 Ko)

Salut, je sais pas si c'est cela que tu recherches, mais j'avais trouvé ce bout de code assez efficace qui vérifie si t'as cliquer sur annuler ou fermer la croix :

If StrPtr(DV) = 0 Then Exit Sub

Bonjour Hadidman,

J'ai essayé de placer ta proposition de la manière suivante, mais ça ne passe pas. Sais-tu ce que j'ai fait de faux ?

retour:
    DV = InputBox("Meldung Quellensteuer vom MM.JJJJ?")
    Date_décompte = DV 
    If DV = "" Then Exit Sub
    If StrPtr(DV) = 0 Then Exit Sub
    If Not (DateValide(DV)) Then
        MsgBox "Ungültiges Format": GoTo retour
    Else
    End If

Bonne journée

Rechercher des sujets similaires à "pas message erreur lors fermeture inputbox"