Simulation roulement - Page 2

Résolu
Précédent
  • 1
  • 2
  1. pimous2403 Messages postés 30 Statut Membre
     
    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
  2. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
  3. pimous2403 Messages postés 30 Statut Membre
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. pimous2403 Messages postés 30 Statut Membre
     
    Bonjour

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



    Merci

    Cordialement.
    0
    1. Frenchie83 Messages postés 2254 Statut Membre 339
       
      le service A001 n'existe pas dans la feuille "mar"
      0
  6. pimous2403 Messages postés 30 Statut Membre
     
    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
  7. pimous2403 Messages postés 30 Statut Membre
     
    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
    1. Frenchie83 Messages postés 2254 Statut Membre 339
       
      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
  8. pimous2403 Messages postés 30 Statut Membre
     
    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
Précédent
  • 1
  • 2