Simulation roulement

Fermé
pimous2403 Messages postés 25 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 26 juin 2017 - Modifié par pimous2403 le 5/02/2017 à 18:06
pimous2403 Messages postés 25 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 26 juin 2017 - 6 mars 2017 à 22:39
Bonjour,

Bonjour,

Dans le cadre de mon travail, afin de faciliter la gestion des plannings, je sollicite votre aide sur un point : Dans un classeur Excel avec plusieurs feuilles (cf pièce jointe), j'aimerais créer plusieurs feuilles symbolisant des semaines type conducteurs qui puiseront leurs données dans la feuille "ValeurhoraireR". Le but étant que la feuille "Roulement conducteur 1", je choississe par exemple le service "A01" pour le lundi 1ère semaine et que donc ce service se masque ou ne soit plus sélectionnable dans la "feuille Roulement conducteur 2 " et ainsi de suite... Ceci afin de créer des roulements conductuer unique avec 36 services par jour et 12 conducteurs en repos, c'est-à-dire au total 48 affectations par jour et donc un roulement sur 48 tour.


https://mon-partage.fr/f/BXbcflYy/

Merci pour votre aide

29 réponses

pimous2403 Messages postés 25 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 26 juin 2017
25 févr. 2017 à 13:53
Bonjour,

J'ai effectué les modifications que tu as apportées. J'ai remarqué que quand je choisis le service A001 pour le chauffeur A le lundi de la 1ère semaine, ce même service reste apparent dans la liste déroulante du chauffeur B pour le même jour, alors que ce n'était pas le cas avant les dernières modifications.

De plus, concernant la feuille "SERVICES PERIODE V1", le but est que lorsque tous les conducteurs auront choisi leur service dans le classeur "simulation de service", tous les services soient grisés. C'est-à-dire qu'au fur et à mesure que les conducteurs choisissent leur service, cela agrémente le classeur "SERVICES PERIODE V1". Exemple, le conducteur A choisis tous ses services pour les 8 semaines, ceux-ci sont donc grisées sur toutes les feuilles du classeur. Le conducteur B verra que ces services sont grisés mais ne pourra pas les sélectionner. Il devra en choisir des non grisés et ainsi de suite pour les autres chauffeurs jusqu'à l'attribution de tous les services à chacun des chauffeurs.

J'espère que mon explication est suffisamment claire.


voici le fichier avec la création des feuilles conducteurs et les modifications que tu m'as demandé de faire : https://mon-partage.fr/f/05macXpA/


Merci beaucoup pour ton aide.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
25 févr. 2017 à 20:42
Bonjour
1)-Important: En premier lieu, il faut réinitialiser les services pour partir d'un fichier vierge. Cliquez sur le bouton "réinitialiser" de la feuille "Services".
2)-Vous n'avez pas affecté les bonnes validations de données pour chaque jour. Pour le lundi de la première semaine, il faut affecter la liste: =Liste_A1_lun_sem1, pour le lundi de la 2ème semaine, se sera: =Liste_A1_lun_sem2, ainsi de suite pour tous les autres jours et pour chaque conducteurs.
3)-remplacez la macro "Grisage" par :
Sub Grisage()
    Application.ScreenUpdating = False
    FeuilleActive = ActiveSheet.Name
    Windows("SERVICES PERIODE 1 v1.xlsm").Activate
    If Sem <> 1 Then Onglet = Left(Jour, 3) & " (" & Sem & ")" Else: Onglet = Left(Jour, 3)
    Set C = Columns("A").Find(Service, LookIn:=xlValues)
    If C Is Nothing Then
        MsgBox "Service introuvable dans le classeur ""SERVICES PERIODE"""
        Exit Sub
    End If
    C.Select
    NbLig = Selection.Rows.Count
    With Range(Cells(C.Row, "A"), Cells(C.Row + NbLig - 1, "S")).Interior
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -0.249977111117893
    End With
    Windows("SIMULATEUR ROULEMENT V1.xlsm").Activate
    Sheets(FeuilleActive).Select
End Sub

Commencez par ces modifications, on verra par la suite.
Bonne soirée
Cdlt
0
pimous2403 Messages postés 25 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 26 juin 2017
26 févr. 2017 à 23:25
Bonsoir

J'ai effectué les modifications que tu as apportées. J'ai remarqué que quand je choisis le service A001 pour le chauffeur A le lundi de la 1ère semaine, ce même se grise mais si je le corrige et le remplace il ne se dégrise pas. De plus les service choisies pour les autres jours (mardi, mercredi....) ne se grise pas a l'heure choix dans les feuilles spécifique mais sur celle de lundi.

J'espère que mon explication est suffisamment claire.

voici le fichier avec la création des feuilles conducteurs et les modifications que tu m'as demandé de faire : https://mon-partage.fr/f/fFQnQEmt/

Merci pour ton aide.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
27 févr. 2017 à 08:45
Bonjour
Avec les nouvelles modifications
https://www.cjoint.com/c/GBBhS6rBnFr
Bonne journée
Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pimous2403 Messages postés 25 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 26 juin 2017
Modifié par pimous2403 le 27/02/2017 à 09:44
Bonjour

Merci pour ta réponse.
J'ai effectué des essais, toujours un problème au niveau des saisies.



Merci

Cordialement.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
27 févr. 2017 à 09:58
le service A001 n'existe pas dans la feuille "mar"
0
pimous2403 Messages postés 25 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 26 juin 2017
28 févr. 2017 à 09:38
Bonjour

Autant pour moi pour mardi. mais ca fait la même chose avec dim(2) conducteur 54040 pourtant le service existe!!
Merci beaucoup pour ton aide.

0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
1 mars 2017 à 08:11
Bonjour
Les modifs + ajout d'un bouton sur chaque feuille "conducteur" pour effacer les tableaux
https://www.cjoint.com/c/GCbhkzeJOfr
Cdlt
0
pimous2403 Messages postés 25 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 26 juin 2017
2 mars 2017 à 22:15
Bonsoir
Je te remercie pour ta réponse. J'ai effectué des essais et j'ai remarqué un problème au niveau de grisage des cellules pour quelque services, si je choisi le A003 les services grisés sont A003,A004 et A006, la meme chose pour plusieurs services sur tout les jours semaines.




J'ai essayé de réparer l'erreur mais sans succès.
"Set c = Columns("A").Find(ServiceEX, LookIn:=xlValues)
NbLig = Selection.Rows.Count
c.Select
If c <> "" Then Range(Cells(c.Row, "A"), Cells(c.Row + NbLig - 1, "S")).Interior.ColorIndex = xlNone"

Merci pour ton aide.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
3 mars 2017 à 09:27
Bonjour
J'ai refais les tests et pour moi tout est OK. Je suppose qu'il devait rester des sélections de services dans les feuilles de certains conducteurs lors des essais.
Le bouton "Réinitialiser" ne faisait que réinitialiser la feuille" Services" et le fichier "Services Périodes 1".
j'avais rajouté un bouton "Effacer le tableau" dans chaque feuille conducteur pour n'effacer que le tableau du conducteur sélectionné, ce qui nécessitait de passer en revue tous les conducteurs. J'ai donc apporté une modification affectée au bouton "Réinitialiser" qui dans la foulée effacera les tableaux de tous les conducteurs. Reste à savoir si cela vous convient, ou bien si vous préférez, créez un bouton supplémentaire dans la feuille "Services" et affectez y la macro "EffacerTableauxConducteurs", si vous optez pour cette solution supprimez les lignes suivantes dans la macro "Reinitialiser":
    EffacerTableauxConducteurs
    Sheets("Services").Select


Voici les nouveaux codes du module 2
Sub Reinitialiser()
    Application.ScreenUpdating = False
    Range("A2:A49").Copy
    Range("B2:BE49").Select
    ActiveSheet.Paste
    
    'Effacement des réservations dans le classeur "SERVICES PERIODES"
    Degrisage
    EffacerTableauxConducteurs
    Sheets("Services").Select
End Sub

Sub EffacerTableauxConducteurs()
    Application.ScreenUpdating = False
    For i = 1 To Sheets.Count
        If Sheets(i).Name <> "Simulation Semaine" And Sheets(i).Name <> "Simulation Vacances" And Sheets(i).Name <> "Valeur horaireR" And Sheets(i).Name <> "Valeur POINT" And Sheets(i).Name <> "Services" Then
            Sheets("Roulement conducteur 1").Select
            Range("D10:K17").ClearContents
        End If
    Next i
End Sub

Cdlt
0
pimous2403 Messages postés 25 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 26 juin 2017
6 mars 2017 à 22:39
Bonsoir
Merci pour ton aide.
Je n'ai pas le temps de tester tout de suite. Je te tiens informé de la suite.
Crdlt
0