XL 2016 Demande d'aide sur un tableau excel

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 !

FOCHLAVAL

XLDnaute Junior
Bonjour

J'ai besoin de votre aide sur ce tableau.

Je n'arrive pas à faire correspondre les totaux mensuels de chaque agent dans le récap de la feuille 2 ( A noter que l'agent 3 part en retraite au 31/7/26).

J'aimerais aussi rendre accessible cette feuille par plusieurs utilisateurs sans que cela ne marque Lecture seule, j'ai essayé la fonctionnalité partager, mais cela ne fonctionne pas.

Est-ce possible d'avoir un onglet par mois également en gardant une impression d'un mois par page ?

Vous remerciant chaleureusement d'avance
 

Pièces jointes

Bonjour,

Les totaux en AG sont correct?
Ils semblent l'être (mais je ne les ai pas tous vérifiés).

Les résultats en B2:M18 semblent tout aussi correctes.
Donc quel est le problème ???


[edit]
Ah non, il manque l'Agent 3 à partir d'août, ce qui décale les cellules...
L'idéal serait de laisser la ligne de l'Agent 3 pour simplifier les formule, sinon utiliser une fonction de recherche de l'Agent x pour trouver la bonne ligne de la colonne AG.
[/edit]
 
Dernière édition:
Bonsoir FLOCHLAVAL, le forum,

Plutôt qu'une solution compliquée par formule on peut préférer une solution simple avec cette fonction VBA :
VB:
Function TotalMois(mois, Agent$, Plage As Range, Total As Range)
Dim i&, j&
mois = Month("1/" & mois)
Set Plage = Plage.Resize(Plage(Plage.Rows.Count).End(xlUp).Row, 1)
For i = 1 To Plage.Count
    If IsDate(Plage(i)) Then If Month(Plage(i)) = mois Then Exit For
Next i
For j = i + 1 To Plage.Count
    If IsDate(Plage(j)) Then Exit For
    If Plage(j) = Agent Then TotalMois = Intersect(Plage(j).EntireRow, Total): Exit For
Next j
If TotalMois = 0 Then TotalMois = "" 'masque les zéros
End Function
Formule en B2 à propager sur les colonnes B:M :
Code:
=TotalMois(B$1;$A2;Data!$A:$A;Data!$AG:$AG)
A+
 

Pièces jointes

Pour imprimer les mois j'ai créé une liste de validation en S2 de la feuille "Graphiques" et ce code :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$S$2" Or Target(1) = "" Then Exit Sub
Dim mois%
Application.ScreenUpdating = False
If Target <> "TOUT" Then
    mois = Month("1/" & Target)
    Imprimer mois
Else
    For mois = 1 To 12
        Imprimer mois
    Next mois
End If
End Sub

Sub Imprimer(mois%)
Dim derlig&, i&, j&
With Sheets("Data")
    derlig = .Cells(.Rows.Count, 1).End(xlUp).Row
    For i = 1 To derlig
        If IsDate(.Cells(i, 1)) Then
            If Month(.Cells(i, 1)) = mois Then
                For j = i + 1 To derlig
                    If LCase(.Cells(j, 1)) = "validation planning" Then
                        .PageSetup.PrintArea = .Range(.Cells(i, 1), .Cells(j, "AG")).Address
                        .PrintPreview 'pour afficher l'aperçu avant impression
                        '.PrintOut 'pour imprimer
                        Exit For
                    End If
                Next j
            End If
        End If
    Next i
End With
End Sub
 

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

Réponses
7
Affichages
1 K
Retour