Bonjour,

Je tombe sur un problème que je n'arrive pas à résoudre. Je cherche à copier une feuille dans le même classeur. J'obtiens un message "Erreur d'exécution 91. Variable objet ou variable de bloc With non définie.". Je clique sur "Débogage" et miracle, ma feuille est bien copiée !

Le code suivant fonctionne sur le même classeur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Set Wbk = ActiveWorkbook
With Wbk
 .Sheets("Fév").Copy before:=.Sheets(.Sheets.Count)
End With
Voici le code fautif :

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
28
29
30
31
    Dim Wbk As Workbook, Sh As Worksheet
    Application.ScreenUpdating = False
    Sheets("fériés").Visible = True
    Sheets("Janv").Visible = True
    Sheets("Fév").Visible = True
    Sheets("A Voir").Visible = True
    Set Wbk = Workbooks.Add(1)
    With ThisWorkbook
        .Sheets("A Voir").Copy after:=Wbk.Sheets(Sheets.Count)
        .Sheets("Janv").Copy after:=Wbk.Sheets(Sheets.Count)
        .Sheets("Fév").Copy after:=Wbk.Sheets(Sheets.Count)
        .Sheets("fériés").Copy after:=Wbk.Sheets(Sheets.Count)
        .Sheets("fériés").Visible = xlVeryHidden
        .Sheets("Janv").Visible = xlVeryHidden
        .Sheets("Fév").Visible = xlVeryHidden
        .Sheets("A Voir").Visible = xlVeryHidden
        Application.DisplayAlerts = False
        Sheets("Feuil1").Delete
        Application.DisplayAlerts = True
        With .Sheets("Janv")
            .[E1] = Année
        End With
    End With
    With Wbk
        With .Names
            .Add "Année", "=Janv!$E$1"
            .Add "Férié", "=fériés!$B$5:$B$17"
            .Add "Trois", "=fériés!$B$5:$C$17"
        End With
        'mars
        .Sheets("Fév").Copy before:=.Sheets(.Sheets.Count)
L'erreur est sur la dernière ligne.

Merci d'avance.