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

Un casse tête dans les dates !

aTm0sFe4r

XLDnaute Nouveau
Bonjour à tous,

J'ai longtemps parcouru le web avant de poser ma question, mais je ne trouve pas ma solution ...

Mon soucis est le suivant :

J'ai créer un ficher Excel ou je dois rentrer des données pour chaque jour de l'année, où un onglet = un jour. Afin d'avoir le plus de lisibilité et de simplicité j'aurais besoin de savoir il était possible de nommer un nouvel onglet, avec la date de l'onglet précédent +1 (si l'onglet 1 se nomme 01-01-2017 il faudrait que l'onglet créé se nomme automatiquement 02-01-2017)

De plus j'aimerais que dans une cellule de chaque feuille (en A1 par exemple), cette date soit aussi visible, et donc identique au nom de l'onglet.

Je pourrais changer le nom de l'onglet et la date dans la cellule manuellement, mais comme je dois avoir 365 jours, soit 365 onglets, ça risque d'être long ...

C'est un problème qui m'a l'air très compliqué, alors merci au expert qui pourrait y trouver une solution

Merci de votre aide !!!
 

jecherche

XLDnaute Occasionnel
Re : Un casse tête dans les dates !

Bonjour,

Question : veux-tu créer des feuilles (onglet) vides ou veux-tu partir d'un modèle qui sera copier pour créer le nouvel onglet ?
Ou encore veux-tu que l'onglet de la dernière date devienne le modèle pour l'onglet de la date du lendemain ?


Jecheche
 

jecherche

XLDnaute Occasionnel
Re : Un casse tête dans les dates !

Bonjour,

Voici ce que j'ai trouvé sur le net ... j'ai ajouté "écrire la date en A1"

À l'aide de la poignée de recopie, étire vers le bas jusqu'à la date désirée ... puis lancer la macro...



Je cherche
 

Pièces jointes

  • Hooly Création feuilles V001.xls
    58 KB · Affichages: 20

aTm0sFe4r

XLDnaute Nouveau
Re : Un casse tête dans les dates !

Bonjour jecherche,

Lors de la création d'un nouvel onglet, je souhaite copier la feuille précédente avec mon tableau vierge, et que le nom de cet onglet, soit la date +1, de l'onglet copié.

J'ai essayé avec la technique que tu as trouvé, mais ça ne marche pas quand je met une date, seulement si je met un texte simple :/
 

Dranreb

XLDnaute Barbatruc
Re : Un casse tête dans les dates !

Bonjour.
Ce code dans ThisWorkbook semble faire l'affaire :
VB:
Option Explicit

Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim F1 As Worksheet, F2 As Worksheet, D1 As Date, D2 As Date
If Not TypeOf Sh Is Worksheet Then Exit Sub
Set F2 = Sh
If F2.Index < 1 Then Exit Sub
Set F1 = Me.Worksheets(F2.Index - 1)
If Not IsDate(F1.[A1].Value) Then Exit Sub
D1 = F1.[A1].Value
If F1.Name <> Format(D1, "dd-mm-yyyy") Then Exit Sub
F1.UsedRange.Copy Destination:=F2.[A1]
F2.UsedRange.SpecialCells(xlCellTypeConstants).ClearContents
D2 = D1 + 1
F2.[A1].Value = D2
F2.Name = Format(D2, "dd-mm-yyyy")
End Sub

Edit: Je viens d'y ajouter des instructions pour copier la plage utilisée de la feuille précédente.
À tester.
 
Dernière édition:

aTm0sFe4r

XLDnaute Nouveau
Re : Un casse tête dans les dates !

Salut Dranreb,

Je ne sais pas pourquoi, mais il ne se passe strictement rien avec ce code :/

Je l'ai peut être mal utilisé, je ne sais pas ...

Merci à toi pour toin aide en tout cas.
 

Dranreb

XLDnaute Barbatruc
Re : Un casse tête dans les dates !

Bonjour.
Ça ne s'exécute que si on ajoute une nouvelle feuille. Mais pour qu'elle soit renommée il faut que celle qui la précède ait un nom reprenant avec des tirets la date portée dans sa cellule A1.
 

jecherche

XLDnaute Occasionnel
Re : Un casse tête dans les dates !

Bonjour,

Une suggestion ...
Le première feuille sera ton modèle ... il ne faut pas la remplacer car, il y a du code derrière.
Mais tu y colles le contenu désiré.
A1 = la date ... telle que demandée
B1 est le déclencheur de copie de la feuille, si tu cliques dans B1 de la dernière feuille (onglet) = nouvelle feuille
Si tu cliques sur B1 d'une feuille précédente, il ne se passera rien.

Espérant le tout conforme à la demande ...


Jecherche
 

Pièces jointes

  • Création feuilles V002.xlsm
    16.3 KB · Affichages: 13

pierrejean

XLDnaute Barbatruc
Re : Un casse tête dans les dates !

Bonjour à tous

Un essai
La nouvelle feuille est créée par click sur 'feuille suivante' ,renommée et range("A1") servie
Voir Thisworkbook
 

Pièces jointes

  • Atmos.xlsm
    17.8 KB · Affichages: 28
  • Atmos.xlsm
    17.8 KB · Affichages: 23

aTm0sFe4r

XLDnaute Nouveau
Re : Un casse tête dans les dates !

Bon, j'ai beau essayé chacune de vos formules, qui m'ont l'air d'être la solution, mais impossible de les intégrer convenablement dans mon travail.

Se que je veux c'est qu'à chaque création d'une nouvelle feuille, la nouvelle feuille reprend le modèle de ma feuille précédente (ou du modèle qui est la première feuille), en ayant une date +1 et que cette date que j'ai en B1 (qui intègre donc une formule pour avoir une date n+1) soit aussi le nom de mon onglet.

Je ne sais pas si c'est clair, mais je vous joint mon travail, ça pourra être plus simple pour mes futur sauveur !

Merci encore de votre aide !!!
 

Pièces jointes

  • Scoring NAS.xlsm
    28.9 KB · Affichages: 20
  • Scoring NAS.xlsm
    28.9 KB · Affichages: 20

jecherche

XLDnaute Occasionnel
Re : Un casse tête dans les dates !

Bonjour,

Je cite :" De plus j'aimerais que dans une cellule de chaque feuille (en A1 par exemple), cette date soit aussi visible, et donc identique au nom de l'onglet."

Tout le monde a basé sa prog sur cet énoncé 8- (((


Jecherche
 

Dranreb

XLDnaute Barbatruc
Re : Un casse tête dans les dates !

Bonjour.
Vous avez une feuille en deuxième position, qui porte bien, mais en C1 et non A1, une expression Date valant le 2/02/2016 mais qui s'appelle "2" et non "02-02-2016"
Est-ce à dire qu'une création d'une nouvelle feuille derrière devrait être quand même traitée, et si oui
comment ?
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…