Microsoft 365 Création automatique d'onglets nommé avec dates semaine (début et fin)

  • Initiateur de la discussion Initiateur de la discussion TAL
  • 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 !

TAL

XLDnaute Occasionnel
Bonjour,

Tout d'abord, je vous souhaite à tous une excellente année, une bonne santé !!!

J'aurai besoin de vous, en effet, j'ai créé un planning à la semaine, il faut que je crée 54 onglets nommé à la date de la semaine concerné. J'ai une date de début et une date de fin, puis j'ai compilé ces deux dates de façon qu'il n'y ai plus qu'une cellule avec ces deux dates en A2. (formule : =TEXTE($C$1;"jjmmm")&"."&TEXTE($I$1;"jjmmm ")

J'aimerai arriver à créer en une seule fois les 54 onglets nommé avec les dates de la semaine ex : 27.dec.02janv

Ce planning sera archivé, et un autre devra être créer avec l'année suivante.
Afin de ma faciliter la tâche, je fais appel à votre savoir faire.

D'avance merci
 

Pièces jointes

Re
@TAL
Désolé de phagocyter ton sujet, mais j'aimerai comprendre 😉

@patricktoulon
Merci de ces explications.
en fait on recup la semaine 2 de l'année avec 14(on est large ou juste pilpoil)
Mais en 2025 le 14 janvier est semaine 3 🤔
Cordialement

EDIT
C'est même fréquent
1642934538951.png
 
Dernière édition:
re
@Efgé effectivement pour 2015 on a un décalage en effet le 01/01/20215 est un jeudi donc la semaine fait parti de l'année
dans ce cas la il faut ajouter une autre condition en formule pas simple
en vba se serait plus simple finalement
je ne veux pas ajouter l'addition logique du transfert de la booleenne de la fonction No.semaine.iso car tout le monde ne l'a pas
par exemple moi je suis sur 2013 je l'ai mais 2007 ne la pas
j'ai bien ma fonction perso("ISOWEEK2007") mais vba pour vba alors autant tout faire en VBA alors
bien vu @Efgé😉
pour le vba
vous avez dans le forum des fonctions personnalisées ma fonction ISOWEEK2007( compatible all version excel)
VB:
'***********************************************
'fonction ISOWEEK pour 2007(compatible avec superieur )
'auteur patricktoulon
'date:05/032016
'
'***********************************************
'LA fonction
Function ISOWEEK2007(dat As Date)
    Dim X&
    X = CLng(dat)
    ISOWEEK2007 = Evaluate("= TRUNC((" & X & "-WEEKDAY(" & X & ",2)+11-DATE(YEAR(" & X & "-WEEKDAY(" & X & " ,2)+4),1,1))/7)")
End Function

'et pour la tester
Sub test()
     MsgBox Format(CDate("01/01/2015"), "ddd dd/mm/yyyy") & "  = semaine " & ISOWEEK2007(CDate("01/01/2015"))
   MsgBox Format(CDate("05/01/2015"), "ddd dd/mm/yyyy") & "  = semaine " & ISOWEEK2007(CDate("05/01/2015"))
 End Sub
 
Je change le MDP sur la feuille "Trame" puis sur VBA mais quand je lance le bouton, les feuilles ne sont pas protéger, pourtant, il me semble bien changer au bon endroit, en tout cas, j'espère

Y a t'il une autre manip à faire ?


Sub CreateOnglets()
Dim i As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("Trame").Unprotect ("....")
For i = 2 To 54
If Feuil2.Cells(i, "G") <> "" Then
Sheets("Trame").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets("B").Range("I" & i).Value
Range("A2").Value = ActiveSheet.Name
Range("C1").Value = Sheets("B").Range("G" & i).Value
ActiveWorkbook.Names.Add Name:="semaine_" & i - 1, RefersToR1C1:="='" & ActiveSheet.Name & "'!R2C1"
End If
Next
Application.ScreenUpdating = True
Sheets("Trame").Protect ("....")
Feuil2.Activate
End Sub
 
re
bonsoir
VB:
Sub CreateOnglets()
Dim i As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("Trame").Unprotect ("....")
For i = 2 To 54
If Feuil2.Cells(i, "G") <> "" Then
Sheets("Trame").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets("B").Range("I" & i).Value
Range("A2").Value = ActiveSheet.Name
Range("C1").Value = Sheets("B").Range("G" & i).Value
ActiveWorkbook.Names.Add Name:="semaine_" & i - 1, RefersToR1C1:="='" & ActiveSheet.Name & "'!R2C1"
activesheet.Protect ("....")'!!!!!!!!!!!'
End If
Next
Application.ScreenUpdating = True
Sheets("Trame").Protect ("....")
Feuil2.Activate
End Sub
 
re
bonsoir
VB:
Sub CreateOnglets()
Dim i As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("Trame").Unprotect ("....")
For i = 2 To 54
If Feuil2.Cells(i, "G") <> "" Then
Sheets("Trame").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets("B").Range("I" & i).Value
Range("A2").Value = ActiveSheet.Name
Range("C1").Value = Sheets("B").Range("G" & i).Value
ActiveWorkbook.Names.Add Name:="semaine_" & i - 1, RefersToR1C1:="='" & ActiveSheet.Name & "'!R2C1"
activesheet.Protect ("....")'!!!!!!!!!!!'
End If
Next
Application.ScreenUpdating = True
Sheets("Trame").Protect ("....")
Feuil2.Activate
End Sub
😊 Merci beaucoup, je vais de suite essayer

Merci pour votre immense aide !!!!!!
 
Bonjour,

Je reviens vers toi afin de voir s'il était possible d'avoir la même formule du post 23 MAIS cette fois, de façon à ce que puisse renouveler chaque semaine moi même sans dupliquer toute l'année en une seule fois. Recopier le dernier onglet créé systématiquement. Ensuite je l'intégrerai dans un ruban personnalisé.

D'avance merci et désolée d'abuser de ton temps.
Bien à toi
 
Bonjour
j'ai séparé la création de la liste de la création des onglets
tu a donc maintenant deux boutons et une combobox de 1 a 53 pour choisir quelle semaine créer
le name suit toujours bien entendu

tu crée donc ta liste d'abords avec le bouton "Création de la Liste"

ensuite
soit tu crée tout les onglets avec le bouton "Création Onglets"
soit tu selectionne le numero de semaine dans la combo l'onglet correspondant au numéro de semaine sera créé

A+😉
 

Pièces jointes

Un grand Merci
Sincèrement, merci d’être présent, d’exister, de votre disponibilité, de votre réactivité.
C’est grand soulagement que vous apportez et une compétences inestimables

MERCI BEAUCOUP
Je vous souhaite une belle journée
 
- 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
15
Affichages
2 K
Réponses
4
Affichages
590
Retour