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 !
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
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
Bonsoir à toutes et à tous,
Pas de retour de Kristelle1555.
Je mets en pièces jointes le fichier sur lequel j'ai apporté quelques rectifications pour celles et ceux que ça intéresse.
Cordialement
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