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

Microsoft 365 Créer un plusieurs onglet de jours ouvrables d'un modèle selon un mois et une année.

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

fcu88

XLDnaute Nouveau
Bonjour,

Je cherche à modifier ce fichier excel que j'ai trouvé sur des forums. Il permet de générer autant d'onglet de jours dans le mois saisie.
Ce que je cherche à faire :
- saisir un mois dans l'année
- saisir une année passé ou future
et cela génère un onglet par jour ouvré selon le modèle.

Il me semble que ce genre de question a été abordée dans des discussions mais ma difficulté est de comprendre ces bout de codes et les appliquer à mon fichier.

J'espère avoir été clair.

Merci par avance.
 

Pièces jointes

Solution
Bonjour à tous
Il manque la macro Efface :

VB:
Sub Efface()
Dim Feuille As Worksheet
For Each Feuille In Worksheets
Application.DisplayAlerts = 0
Application.ScreenUpdating = 0
If Feuille.Name <> "Modèle" Then Feuille.Delete
Next Feuille
Application.DisplayAlerts = 1
End Sub
Cordialement
Bonjour à tous,

Une proposition :
VB:
Sub Creation()
Dim NbJ As Long, i As Long, Mois, annee, LaDate
   Efface
   Mois = InputBox("Saisir numéro du mois (1 à 12)")
   annee = InputBox("Saisir une année")
   On Error Resume Next
   LaDate = CDate("1/" & Mois & "/" & annee)
   Err.Clear
   If Not IsDate(LaDate) Then
      MsgBox "Mois et/ou année incorrect => ECHEC"
      Exit Sub
   End If
   NbJ = Day(WorksheetFunction.EoMonth(LaDate, 0))
   Application.ScreenUpdating = 0
   For i = 1 To NbJ
      Sheets("Modèle").Copy After:=Sheets(i)
      ActiveSheet.Name = Format(DateValue(i & "/" & Format(LaDate, "mm/yy")), "dd_mm_yyyy")
      ActiveSheet.Range("A1") = Format(DateValue(i & "/" & Format(LaDate, "mm/yy")), "dddd dd mmmm yyyy")
      ActiveSheet.Shapes("Logo_Code").Delete
   Next i
   Sheets("Modèle").Activate
End Sub
 
Bonjour à tous
Il manque la macro Efface :

VB:
Sub Efface()
Dim Feuille As Worksheet
For Each Feuille In Worksheets
Application.DisplayAlerts = 0
Application.ScreenUpdating = 0
If Feuille.Name <> "Modèle" Then Feuille.Delete
Next Feuille
Application.DisplayAlerts = 1
End Sub
Cordialement
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…