Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Créer une nouvelle feuille tous les premiers janvier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

zephir94

XLDnaute Impliqué
Bonjour à tous,

Je bloque sur quelque chose qui pourrais paraître simple ! comment créer une nouvelle feuille en dernière position du classeur le 1 janvier pour la nouvelle année ( cette opération se répétant chaque années ) en la nommant
archive 2015 si on est le 01/01/2016

Merci par avance pour vos aides
 
Dernière édition:
Re : Créer une nouvelle feuille tous les premiers janvier

Bonjour zephir94.

Pas d'exemple joint, ce qui ne nous permet pas de connaitre la structure de la feuille (raz de certaines infos, modification d'autres...).

Je suppose, sans infos complémentaires, que vous souhaitez une macro qui se déclancherait à l'ouverture du fichier le 1/1 de chaque année. Quid si le fichier n'est pas ouvert le 1/1 (férié) ? Il faudra alors tester le changement d'année et la présence ou non de la nouvelle feuille ?
Un peu compliqué par rapport au temps que prend un clic droit (déplacer ou copier, en dernier, créer une copie) et un deuxième clic droit pour renommer la nouvelle feuille. Non ?
 
Re : Créer une nouvelle feuille tous les premiers janvier

Bonjour Victor21,

Je bloque juste sur cet événement, le reste c'est bon je sais faire.
J'imagine bien que je doit écrire la date du jour dans une cellule d'une feuille et comparer au démarrage du classeur, si
la date est supérieur au 1 janvier je crée une feuille en dernière position du classeur.
Donc même si on ouvre le classeur le 4 février ça marcherait.

Là ou je bloque c'est extraire l'année, créer une nouvelle feuille en dernière position c'est pas très compliqué :

Code:
Sub InsereFeuille()



if date> 01/01/ année ????? then

Sheets.Add.Move After:=Sheets(Sheets.Count)

Sheets(Sheets.Count).name = "Archive" & année-1
else
end if
End Sub

Merci pour ton aide
 
Dernière édition:
Re : Créer une nouvelle feuille tous les premiers janvier

Bonjour,

regarde peut être ceci, à placer dans le module "thisworkbook" :
Code:
Option Explicit
Private Sub Workbook_Open()
Dim ws As Worksheet, y As String
y = "Archive " & Year(Date) - 1
On Error Resume Next
Set ws = Worksheets(y)
On Error GoTo 0
If ws Is Nothing Then
    Set ws = Worksheets.Add(after:=Sheets(Sheets.Count))
    ws.Name = y
End If
End Sub

bonne journée
@+
 
Re : Créer une nouvelle feuille tous les premiers janvier

Merci pierrot93,
Si j'ai bien compris, il me suffit d'écrire dans une Cellule d'une feuille year(date) et de comparer à l'ouverture si la date du jour est supérieur en année.
Et là je déclenche mon événement en rechargeant l'année dans ma cellule teste pour l'année suivante ?
 
Re : Créer une nouvelle feuille tous les premiers janvier

Re,

le code que j'ai proposé se déclenche à chaque ouverture du fichier et vérifie s'il existe une feuille nommée "archive " de l'année précedente, si elle n'existe pas, la procédure créée la feuille... Pas besoin de cellule pour stockéer une date...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
1 K
Réponses
2
Affichages
2 K
P
Réponses
0
Affichages
786
Pat13127
P
J
  • Question Question
Réponses
0
Affichages
1 K
Jérôme57
J
Réponses
1
Affichages
912
E
Réponses
5
Affichages
1 K
Emirogo
E
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…