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

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:
Bonjour
J'ai fait une feuille par mois qui est la copie de la feuille data
Chaque feuille mensuel est protégée sans mot de passe
La feuille Data peut être masquée pour éviter toute modification....

A+ François
 

Pièces jointes

Pourquoi y a-t-il des tableaux avec 1 ou 3 lignes vides ?
Est-ce vraiment nécessaire ???


Quand tu dis que tu veux une feuille par mois, c'est pour remplacer la feuille sur laquelle il y a tous les mois ?
 
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…