Bonsoir,

J’ai écrit un code qui fonctionne très bien, mais seulement sans gestion d’erreur.
Quand j’insère la ligne de la gestion d’erreur "On Error GoTo DoublonDeNomDeFeuil", même quand il n’y a pas d’erreur le code de la gestion d’erreur est exécuté.
Où mettre cette ligne de gestion d’erreur pour qu’elle ne se déclenche que lorsqu’il y a réellement erreur ?
L’erreur arrive en principe en ligne 14, parce qu’il rencontre un nom identique. Je voudrais qu’à ce niveau-là il lance la gestion d’erreur.

Merci d’avance pour vos solutions.

voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub CreateNewDailySheet()
Dim MaDate As Date
MaDate = Date
Dim RepMsg
RepMsg = MsgBox(Application.UserName & "," & vbCr & "Vous allez créer une nouvelle feuille avec le comme nom, la date d'aujourd'hui." & _
vbCr & "Voulez-vous continuer?", vbYesNo, "Rasta Bomboclat - Daily Cash Position")
 
    If RepMsg = vbNo Then
        Exit Sub
    Else:
        On Error GoTo DoublonDeNomDeFeuil
        ActiveSheet.Select
        ActiveSheet.Copy after:=Sheets(Sheets.Count)
        ActiveSheet.Name = Format(MaDate, "dd-mmm-yyyy")
        UpdateGrafico
    End If
 
DoublonDeNomDeFeuil:
    If MsgBox(Application.UserName & "," & vbCr & "Il existe deja une feuille avec comme nom, la date d'aujourd'hui." & vbCr & _
    "L'application va créer un indice du type '(x)' après le nome de la feuille" & vbCr & "Voulez-vous continuer", vbCritical + vbYesNo, "Rasta Bomboclat - Doublon nom de feuille!") = vbNo Then
        Application.DisplayAlerts = False
            ActiveSheet.Delete
        Application.DisplayAlerts = True
    Else: ActiveSheet.Name = Format(MaDate, "dd-mmm-yyyy")
        UpdateGrafico
    End If
End Sub