Date décalée + trimestres

danyphil

XLDnaute Occasionnel
Salut tout le monde

Pourriez vous m'aider pour modifier une saisie de date. Je m'explique.
avant ma semaine commencée le jeudi jusqu’au mercredi soir. Maintenant ma semaine démarre le lundi normalement. On m'avait aidé pour faire la formule mais je n'arrive pas à faire une formule pour commencer le lundi.
Est il possible de créer automatiquement 3 onglets ( T1 T3 T4) en fonction de l'onglet existant T2?

Es ce possible de créer une page de garde avec 5 boutons donnant accès à T1 T2 T3 T4 et synthèse année?

Merci beaucoup pour votre aide
 

Pièces jointes

  • t22008.xlsm
    89.1 KB · Affichages: 21

Lone-wolf

XLDnaute Barbatruc
Bonjour danyphil

Enregistre un nouveau classeur pour test et met cette fonction dans un module standard.

VB:
Option Explicit

Function NOSEM(d As Date) As Long
   d = Int(d)
   NOSEM = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1)
   NOSEM = ((d - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) \ 7 + 1
End Function

Tu devrais avoir les numéros de semaine à côté de chaque lundi. Pour la création des feuilles, il faut renommer T2 par T1, ensuite

VB:
Sub test()
For i = 2 To 4
Sheets("T1").Copy After:=Sheets(Sheets.Count)
Sheets(i).Name = "T" & i
Next i
End Sub

Pour la 3ème question: oui c'est tout simple. Clique sur Developpeur > Mode création > contrôle activex, tu met les 5 boutons. Double-clique sur chaque bouton et tu inscrit Sheets("T1").Activate, T2 activate etc.
 
Dernière édition:

danyphil

XLDnaute Occasionnel
Bonjour danyphil

Enregistre un nouveau classeur pour test et met cette fonction dans un module standard.

VB:
Option Explicit

Function NOSEM(d As Date) As Long
   d = Int(d)
   NOSEM = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1)
   NOSEM = ((d - NOSEM - 3 + (Weekday(NOSEM) + 1) Mod 7)) \ 7 + 1
End Function

Tu devrais avoir les numéros de semaine à côté de chaque lundi. Pour la création des feuilles, il faut renommer T2 par T1, ensuite

VB:
Sub test()
For i = 2 To 4
Sheets("T1").Copy After:=Sheets(Sheets.Count)
Sheets(i).Name = "T" & i
Next i
End Sub

Pour la 3ème question: oui c'est tout simple. Clique sur Developpeur > Mode création > contrôle activex, tu met les 5 boutons. Double-clique sur chaque bouton et tu inscrit Sheets("T1").Activate, T2 activate etc.
Merci pour la réponse mais je suis novice et je ne comprends pas comment faire pour :

VB:
Sub test()
For i = 2 To 4
Sheets("T1").Copy After:=Sheets(Sheets.Count)
Sheets(i).Name = "T" & i
Next i
End Sub

Pour le reste c'est nickel
merci
 

Lone-wolf

XLDnaute Barbatruc
Re

Tu copie le code et colle dans le module 1, ensuite tu clique sur la petite flèche verte du projet VBA. Copie celui-ci, ensuite il faudra apporter les modifications au nouvelles feuilles. ATTENTION! Dans le projet VBA, il faut renommer Feuil5 par Feuil2. Pour ce faire clique sur la feuille synthèse ensuite, Affichage > Fenêtre propriétés; tu verra (Name), ici met 2 à la place de 5.

VB:
Sub test()
For i = 3 To 5
Sheets("T1").Copy After:=Sheets(Sheets.Count)
Sheets(i).Name = "T" & i - 1
Next i
End Sub
 

danyphil

XLDnaute Occasionnel
Re

Tu copie le code et colle dans le module 1, ensuite tu clique sur la petite flèche verte du projet VBA. Copie celui-ci, ensuite il faudra apporter les modifications au nouvelles feuilles. ATTENTION! Dans le projet VBA, il faut renommer Feuil5 par Feuil2. Pour ce faire clique sur la feuille synthèse ensuite, Affichage > Fenêtre propriétés; tu verra (Name), ici met 2 à la place de 5.

VB:
Sub test()
For i = 3 To 5
Sheets("T1").Copy After:=Sheets(Sheets.Count)
Sheets(i).Name = "T" & i - 1
Next i
End Sub

En faisant comme vous dites, cela fait des erreurs.
pour la 3ieme question, il me dit " impossible d'insérer un objet
 

danyphil

XLDnaute Occasionnel
Re

Bein, il faut lire attentivement ce que j'écrit.
Ton Fichier en retour. Regarde dans Module 1

c'est vraiment super

merci beaucoup

Dans mon userform, lorsque je veux rentrer une rérérence (1-715-666), j'ai un message qui apparait : erreur de saisie. je pense que c'est les tirets.
Est il possible de rajouter un message pour que l'on n'oublies pas de cocher CB13 ou CB14 . Message style: Ne pas oublier de cocher cb13 ou CB14.
pour la 3ieme question, il me dit " impossible d'insérer un objet
 

Discussions similaires

Réponses
9
Affichages
862
Réponses
4
Affichages
768

Statistiques des forums

Discussions
312 164
Messages
2 085 867
Membres
103 007
dernier inscrit
salma_hayek