Récapitulatif du Mois

Bonjour, je suis un novice en VBA et je suis en quête d’érudits du VBA pour un projet que m'a demander mon patron.

Nous avons un Classeur de pointage par personne et dans chacun d'eux autant d'onglet que de semaine dans une année soit 52 onglets.

Avec çà, nous avons un classeur récapitulant les pointage pour un mois.

Mon problème et que je ne sais pas du tout quel macro faire car je n'en suis qu'aux prémices du VBA

J'ai déjà cerné mon besoin : une macro ou formule qui aille récupérer dans chaque onglets semaines en rapport avec le Mois (Mois indiqué dans le Tableau du classeur Récapitulatif) , les valeurs présentes dans un tableau et les additionner en fonction des activiter pointer pour indiquer la valeur dans le Tableau du classeur Récapitulatif.

J’espère avoir votre aide car le VBA m’intéresse fortement mais faute de temps je suis obliger de passer par vous

Bonjour,

Peux-tu joindre un fichier pour que puissions t'aider?

Bonjour,

Voici les deux fichier test.

La Feuille de pointage n'est pas encore au point car j'y est incorporé une macro de création d'onglet pour me créer les 52 onglets nécessaire (j'hésite d’ailleurs à la supprimer après la première création car je n'arrive pas à la bloquer après son premier lancement, faut dire que je tâtonne pas mal )

Merci pour votre future aide en tous cas

KiKi47 a écrit :

j'hésite d’ailleurs à la supprimer après la première création car je n'arrive pas à la bloquer après son premier lancement, faut dire que je tâtonne pas mal )

Pour éviter que ta macro ne crée 52 onglets supplémentaires à chaque ouverture de classeur,, tu peux intégrer une condition à ton code disant qu'elle ne lance la boucle que si le nombre d'onglets dans le classeur est inférieur à 52.

   
'*****************************
'* Copier 52 Fois un Onglets *
'*****************************
Sub Workbook_Open()
'declare
Dim numsemaine As String
Dim wrkcpy As Worksheet
Dim mywork As Workbook
Dim wrksource As Worksheet
Dim i As Long
Application.ScreenUpdating = True
'init
Set mywork = ActiveWorkbook
Set wrksource = mywork.ActiveSheet

'work
If Sheets.Count < 52 Then
For i = 2 To 52
    wrksource.Copy After:=Worksheets(ThisWorkbook.Sheets.Count)
    If Len(CStr(i)) = 1 Then
        numsemaine = "0" & i
    Else
        numsemaine = i
    End If
    ActiveSheet.Name = numsemaine
Next
End If
Application.ScreenUpdating = False
End Sub

Merci Game Over ! c'est exactement ce qui manquait à ma macro mais par contre je n'ai pas bien compris à quoi servait la commande "Application.ScreenUpdating = True" ?

Au trement je recherche encore de mon coter pour mon autre demande mais c'est vraiment vaste le monde du VBA en "language"

EDIT: Ah ! siii c'est bon j'ai piger l'utilité de "Application.ScreenUpdating" par contre tu t'es tromper dans l'odre c'était d'abord False et ensuite True , non ? Sauf si c'était désiré ?

KiKi47 a écrit :

tu t'es tromper dans l'odre c'était d'abord False et ensuite True?

oui, c'est l'inverse...

Merci en tous cas je ne connaissait pas , ce soir je me coucherai moi bête

Quelqu'un peut-il m'aider s'il vous plait ?

Ou au moins me montrer un bout de code à adapter car la je tourne en rond

Rechercher des sujets similaires à "recapitulatif mois"