XL 2010 faire évoluer la date de feuille en feuille

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
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • FeuilleDate.xlsx
    14 KB · Affichages: 4

patricktoulon

XLDnaute Barbatruc
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
 

Staple1600

XLDnaute Barbatruc
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:

job75

XLDnaute Barbatruc
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

  • Semaines(1).xlsm
    17.2 KB · Affichages: 8

viper68

XLDnaute Nouveau
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
 

viper68

XLDnaute Nouveau
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
 

viper68

XLDnaute Nouveau
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
 

viper68

XLDnaute Nouveau
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

  • jour dupliqué.xlsm
    147.9 KB · Affichages: 5

Discussions similaires

Réponses
5
Affichages
256

Statistiques des forums

Discussions
312 211
Messages
2 086 300
Membres
103 173
dernier inscrit
Cerba95