Autres macros Excel

Cheminotbelgiantrain

XLDnaute Nouveau
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 !
 

TooFatBoy

XLDnaute Barbatruc
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.
 
Dernière édition:

Cheminotbelgiantrain

XLDnaute Nouveau
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

  • suiviHVprojet.xlsx
    14.8 KB · Affichages: 9

ChTi160

XLDnaute Barbatruc
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
 

Cheminotbelgiantrain

XLDnaute Nouveau
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:

Cheminotbelgiantrain

XLDnaute Nouveau
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?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • suiviHVprojet.xlsb
    887.8 KB · Affichages: 8

Cheminotbelgiantrain

XLDnaute Nouveau
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.
 

Cheminotbelgiantrain

XLDnaute Nouveau
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 !!!!!!!!!!
 

Discussions similaires

Statistiques des forums

Discussions
314 863
Messages
2 113 646
Membres
111 930
dernier inscrit
fab_met