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 ?