Bonjour à tous,
Après quelques heures de bricolages et de recherches, je me permets de solliciter votre aide sur un de mes fichiers. J'ai réalisé deux codes (un qui marche par la grace de l'enregistreur... pour balayer toutes les lignes et l'autre que j'ai tenté en freestyle qui ne marche pas) ==> Je les mets à la fin du post.
En gros, j'ai trois onglets, un "synthèse" avec les disponibilités des équipes A,B,C,D,E,F,G par dates (sachant que deux équipes peuvent être dispo le même jour), un "plan" qui définit les besoins de stages pour chaque personne à planifier et un "planning" où je souhaite ramener les disponibilités de chaque personne, en fonction de son roulement et de son équipe et qu'Excel me propose la meilleure répartition par stage en fonction du nombre maximum de participation par stage (ligne 2 de l'onglet planning)
Cela me parait être une montagne, avez vous une idée sur la meilleure manière de s'y prendre?
Merci de votre aide!
ci après le fichier sans macros:
Gestion des roulements_TEST - Copie.xlsx
Ci-dessous mes "bricolages"...:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Dim I As Integer I = 0 Worksheets("SYNTHESE").Select Worksheets("SYNTHESE").Range("A1048576").Select Selection.End(xlUp).Select If Range("B379").Value = Worksheets("PLAN").Range("C3").Value Then Worksheets("PLAN").Range("E3").Value = "X" End If While ActiveCell <> Range("A3") For I = 1 To 3 ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate I = I + 1 ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate I = I + 1 ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate I = I + 1 Next I = 0 ActiveCell.Offset(rowOffset:=-1, columnOffset:=-3).Activate Wend End Subcomment faire une fois que la boucle est créé pour que les infos contenues dans l'onglet synthèse alimente l'onglet planning?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Option Explicit Sub TEST() '1 recherche du nombre de personne Dim I As Long Dim ligne As Long Dim col As Long I = 5 While Sheets("SYNTHESE").Cells(I, 1).Text <> "" I = I + 1 Wend ligne = 5 col = 2 While Sheets("SYNTHESE").Cells(5, col).Text <> "" 'balaye les lignes While ligne < I 'balaye les colonnes '**********************voir si partie du dessous fonctionne******************************* If Sheets("SYNTHESE").Cells(ligne, col).Value = Sheets("PLAN").Cells(col - 0, I) Then Sheets("PLAN").Cells(col - 0, I) = Sheets("SYNTHESE").Cells(ligne, 3).Text End If '***************************************************************************************** ligne = ligne + 1 Wend col = col + 1 ligne = 4 Wend End Sub
Partager