Creation d`une feuille tous les jours

  • Initiateur de la discussion Michelle
  • Date de début
M

Michelle

Guest
Bonjour a tous le monde,

Voila mon probleme.

A partir d`une feuille deja existante (un template sans donnees, mais que g deja mis en forme), je voudrais creer tous les jours automatiquement une nouvelle feuille, copie fidele de la feuille existante.

Pour Copier une feuille, c OK, mais pour la copier tous les jours, je vois pas trop.



Merci d`avance :) :kiss:
 

CBernardT

XLDnaute Barbatruc
Bonjour Michelle,

Un exemple :

Tous les jours est ajoutée une feuille selon la feuille 'modèle'. Il interdit le doublon, c'est-à-dire que si le classeur est ouvert plusieurs fois par jour, une seule feuille sera ouverte à la date du jour. Quand tu ouvriras le classeur joint, il créera la feuille du jour appelée 'Relevé du 24-06-2005'.

Cordialement

Bernard [file name=NewSheetDay.zip size=10885]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/NewSheetDay.zip[/file]
 

Pièces jointes

  • NewSheetDay.zip
    10.6 KB · Affichages: 30

Riddick

XLDnaute Occasionnel
Bonjour Michelle , le forum et tous ces joyeux participants qui le font vivre.....

Bon michelle regarde la PJ que je te mets c'est a peut pres ce que tu veux...
A l'ouverture ca regarde si il il y une feuille nommé 'feuille xx.xx.xxxx'

xx.xx.xxx etant la date du jour
si elle n'existe pas elle copie la feuille origine
et la colle a la fin avec comme nom 'feuille xx.xx.xxxx'

Bien sur si tu n'ouvre pas le classeur un jour il n'y aura pas la feuille de ce jour

Le code est dans VBA Alt+F11 ThisWorkbook
Il faut bien sur l'adapter a tes noms de feuilles etc.....

Si tu as besoin je reste dans le coin!!
 

Riddick

XLDnaute Occasionnel
Bonjour CBernardT
re le reste du monde

Ben d'une j'oublie la PJ et de deux je suis a la bourre....
Ca va pas recommencer!!!!!!
Tchou.....Tchou......

Bon je la met quand meme on sait jamais.... [file name=Michelle.zip size=8751]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Michelle.zip[/file]
 

Pièces jointes

  • Michelle.zip
    8.5 KB · Affichages: 24

Riddick

XLDnaute Occasionnel
Re a tous

J'ai regarder ton exemple le soucis c'est si la feuille du jour ne se trouve pas a la fin il en ajoute une et la nomme de la meme manière...

Mais il y a plein de choses qui me plaisent :p

Je fais des MID(now,1,2) pour avoir le jour d'aujourd'hui alors que tu utilises Day(date)

J'ai encor appris des trucs Cool!!!!!!!

Alors a temps perdu j'ai fait un mix des deux 'bien' commenté
Voilà en esperant que ce FIL servira...

Question pourrions nous pas faire un for each au lieu et place du
For i=1 to Sheet.count???
Je sais pas me servir du for each si les grandes instances sont par là.... [file name=Michelle_20050624104531.zip size=8300]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Michelle_20050624104531.zip[/file]
 

Pièces jointes

  • Michelle_20050624104531.zip
    8.1 KB · Affichages: 20
M

Michelle

Guest
Merci beaucoup. ;)
Ca marche bien. Vous etes trop fort :kiss:

J`ai voulu proteger ma feuille modele avec

Private Sub Worksheet_Activate()
ActiveSheet.Protect
End Sub

mais je peux encore modifier des cellules, malgre cette procedure.
J`ai cache la feuille modele, mais on ne sait jamais.
 

CBernardT

XLDnaute Barbatruc
Re Michelle et bonjour Riddick,

Effectivement, on peut penser qu'une fois créée, la feuille du jour peut être changée de place, ainsi d'ailleurs que la feuille 'modèle'.

J'ai modifié la macro en y incorporant la boucle For each :

Sub NouvelleFeuilles()
Dim j As String, M As String, Y As String
Dim Ws As Worksheet
j = Day(Date): M = Month(Date): Y = Year(Date)
'Boucle qui parcourt tous les onglets
For Each Ws In Worksheets
If Ws.Name = 'Relevé du ' & j & '-' & M & '-' & Y Then Exit Sub
Next Ws
Worksheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = 'Relevé du ' & j & '-' & M & '-' & Y
Sheets('Modèle').Cells.Copy ActiveSheet.Cells
End Sub

Pour la protection de la feuille, utiliser xlNoSelection + un mot de passe. Ici, trois étoiles :

Sub MacroProtection()
With ActiveSheet
.EnableSelection = xlNoSelection
.Protect Password:='***'
End With
End Sub

Pour déprotéger :
Sub MacroDeProtection()
With ActiveSheet
.EnableSelection = xlNoRestrictions
.Unprotect Password:='***'
End With
End Sub

Cordialement

Bernard

Message édité par: CBernardT, à: 24/06/2005 15:14
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry