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

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

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

  • Heures Frais_V4 - Essai VBA_exemple.xlsx
    89.9 KB · Affichages: 17

patricktoulon

XLDnaute Barbatruc
Bonjour
@fanfan38 désolé mais c'est faux
la première semaine 2022 c'est bien a partir du 3/01/2022 pas a partir du 27 dec
le (samedi 01/01/2022 et dimanche 02/01/2022) font partie de la semaine 52 de 2021
pour qu'une semaine fasse partie de l'année il faut que son mercredi et jeudi soit dans l'année


 

fanfan38

XLDnaute Barbatruc
Salut Patrick
Je n'ai pas regardé le n° de semaine...
Je me suis basé sur la feuille B sans la contrôler
Modif faite

A+ François
 

Pièces jointes

  • Heures Frais_V4 - Essai VBA_exemple.xlsm
    106.1 KB · Affichages: 21
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
tu n'a pas besoins de controler le N° de semaine

dans ta version 2 tu n'a même pas la formule pour la 1 ou 52
pour chopper la première semaine de l'année on prend jamais 7*1 mais 14 jours(soit 7*2) -le jours semaine puis -7 puis encore -1
j'ai refait le tableau a coté
la formule sera donc
pour les lundi (à étendre)
=7*(K2+1)+DATE($I$1;1;1)-JOURSEM(DATE($I$1;1;14);1)-7+1
pour les dimanches c'est la même chose
=L2+7-1
 

Pièces jointes

  • Heures Frais_V4 - v° patricktoulon.xlsm
    71.1 KB · Affichages: 8

TAL

XLDnaute Occasionnel
Bonjour
Ci joint ma solution

A+ François
Bonjour,

C'est fantastique !! un grand grand merci ;

Juste encore une petite chose, avant de dupliquer, j'ai mis un "MDP" sur la feuille principale "Trame", afin d'éviter de supprimer des formules lors des saisies, mais visiblement cela me bloque pour lancer la création d'onglets. Peut-on rajouter une ligne dans le script VBA pour ce "MDP" ainsi toute les feuilles seront également protéger.
Désolée, j'aurai dû le préciser auparavant.

Merci
 

TAL

XLDnaute Occasionnel
Bonjour,
 

patricktoulon

XLDnaute Barbatruc
re
et ben dis donc vous êtes bien mal parti
dis moi un peu comment tu va faire avec tes names qui devront être dupliqué forcement
ET !!!! SOUS UN AUTRE NOM !!!!!

si bien que quand c'est pas fait correctement ,ben tu va te retrouver avec des #REF!! dans tes names

de plus quand apprendrez vous a travailler avec des tableau structuré plutot que des range nommées
résultat quand on sait pas qu'il y a des names donc apres creation et suppressions des feuilles
c'est un gros foutoir!!!!!!


quand on présente un problème on présente toutes les contraintes
il est bien évident que le nom semaine va changer pour chaque feuille si tant est qu'il servent a quelque chose par la suite
je parle même pas de la zone d'impression qui devra elle aussi être dupliqué ET SOUS UN AUTRE NOM BIEN SUR !!!!!

bref....
ouaip!! bien mal parti sur ce coup là
 

TAL

XLDnaute Occasionnel
patricktoulon
, je regarderai toute ces anomalies, mais sincèrement, j'essaie de faire avec mon peu de connaissances et expériences. J'apprends au fur et à mesure.

Merci d'avoir pris le temps de regarder et surtout d'avoir pris le temps de m'écrit

@fanfan38
J'ai essayé de placer la macro du mot de passe, mais systématiquement, quelque soit l'endroit ou je le mets, il me mets Sub onglets() en jaune
 

patricktoulon

XLDnaute Barbatruc
voilà ce que l'on a quand on a dupliqué la trame
va jouer avec les names dans tes formules toi !!??? on va bien rigoler
il faudra m'expliquer a quoi sert la duplication de horaire et hrs_contrat
bref il y a de sérieuses lacune dans ta conception

 

patricktoulon

XLDnaute Barbatruc
@Efgé bonjour
comme je l'ai dis tout a l'heure je ne détermine jamais la premiere semaine de l'anné avec 7*1 mais 7*2 et je retire -7 en plus du jsemaine-1

le 7 - jsemaine peut te ramener l'année précédente selon (je resume) le vbfirstfourday
d'ailleurs on le vois dans l'exemple de @fanfan38 ou il me sortait la semaine 52 de 2021 pour la semaine 1 de 2022
j'aurais pu ecrire si c'est plus compréhensible comme ceci si tu préfère
=7*(K2+1)+DATE($I$1;1;1)-JOURSEM(DATE($I$1;1;(7*2));1)-7+1
le principe est simple
en fait on recup la semaine 2 de l'année avec 14(on est large ou juste pilpoil) et on enleve 7 pour la semaine 1 en plus de la deduction du weekday-1
on est sur ainsi de ne pas tomber sur la semaine 52(voir 53) de l'année précédente
14-7=7 ;le lundi qui se trouvera dans ces 7 jours sera forcement le premier de l'année
 

TAL

XLDnaute Occasionnel
J'étais fière de ce que j'avais pu créer avec le peu de connaissances que j'ai
Maintenant je pleure !!!!!

Je vais regarder et essayer de trouver des solutions à tout ça mais il fallait d'abord que l'on m'aide sur la duplication des onglets pour ensuite faire des tests et de modifier ce qui ne va pas. Grace à toi, j'ai déjà un aperçu des problèmes. Merci
 

Discussions similaires

Réponses
7
Affichages
779
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…