XL 2010 faire évoluer la date de feuille en feuille

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 !

viper68

XLDnaute Nouveau
Bonjour,

J' ai créer 52 feuilles qui correspond aux 52 semaines de l'année
Mon problème comment faire pour transférer les dates de semaines à la feuille suivante
1 er feuille c'est la 1 er semaine du lundi au dimanche,
puis retrouver les dates suivantes sur la 2 ème feuilles, etc.....

MERCI POUR VOTRE AIDE
 
Bonjour Viper,
En PJ un essai avec :
- Chaque feuille doit s'appeler Sxx avec xx le N° de semaine
- En B1 l'année en cours
- En B2 le lundi de la semaine, avec en B2:
VB:
=DATE(B1;1;1)+JOURSEM(DATE(B1;1;1))+2*(1-JOURSEM(DATE(B1;1;1)))+7*(-1+CNUM(STXT(DROITE(CELLULE("nomfichier";B1);NBCAR(CELLULE("nomfichier";B1))-TROUVE("]";CELLULE("nomfichier";B1)));2;10)))
Il suffit de dupliquer une feuille, de la nommer du N° de semaine désirée.
 

Pièces jointes

re
bonjour
Bien venu
c'est assez simple a faire
mais il nous faudrait un fichier un minimum 52 feuilles plus ou moins présentées comme tu le souhaite
on va pas se taper la construction(peut être particulière) de ton fichier

apres les formules ne devraient pas être compliquées
 
Bonjour viper68, le fil,

Un exemple sommaire et perfectible
(ne prends pas en compte les années bissextiles)
Code:
Sub Semainier()
Dim i&
Application.ScreenUpdating = False
For i = 1 To 52
Sheets.Add(after:=Sheets(Sheets.Count)).Name = "SEM_" & i
Sheets("SEM_" & i).[A1] = i
Sheets("SEM_" & i).[A3] = "=(R[-2]C-1)*7+DATE(YEAR(TODAY()),1,5)-WEEKDAY(DATE(YEAR(TODAY()),1,4),2)"
Sheets("SEM_" & i).[A2:G2] = Array("L", "M", "M", "J", "V", "S", "D")
Sheets("SEM_" & i).[B3:G3].FormulaR1C1 = "=RC[-1]+1"
Sheets("SEM_" & i).[A3:G3].NumberFormat = "m/d/yyyy"
Next
End Sub
A tester sur un classeur ne contenant qu'une seule feuille.

NB: La formule en A3 est de ROGER2327

EDITION: Bonjour sylvanu, patricktoulon, job75
 
Dernière édition:
Bonjour viper68, le forum,

Voyez le fichier joint et la macro affectée au bouton :
VB:
Sub Semaines()
Dim n%
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'---RAZ---
For n = Sheets.Count To 2 Step -1
    Sheets(n).Delete
Next n
'---création---
For n = 2 To 52
    Sheets(1).Copy After:=Sheets(Sheets.Count) 'nouvelle feuille
    Sheets(n).DrawingObjects.Delete 'supprime le bouton
    Sheets(n).Name = "Sem " & n
    Sheets(n).Cells(1) = n
Next n
Sheets(1).Activate
End Sub
A+
 

Pièces jointes

Bonjour viper68, le forum,

Voyez le fichier joint et la macro affectée au bouton :
VB:
Sub Semaines()
Dim n%
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'---RAZ---
For n = Sheets.Count To 2 Step -1
    Sheets(n).Delete
Next n
'---création---
For n = 2 To 52
    Sheets(1).Copy After:=Sheets(Sheets.Count) 'nouvelle feuille
    Sheets(n).DrawingObjects.Delete 'supprime le bouton
    Sheets(n).Name = "Sem " & n
    Sheets(n).Cells(1) = n
Next n
Sheets(1).Activate
End Sub
A+
MERCI
 
Bonjour viper68, le fil,

Un exemple sommaire et perfectible
(ne prends pas en compte les années bissextiles)
Code:
Sub Semainier()
Dim i&
Application.ScreenUpdating = False
For i = 1 To 52
Sheets.Add(after:=Sheets(Sheets.Count)).Name = "SEM_" & i
Sheets("SEM_" & i).[A1] = i
Sheets("SEM_" & i).[A3] = "=(R[-2]C-1)*7+DATE(YEAR(TODAY()),1,5)-WEEKDAY(DATE(YEAR(TODAY()),1,4),2)"
Sheets("SEM_" & i).[A2:G2] = Array("L", "M", "M", "J", "V", "S", "D")
Sheets("SEM_" & i).[B3:G3].FormulaR1C1 = "=RC[-1]+1"
Sheets("SEM_" & i).[A3:G3].NumberFormat = "m/d/yyyy"
Next
End Sub
A tester sur un classeur ne contenant qu'une seule feuille.

NB: La formule en A3 est de ROGER2327

EDITION: Bonjour sylvanu, patricktoulon, job75
MERCI
 
Bonjour Viper,
En PJ un essai avec :
- Chaque feuille doit s'appeler Sxx avec xx le N° de semaine
- En B1 l'année en cours
- En B2 le lundi de la semaine, avec en B2:
VB:
=DATE(B1;1;1)+JOURSEM(DATE(B1;1;1))+2*(1-JOURSEM(DATE(B1;1;1)))+7*(-1+CNUM(STXT(DROITE(CELLULE("nomfichier";B1);NBCAR(CELLULE("nomfichier";B1))-TROUVE("]";CELLULE("nomfichier";B1)));2;10)))
Il suffit de dupliquer une feuille, de la nommer du N° de semaine désirée.
MERCI
 
Bonjour viper68, le fil,

Un exemple sommaire et perfectible
(ne prends pas en compte les années bissextiles)
Code:
Sub Semainier()
Dim i&
Application.ScreenUpdating = False
For i = 1 To 52
Sheets.Add(after:=Sheets(Sheets.Count)).Name = "SEM_" & i
Sheets("SEM_" & i).[A1] = i
Sheets("SEM_" & i).[A3] = "=(R[-2]C-1)*7+DATE(YEAR(TODAY()),1,5)-WEEKDAY(DATE(YEAR(TODAY()),1,4),2)"
Sheets("SEM_" & i).[A2:G2] = Array("L", "M", "M", "J", "V", "S", "D")
Sheets("SEM_" & i).[B3:G3].FormulaR1C1 = "=RC[-1]+1"
Sheets("SEM_" & i).[A3:G3].NumberFormat = "m/d/yyyy"
Next
End Sub
A tester sur un classeur ne contenant qu'une seule feuille.

NB: La formule en A3 est de ROGER2327

EDITION: Bonjour sylvanu, patricktoulon, job75

Bonjour viper68, le fil,

Un exemple sommaire et perfectible
(ne prends pas en compte les années bissextiles)
Code:
Sub Semainier()
Dim i&
Application.ScreenUpdating = False
For i = 1 To 52
Sheets.Add(after:=Sheets(Sheets.Count)).Name = "SEM_" & i
Sheets("SEM_" & i).[A1] = i
Sheets("SEM_" & i).[A3] = "=(R[-2]C-1)*7+DATE(YEAR(TODAY()),1,5)-WEEKDAY(DATE(YEAR(TODAY()),1,4),2)"
Sheets("SEM_" & i).[A2:G2] = Array("L", "M", "M", "J", "V", "S", "D")
Sheets("SEM_" & i).[B3:G3].FormulaR1C1 = "=RC[-1]+1"
Sheets("SEM_" & i).[A3:G3].NumberFormat = "m/d/yyyy"
Next
End Sub
A tester sur un classeur ne contenant qu'une seule feuille.

NB: La formule en A3 est de ROGER2327

EDITION: Bonjour sylvanu, patricktoulon, job75
Bonjour Staple1600,

J'ai encore besoin de votre aide pour continuer à faire mon tableau.
J'ai bien mes 52 semaines, avec les dates du lundi au dimanche, c'est parfait !
J'aimerais dupliquer ces dates en automatique dans les cases bleus voir le fichier joint
Bien cordialement et merci
 

Pièces jointes

- 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
3
Affichages
115
Réponses
5
Affichages
301
Réponses
8
Affichages
239
Retour