Microsoft 365 Excel - Répartition Charge de travail (mensuel)

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 !

Kristelle1555

XLDnaute Nouveau
Bonjour,

Chaque mois, on doit répartir la charge de travaille pour 50 collaborateurs amenés à travailler pour 1 ou plusieurs projets. De mois, en mois, ils ne travaillent pas toujours sur les mêmes projets.

Le besoin :
1. Avoir une vue consolidée par collaborateur de sa répartition de charge mensuelle (ex : 2J - Projet A; 18J - Projet B) > voir Colonne B
2. Avoir une vue de la sous-capacité et/ou sur-capacité (différence entre nombre de jours travaillés et la charge assignée) > différence entre la colonne C et le total de la colonne B
3. Avoir une vue de la répartition de la charge par projet (colonne E à colonne I) et qui travaille par projet

Pour le moment, les informations sont insérées manuellement, ce n'est absolument pas efficace. On compte remédier à cela.

Je souhaiterais savoir quel type de tableau excel créer pour :
1. Insérer le plus facilement/efficacement la donnée
2. Analyser le plus facilement/efficacement la donnée

Merci beaucoup pour vos lumières,
Christelle
 

Pièces jointes

Bonjour,

Pour la colonne B, essaie, en B2 à recopier vers lke bas :
VB:
=LET(tbl;MAP($E$1:$I$1;E2:I2;LAMBDA(p;j;SI(j>0;j&"J - "&p;"")));JOINDRE.TEXTE(CAR(10);1;tbl))

Mets les cellules de la colonne B au format "renvoyer à ligne automatiquement"
Daniel
 
Dernière édition:
@Kristelle1555
Le point 2 est une simple soustraction :

Code:
=C2-SOMME(E2:I2)

Sous quelle forme eux-tu le point 3 ?

Daniel
Bonjour à tous.
Kristelle1555, selon votre demande ci-joint une proposition.
Sur la page "Projet", cliquez sur le bouton "Ouvrir Formulaire Projet". Un formulaire va apparaitre, la Zone "Saisir Nouvelles Données" vous permet d'enregistrer dans le tableau de nouvelles données.
La Zone "Visualiser Projet/Agents" vous permet de faire une recherche par projet, alors vous verrez, après un choix dans le ComboBox "Rechercher par Projet", que ne vont remonter dans la Listview que le ou les projets Choisis. Sur un clik sur un ligne de la listview, le nombre de jours pour le projet s'affichera dans le TextBox "Nbr de Jours par Projet".
Si vous faîtes une recherche par le nom de l'agent, tous les projets pilotés par l'agent remonteront dans la listview et le TextBox "Nbre de jours par Agent" affichera le total de jours de l'agent sur les projets qu'il gère.
A pa
 
Bonjour le Fil
juste pour Saluer Claude !
ce que j'ai mis pour te permettre de faire différemment ! Lol
rien de Compliquer à voir donc
le Code Modifié:
VB:
Private Sub Cdb_Enregistrer_Click()
Dim ws As Worksheet
Dim L As Integer
Dim Tbl As ListObject 'on dit que tbl est l'objet
 Dim LstR As ListRow
     Application.ScreenUpdating = False
  Set ws = Sheets("Tableau Projets")
    If MsgBox("Etes-vous certain de vouloir Insérer ce nouvel élément?", vbYesNo, "Demande de confirmation") = vbYes Then
         Set Tbl = ws.ListObjects("Tbl_Projets")         'ou se trouve tbl qui est l'objet appelé Tbl_Projets
        Set LstR = Tbl.ListRows.Add                            'ici on rajoute une ligne au Tbl_Projets
       With LstR 'avec la Ligne qui vient d'être créée 
         .Range(1) = CDbl(Me.Txt_Index) 'on ajoute en sa première Cellule 
         .Range(2) = Me.Cbx_Projet   'etc 
         .Range(3) = Me.Cbx_Nom
         .Range(4) = CDate(Me.Txt_DateDebut)
         .Range(5) = CDate(Me.Txt_DateFin)
         .Range(6) = CDbl(Me.Txt_NbrJour)
       End With
    End If
    MsgBox ("Données enregistrer dans le tableau !")   
    Créer_Lsv 'On va mettre a jour la ListView
Application.ScreenUpdating = True   
End Sub
je pense qu'a cette heure tu dors ! Lol
Cordialement
Jean marie
 
Bonjour le Fil
juste pour Saluer Claude !
ce que j'ai mis pour te permettre de faire différemment ! Lol
rien de Compliquer à voir donc
le Code Modifié:
VB:
Private Sub Cdb_Enregistrer_Click()
Dim ws As Worksheet
Dim L As Integer
Dim Tbl As ListObject 'on dit que tbl est l'objet
 Dim LstR As ListRow
     Application.ScreenUpdating = False
  Set ws = Sheets("Tableau Projets")
    If MsgBox("Etes-vous certain de vouloir Insérer ce nouvel élément?", vbYesNo, "Demande de confirmation") = vbYes Then
         Set Tbl = ws.ListObjects("Tbl_Projets")         'ou se trouve tbl qui est l'objet appelé Tbl_Projets
        Set LstR = Tbl.ListRows.Add                            'ici on rajoute une ligne au Tbl_Projets
       With LstR 'avec la Ligne qui vient d'être créée
         .Range(1) = CDbl(Me.Txt_Index) 'on ajoute en sa première Cellule
         .Range(2) = Me.Cbx_Projet   'etc
         .Range(3) = Me.Cbx_Nom
         .Range(4) = CDate(Me.Txt_DateDebut)
         .Range(5) = CDate(Me.Txt_DateFin)
         .Range(6) = CDbl(Me.Txt_NbrJour)
       End With
    End If
    MsgBox ("Données enregistrer dans le tableau !")  
    Créer_Lsv 'On va mettre a jour la ListView
Application.ScreenUpdating = True  
End Sub
je pense qu'a cette heure tu dors ! Lol
Cordialement
Jean marie
Salut Jean-Marie.
Effectivement, à l'heure de ton post, il était minuit chez moi.
Merci pour ton code.
Très simple en effet, là je peux intervenir ou adapter facilement. Beaucoup plus facile pour les novices.
Je te souhaite un bon réveil, et une belle journée.
 
- 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
1
Affichages
966
Compte Supprimé 979
C
Réponses
1
Affichages
590
Réponses
0
Affichages
1 K
Réponses
2
Affichages
2 K
Retour