Nommer les onglets avec liste de valeurs

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

W

Wyrgle

Guest
Bonjour à tous,
Je cherche à réaliser la macro suivante :
- nommer les onglets d'un fichier avec les dates de jours ouvrés pour un mois donné (JJMMAA).
On aurait ainsi en moyenne 20 onglets.
Mais comment automatiser la création de n onglets pour n jours ?

Merci pour votre aide.
Wyrgle
 
Re : Nommer les onglets avec liste de valeurs

Bonsoir Wyrgle,

Voici un essai avec cette macro :
VB:
Public Sub CreerOnglets()
Dim numMois As Long, laDate As Date, lOnglet As Worksheet
    'récupérer le numéro du mois dont il faut créer les onglets
    numMois = Application.InputBox("Numéro du mois (1 - 12) :", , , , , , , 1)
    If numMois < 1 Or numMois > 12 Then Exit Sub
    laDate = DateSerial(2011, numMois, 1)
    On Error Resume Next
    With ThisWorkbook
        'boucler sur tous les jours du mois
        While Month(laDate) = numMois
            'si c'est un jour ouvré
            If Weekday(laDate, vbMonday) <> 6 And Weekday(laDate, vbMonday) <> 7 And Not Ferie(laDate) Then
                'créer l'onglet en dernière position et le renommer
                Set lOnglet = .Sheets.Add(after:=.Sheets(.Sheets.Count))
                lOnglet.Name = Format(laDate, "ddmmyy")
            End If
            laDate = laDate + 1
        Wend
    End With
    On Error GoTo 0
End Sub


Private Function Ferie(Jour As Date) As Boolean
'   FERIE : Détermine si un jour est férié ou non
'   -------
'
'   Ce programme ne traite que des dates fériées ayant cours en FRANCE.
'   On y trouve les fêtes légales françaises et les fêtes catholiques
'
'   Extrait de Science et vie MICRO N°189 de Janvier 2001
'   Algorithme fourni par Xavier MILAN
'
'   Cet algorithme a été validé sur quelques dates calculées par une autre
'   algorithme codé sous Excel dans le passé
Dim JJ As Long, MM As Long, AA As Long
Dim NbOr As Long, Epacte As Long
Dim Plune As Date, Paques As Date, Ascension As Date, Pentecote As Date

    JJ = DatePart("d", Jour)
    MM = DatePart("m", Jour)
    AA = DatePart("yyyy", Jour)
    
    If JJ = 1 And MM = 1 Then Ferie = True: Exit Function       ' 1 Janvier
    If JJ = 1 And MM = 5 Then Ferie = True: Exit Function       ' 1 Mai
    If JJ = 8 And MM = 5 Then Ferie = True: Exit Function       ' 8 Mai
    If JJ = 14 And MM = 7 Then Ferie = True: Exit Function      ' 14 Juillet
    If JJ = 15 And MM = 8 Then Ferie = True: Exit Function      ' 15 Aout
    If JJ = 1 And MM = 11 Then Ferie = True: Exit Function      ' 1 Novembre
    If JJ = 11 And MM = 11 Then Ferie = True: Exit Function     ' 11 Novembre
    If JJ = 25 And MM = 12 Then Ferie = True: Exit Function     ' Noel
    
    NbOr = (AA Mod 19) + 1
    Epacte = (11 * NbOr - (3 + Int((2 + Int(AA / 100)) * 3 / 7))) Mod 30
    Plune = DateSerial(AA, 4, 19)
    Plune = DateAdd("y", -((Epacte + 6) Mod 30), Plune)
    
    If Epacte = 24 Then Plune = DateAdd("y", -1, Plune)
    If Epacte = 25 And (AA >= 1900 And AA < 2200) Then Plune = DateAdd("y", -1, Plune)
    
    Paques = Plune - Weekday(Plune) + vbMonday + 7              ' Paques
    If (JJ = DatePart("d", Paques) And MM = DatePart("m", Paques)) Then
        Ferie = True:       Exit Function
    End If
    
    Ascension = DateAdd("y", 38, Paques)                        ' Ascension
    If (JJ = DatePart("d", Ascension) And MM = DatePart("m", Ascension)) Then
        Ferie = True:       Exit Function
    End If
    
    Pentecote = DateAdd("y", 11, Ascension)                     ' Pentecote
    If (JJ = DatePart("d", Pentecote) And MM = DatePart("m", Pentecote)) Then
        Ferie = True:       Exit Function
    End If

End Function
A+
 
Re : Nommer les onglets avec liste de valeurs

Merci pour cette macro, je vais l'inclure ds le projet et voir si ca marche.

Moi aussi j'aimais bien SVM , lue depuis le 1er numero avec sa riviere de micros...

Wyrgle.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
557
W
Réponses
16
Affichages
594
Réponses
13
Affichages
525
Retour