Créer un onglet en auto chaque lundi à l ouverture du fichier

SystemeD

XLDnaute Nouveau
Bonjour à tous,

J'ai probleme sur lequel je seche et je sais que vous allez me trouver une solution :)

Le contexte:
J'ai un plan d'actions sur lequel 15 personnes interviennent et dont je dois garder absolument l'avancement semaine par semaine (cf exemple ci-dessous). Sauf que le premier qui ouvre le fichier en debut de semaine oulblie trop souvent de créer un nouvel onglet et mets donc à jour la semaine precedente.

Ma question:
est il possible que lorsque j'ouvre mon fichier pour la premiere fois en semaine 15 il créer automatiquement une copie de la semaine 14 qu'il nomme S15?

Merci beaucoup
 

Pièces jointes

  • I need help.xlsx
    12.7 KB · Affichages: 5

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour SystemeD, bonjour le forum,

Le code ci-dessous, à placer dans le composant ThisWorkbook, créera le nouvel onglet que si la date le permet et s'il n'existe pas déjà. Attention ton fichier deviendra .xlsm...

VB:
Private Sub Workbook_Open()
Dim NSem As Byte 'déclare la variable NSem (Numéro de Semaine)
Dim OAS As Worksheet 'déclare la variable OAS (Onglet Ancienne Semaine)
Dim ONS As Worksheet 'déclare la variable ONS (Onglet Nouvelle Semaine)

NSem = Application.WorksheetFunction.WeekNum(Date) 'définit le numéro de la semaine NSem
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set ONS = Worksheets("S" & NSem) 'définit l'onglet ONS (génère une erreur si cet onglet n'existe pas)
If Err <> 0 Then 'condition : si une erreur a été générée
    Set OAS = Worksheets("S" & NSem - 1) 'définit l'ancien onglet OAS (la semaine précédente)
    OAS.Copy before:=OAS 'copy la semaine précédente avant elle-même
    Set ONS = ActiveSheet 'définit l'onglet ONS
    ONS.Name = "S" & NSem 'renomme l'onglet ONS
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
ONS.Activate 'active l'onglet ONS
Range("B4").Select 'sélectionne la cellule B4 (ligne à supprimer peut-être)
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400