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:
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:
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
Partager