Bonjour le forum,

J'ai l'impression de poster tous les jours, et je m'excuse par avance.

J'ai rencontré un problème lors de la copie d'une feuille.
En fait, je souhaite prendre la feuille active comme modèle, la copier, et créer une nouvelle feuille où la coller. Etant donné que j'effectue une boucle, la feuille active change à chaque fois.
Mais voilà, lorsque je lance la Sub, ce message apparaît: "Une formule ou une feuille à déplacer contient le nom "Entree", blablabla" et ça me met 8 messages d'erreur par feuille, tout cela répété à chaque feuille. Donc je dois cliquer un grand nombre de fois sur oui, pour valider ces 8 x ??? messages d'erreur
J'ai tenter de mettre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 application.displayalert=false
en début de code puis de réactiver cette fonction à la fin mais le programme n'a pas voulu s'exécuter...

En fait, je fais appel à la fonction qui génère les feuilles lors du clic sur le bouton valider de mon userform. J'avais pensé désactiver DisplayAlert dans la Sub CommandButtonValider_Click() mais je vais aussi bloquer les messages d'erreur dûs aux mauvais remplissages du formulaire, ce que je ne veux évidemment pas faire.

Je n'ai aucune cellule à ma connaissance qui s'appelle "Entree" ou tous les autres noms qu'Excel me fournit. Elles existaient sur une feuille, mais celle-ci a été supprimées donc je ne vois pas en quoi elles interviennent.


Je rencontre en parallèle un autre problème. Voici mon code pour créer de nouvelles feuilles à partir d'un modèle:

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
Public Sub CreationFeuille()
 
'Mise en mémoire des menus et des calories
 
Call InitialisationPlanning
 
'Pour chacune de feuilles créées
Dim i As Integer
 
For i = 1 To Duree
 
    With ActiveWorkbook.ActiveSheet
                .Copy After:=Worksheets(Worksheets.count)
               .Name = "Jour " & i + 1    'On renomme la feuille
    End With
    'Sheets.Add After:=Worksheets(Worksheets.count)
    Call CreationPlanning
    Call GenererMatin       'Génération du petit déjeuner
    Call GenererMidi           'Génération du déjeuner
    Call GenererSoir            'Génération du diner
    ActiveSheet.Range("B1") = Date1
    ActiveSheet.Range("B2") = Date2
    ActiveSheet.Range("D3") = Date1 + i
    ActiveSheet.Range("D4") = Date1 + i
    Next
 
End Sub
Duree est évidemment un paramètre connu, comme toutes les subs auxquelles je fais appel.
Je me base sur une feuille nommée "Jour 1". J'aimerais que la suivante s'appelle "Jour 2", etc. Le problème est qu'avec l'erreur affichée, Jour 1 est renommé en jour 2 et la dernière feuille devient Jour 1 (Duree). Par exemple si Duree = 4, j'aurais:"Jour 2", "Jour 3", Jour 4, Jour 1 (4).


Merci