Modification Macro Calendar pour feuille de présence

Bonjour,

Je dispose d'une Macro développer ici par un membre qui m'a aidé pour ce super résultat !!!

Mais voilà j'aimerai transformer le tableau que concerne ce macro et séparer Nom et Prénom ce qui

incombe de changer le code car j'ajoute une colonne donc la macro ne fonctionne plus.

Je comprend que la moitié du code et donc pas assez de compétences pour le modifier.

Si quelqu'un pouvais s'y pencher et m'indiquer la marche à suivre pour ajouter une colonne et avoir cette macro

toujours fonctionnelle. (m'indiquer les lignes qui permette de modifier colonne et ligne)

Merci à vous.

La macro:

Option Base 1
Option Compare Text

Private Sub Calendar1_Click()
    Application.ScreenUpdating = False

    Feuil1.Activate
    Dim a, b, c, d, dd As Date, ct%, ctt%
    Dim dl&, i, j, n, k, z, zz As String
    dl = Feuil1.Range("a5").End(xlDown).Row
    a = Feuil1.Range(Cells(4, 1), Cells(dl, 40))
    n = 0
    dd = Calendar1

    ReDim b(UBound(a), 6)
    ReDim c(UBound(a), 6)
    ReDim d(UBound(a), 6)

    For j = 11 To 40
        If CDate(a(1, j)) = dd Then
        ctt = Application.WorksheetFunction.CountIf(Feuil1.Range(Cells(5, j), Cells(dl, j)), 1)
            For i = 1 To dl - 5
                If a(i, j) = 1 Then

                    Select Case a(i, 3)
                        Case Is <= 5
                            n = n + 1
                            For k = 1 To 6
                                b(n, k) = a(i, k)
                            Next
                        Case Is >= 9
                            nn = nn + 1
                            For k = 1 To 6
                                c(nn, k) = a(i, k)
                            Next
                        Case Else
                            nnn = nnn + 1
                            For k = 1 To 6
                                d(nnn, k) = a(i, k)
                            Next
                    End Select
                End If
            Next
        End If
    Next

    f1 = Feuil2.Name
    f2 = Feuil6.Name
    f3 = Feuil7.Name

    For z = 1 To 3
        zz = Application.WorksheetFunction.Choose(z, f1, f2, f3)

        With Sheets(zz)

            ct = 0
            .Cells.Delete
            Feuil1.[a4:f4].Copy .[a1:f1]
            Select Case z
                Case 1
                    .[a2].Resize(UBound(b), 6) = b
                Case 2
                    .[a2].Resize(UBound(d), 6) = d
                Case 3
                    .[a2].Resize(UBound(c), 6) = c
            End Select

            With .[a65000].End(xlUp).Offset(2, 0)
                .Font.Bold = True
                .Value = "Totaux"
            End With
            .[b65000].End(xlUp).Offset(2, 0) = "Présent"

            .[b65000].End(xlUp).Offset(1, 0) = "Total Enfant"
            .[c65000].End(xlUp).Offset(2, 0) = .[c65000].End(xlUp).Row - 1

            .[c65000].End(xlUp).Offset(1, 0) = ctt

            With .[a1:f1]
                .Interior.ColorIndex = xlNone
                .Font.Color = 1
                .Columns("a:f").EntireColumn.AutoFit
            End With
            .UsedRange.Borders.LineStyle = xlContinuous
            .UsedRange.BorderAround Weight:=xlThick
          .Rows("1:2").Insert
          With .Cells(1, 1)
          .Value = Sheets(zz).Name & " du " & Format(dd, "dd mmmm yyyy")
          .Font.Bold = True
          End With
          Range(.Cells(1, 1), .Cells(1, 6)).Merge
          Range(.Cells(1, 1), .Cells(1, 6)).HorizontalAlignment = xlCenter
        End With
    Next
    Feuil2.Activate
End Sub

Private Sub CommandButton1_Click()
Unload Me
End Sub

Edit: le sujet initial https://forum.excel-pratique.com/excel/tcd-ou-autre-pour-une-feuille-de-presence-journaliere-t66229.html

Bonjour

A vérifier

Edit : Pas good

Bonsoir Banzai64 !!

Le calendar me rapport une erreur sur la ligne

If CDate(a(1, j)) = dd Then

de plus je sais pas si erreur mais dans le fichier joint je vois une colonne de plus en J ?

Si vous pouviez me dire une fois résolu ce que vous avez changer afin que je comprenne ce fameux code

et avance moi aussi dans ma compréhension car j’avais réussi a séparer non et prénom sur le tableau mais

c'est le résultat ensuite via calendar ou me manquais donc une colonne et résultat marchais pas .

merci Banzai64

Bonjour

Je n'ai travaillé que sur le code dans le module4 !!!!!!

Pour le moment je n'ai pas le temps, je verrais dans la soirée si j'ai le temps

Comment tu lances la macro qui t'affiche le calendrier ?

Je la lance en cliquant sur appel journalier

je sélectionne la date du jour en colonne

ce qui me donne les 3 feuilles de journaliers

Bonjour

Oui zavais pas vu le bouton

A tester

Bonjour Banzai64

Rien a redire qu'un énorme merci, j'avais tenter de modif tout cela mais pas vu partout ou

il fallait modifier. Avec les annotations c'est extra pour comprendre la macro du bout en bout

donc vraiment super et t'en remercie beaucoup.

Nadia

Edit: A si un petit truc tout bête !!! Vu que cela va être utiliser tous les ans et dans le classeur initial sur plusieurs

période j'ai tester par exemple de choisir 2016 sur le calendar et cela ne fonctionne plus l'appel reste vide

Comment est gérer l'année dans cette macro ?

Bonjour

nadia1235 a écrit :

Comment est gérer l'année dans cette macro ?

D'après ce que j'ai vu

La macro transforme L4, M4, N4 etc... en date et la compare avec la date choisie

If CDate(a(1, j)) = dd Then

Mais n'ayant pas l'année dans la cellule, elle utilise l'année en cours

Ce tableau fonctionnera bien en 2016, pas en 2015 pour l'année 2016

Il te faut changer les dates ne ligne 4 pour avoir de vraies dates (et peut-être modifier la macro)

Bonjour Banzai,

Pour la date dans la colonne c'est une macro qui gère dans le classeur initial car on peux modifier les dates de vacances

ainsi cela change automatiquement tous les tableaux ....

Mais en me disant pour l'année dans la colonne j'ai trouver la solution justement en changeant le format de cellule et en ajoutant yy dans la macro ainsi le calendrier gère maintenant les années !!! trop contente cela m'inquiétais !!

merci beaucoup pour tout cela

bonne journée

Nadia

Rechercher des sujets similaires à "modification macro calendar feuille presence"