Autres macros Excel

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 !

Cheminotbelgiantrain

XLDnaute Junior
Bonjour tout le monde , tout d'abord je vous remercie pour ce forum pour résoudre différents problèmes confrontés lors de création des macros en Excel . je viens de m'inscrire aujourd'hui car je voulais comprendre beaucoup mieux ce programme pour trouver des solutions avec vos soutiens bien sûr à des questions sur les macros.
ma question d'aujourd'hui est la suivante:
je cherche à créer automatiquement un onglet à partir d'une première feuille et lui donner le nom avec la date du jour sous la forme jj-mm-aaaa.
le contenu de la feuille jj-mm-aaaa doit être sauvegardé et recopié dans la feuille jj+1-mm-aaaa.
ce travail est journalier !!
d'avance merci pour votre aide !
 
Bonjour et bienvenue,

As-tu un début de classeur à nous fournir ?

Chaque jour tu veux dupliquer la feuille de la veille ? Et donc à la fin de l'année tu as plus de 300 feuilles dans ton classeur ???
Généralement la multiplication des feuilles alourdi pas mal le classeur et n'est donc pas forcément souhaitable.
Bonjour et merci pour ton message !
j'ai mis le fichier en pièce jointe : ça va alourdir tu penses ?
 

Pièces jointes

Bonjour le Fil ,
Bienvenue à nom ami des chemins de fer Belges (SNCB.)!
si de jour en jours tu copies les données de la veille dans la Feuille du Jour , tu vas avoir si je ne me trompe (ça peut arriver Lol) une dernière feuille en fin d'année qui va contenir l'ensemble des Journées de l'année . non ?
car tu Dis :"le contenu de la feuille jj-mm-aaaa doit être sauvegardé et recopié dans la feuille jj+1-mm-aaaa."
Puis la feuille : jj+2-mm-aaaa." contiendra la feuille jj+1-mm-aaaa." qui contient feuille jj-mm-aaaa." etc etc ......

dans la Tente !
Jean marie
 
Bonjour Cheminotbelgiantrain, TooFatBoy,
Pourquoi une feuille par jour alors que votre fichier contient une feuille par semaine ?
Bonjour, Sylvanu ,
à la base je voulais faire une feuille hebdomadaire style " sem47/2024" mais j'ai besoin de la date journalière pour le suivi journalier et c'est ça qui m'a fait changer d'idée.
je dois avoir les dates des jours de la semaine en question et incrémenter les semaines d'une façon automatique à base de la date système.
 
Dernière édition:
Bonjour le Fil ,
Bienvenue à nom ami des chemins de fer Belges (SNCB.)!
si de jour en jours tu copies les données de la veille dans la Feuille du Jour , tu vas avoir si je ne me trompe (ça peut arriver Lol) une dernière feuille en fin d'année qui va contenir l'ensemble des Journées de l'année . non ?
car tu Dis :"le contenu de la feuille jj-mm-aaaa doit être sauvegardé et recopié dans la feuille jj+1-mm-aaaa."
Puis la feuille : jj+2-mm-aaaa." contiendra la feuille jj+1-mm-aaaa." qui contient feuille jj-mm-aaaa." etc etc ......

dans la Tente !
Jean marie
Bonjour ChTi160,
oui je dois garder ces feuilles comme archives malheureusement !
et je ne sais pas s'il y a d'autres idées pour ce travail?
 
Avec ce que j'ai compris, un essai en PJ avec :
VB:
Sub CopieFeuilles()
Dim F, J%, Jour, PremierJour
' Figeage écran et inhibition alertes
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' A modifier par premier janvier de l'année désirée
PremierJour = "1/1/2025"
Sheets("PageType").Visible = True
' Suppression de toutes les feuilles
For Each F In Worksheets
    If F.Name <> "PageType" Then Sheets(F.Name).Delete
Next F
' On cherche le premier mundi de l'année
For J = 0 To 7
    If Application.Weekday(CDate(PremierJour) + J) = 2 Then
        Jour = CDate(PremierJour) + J
        Exit For
    End If
Next J
' On duplique les feuilles jusqu'à atteindre fin décembre.
While Year(Jour) <= Year(CDate(PremierJour))
    Sheets("PageType").Copy After:=Worksheets(Sheets.Count): ActiveSheet.Name = Format(Jour, "dd-mm-yyyy")
    [A3] = Jour
    Jour = Jour + 1
Wend
Application.DisplayAlerts = True
Sheets("PageType").Visible = False
Sheets(2).Select
End Sub
Pour modifier la page type, faire Afficher Page type, puis lancer la macro par F8.
J'ai mis le fichier en xlsb moins lourd ( 800ko au lieu de 1.3Mo ) vous pouvez le renommer en xlsm, ou le garder ainsi si vous ne travailler pas sous Android.
 

Pièces jointes

Re
je viens de voir ta réponse !
donc ta feuille ne devrait Contenir qu'une Journée normalement ?
Jean marie
si tu veux ,la feuille peut rester comme publiée en pièce jointe càd le contenu de la semaine mais sur une feuille journalière jj-mm-aaaa . car j'ai des entrées et des sorties quotidiennement donc j'aurai juste celles ci à encoder la veille et les confirmer le lendemain.
 
Avec ce que j'ai compris, un essai en PJ avec :
VB:
Sub CopieFeuilles()
Dim F, J%, Jour, PremierJour
' Figeage écran et inhibition alertes
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' A modifier par premier janvier de l'année désirée
PremierJour = "1/1/2025"
Sheets("PageType").Visible = True
' Suppression de toutes les feuilles
For Each F In Worksheets
    If F.Name <> "PageType" Then Sheets(F.Name).Delete
Next F
' On cherche le premier mundi de l'année
For J = 0 To 7
    If Application.Weekday(CDate(PremierJour) + J) = 2 Then
        Jour = CDate(PremierJour) + J
        Exit For
    End If
Next J
' On duplique les feuilles jusqu'à atteindre fin décembre.
While Year(Jour) <= Year(CDate(PremierJour))
    Sheets("PageType").Copy After:=Worksheets(Sheets.Count): ActiveSheet.Name = Format(Jour, "dd-mm-yyyy")
    [A3] = Jour
    Jour = Jour + 1
Wend
Application.DisplayAlerts = True
Sheets("PageType").Visible = False
Sheets(2).Select
End Sub
Pour modifier la page type, faire Afficher Page type, puis lancer la macro par F8.
J'ai mis le fichier en xlsb moins lourd ( 800ko au lieu de 1.3Mo ) vous pouvez le renommer en xlsm, ou le garder ainsi si vous ne travailler pas sous Android.
super !! je vais essayer ça et je reviens vers vous !!!!!!!!!!
 
Avec ce que j'ai compris, un essai en PJ avec :
VB:
Sub CopieFeuilles()
Dim F, J%, Jour, PremierJour
' Figeage écran et inhibition alertes
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' A modifier par premier janvier de l'année désirée
PremierJour = "1/1/2025"
Sheets("PageType").Visible = True
' Suppression de toutes les feuilles
For Each F In Worksheets
    If F.Name <> "PageType" Then Sheets(F.Name).Delete
Next F
' On cherche le premier mundi de l'année
For J = 0 To 7
    If Application.Weekday(CDate(PremierJour) + J) = 2 Then
        Jour = CDate(PremierJour) + J
        Exit For
    End If
Next J
' On duplique les feuilles jusqu'à atteindre fin décembre.
While Year(Jour) <= Year(CDate(PremierJour))
    Sheets("PageType").Copy After:=Worksheets(Sheets.Count): ActiveSheet.Name = Format(Jour, "dd-mm-yyyy")
    [A3] = Jour
    Jour = Jour + 1
Wend
Application.DisplayAlerts = True
Sheets("PageType").Visible = False
Sheets(2).Select
End Sub
Pour modifier la page type, faire Afficher Page type, puis lancer la macro par F8.
J'ai mis le fichier en xlsb moins lourd ( 800ko au lieu de 1.3Mo ) vous pouvez le renommer en xlsm, ou le garder ainsi si vous ne travailler pas sous Android.
je viens d'ouvrir le fichier , mon problème est : de ne pas avoir toutes les feuilles directement au lancement de la macro ! je voulais avoir chaque jour la feuille correspondante à la date du jour actuel càd : on est le 17 /11/2024 alors je n'ai que les feuilles du 01/01/2024 jusqu'au 17/11/2024 par exemple.
 
- 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
7
Affichages
305
Réponses
1
Affichages
251
Compte Supprimé 979
C
  • Question Question
Microsoft 365 erreur de date
Réponses
2
Affichages
455
T
  • Résolu(e)
Microsoft 365 pb effacement macro
Réponses
8
Affichages
459
Themax
T
Réponses
2
Affichages
346
Retour