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

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

  • Initiateur de la discussion Initiateur de la discussion SystemeD
  • Date de début Date de début

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 !

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

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:
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…