Planning de livraisons interactif avec demandes

Donc pour chaque nouvelle demande on doit vérifier que pour une date x et créneau horaire, la Grue n'est pas utilisée par ENTREPRISE

Si oui, la nouvelle livraison est automatiquement Autonome
Si non, la nouvelle livraison est Grue ou Autonome (donc selon choix dans inputbox)
Correct ?

Que se passe-t-il si une nouvelle livraison Grue a déjà été enregistrée dans un créneau identique à celui demandé par ENTREPRISE ?

Coté planning, on devra mettre les deux infos dans la même cellule si les créneaux sont identiques

Ce serait plutôt de mettre en évidence que le créneau est déjà utilisé par l'"ENTREPRISE", à l'utilisateur ensuite de déterminer si sa livraison peut se décharger de manière autonome et de continuer la saisie.

Que se passe-t-il si une nouvelle livraison Grue a déjà été enregistrée dans un créneau identique à celui demandé par ENTREPRISE ?

Là ce serait plus une correction qui se ferait par téléphone ou en dehors du fichier Excel. L'essentiel est que l'"ENTREPRISE" choisit ses créneaux d'utilisation et les utilisateurs s'adaptent en fonction. Si jamais il y a besoin de déplacer un créneau de l'"ENTREPRISE", l'arrangement se fait en direct et pas sur Excel.

Coté planning, on devra mettre les deux infos dans la même cellule si les créneaux sont identiques

C'est cela, est-ce possible?

Coté planning, on devra mettre les deux infos dans la même cellule si les créneaux sont identiques

C'est cela, est-ce possible?

Oui c'est ce que j'ai préparé.


Voici ce que j'ai préparé.
Si une demande est faite pour ENTREPRISE, le demandeur aura le choix entre Grue ou Autonome dans l'inputbox
Si une nouvelle demande est faite dans le même créneau que celui fait pour l'ENTREPRISE, l'utilisateur est prévenu que le créneau est déjà utilisé pour la Grue. S'il confirme, l'inputbox n'est pas affichée et la déchargement est mis sur Autonome par défaut (Attention cela ne se produit que si le créneau horaire est identique à celui de l'ENTREPRISE

Pour le planning, les cellules du créneau reprendront les deux livraisons (ENTREPRISE et sous traitants)

Exemple :

image

Planning

image

Est-ce que rejoint votre attente ?

Bonjour,

cela rejoint exactement mes attentes !

S'il confirme, l'inputbox n'est pas affichée et la déchargement est mis sur Autonome par défaut (Attention cela ne se produit que si le créneau horaire est identique à celui de l'ENTREPRISE

Cela ne poserait pas de problème, je rajouterai un message d'avertissement en plus

Actuellement le code fonctionne d'heure en heure :

Exemple :
Entreprise : Grue de 8h à 9h
Sous traitant de 8h à 9h

Là j'ai pensé à d'autres cas qui ne sont pas pris en compte. Exemple pour les cas suivants :

Exemple 1 :
Entreprise : Grue de 8h à 9 h
Sous traitant souhaite de 7h30 à 9h00

Exemple 2
Entreprise : Grue de 8h à 9 h et de 12 à 14h
Sous traitant demande de 13h30 à 14h30

Les cas peuvent devenir très compliqués à gérer...
Dites moi

Si cela est le cas le texte ne s'ajoute pas complètement sur les créneaux vides et vient compléter la partie de créneau déjà utilisée?

Si le seul problème est de rendre automatique le fait de passer en déchargement autonome nous pouvons rajouter un nota dans le message : "si votre livraison empiète sur un créneau de l'ENTREPRISE' veuillez formuler 2 demandes". A l'usage cela rendrait les choses plus simples qu'en pensez-vous?

Si cela est le cas le texte ne s'ajoute pas complètement sur les créneaux vides et vient compléter la partie de créneau déjà utilisé

Si on reprend mon exemple 1, cela donnerait ceci dans le planning

image

A y réfléchir, je me demande s'il ne serait pas plus simple d'intervenir lorsque l'on génère le planning et si le code voit Entreprise et deux fois Grue dans la cellule on le mentionne via un message et on met une couleur différente ou les deux...

Comme ceci

image

bonjour Téo Peron, Dan,

n'est-ce pas plus facile avec des formes (+ text et/ou hyperlink) et une sorte de graphique Gantt (éventuellement, les heures horizontal et les jours vertical)

image

Si on reprend mon exemple 1, cela donnerait ceci dans le planning

Sur l'exemple il est mentionné 2 fois une livraison avec un déchargement à la grue, la livraison de l'entreprise "TTT" serait à rendre autonome plutôt non?

A y réfléchir, je me demande s'il ne serait pas plus simple d'intervenir lorsque l'on génère le planning et si le code voit Entreprise et deux fois Grue dans la cellule on le mentionne via un message et on met une couleur différente ou les deux...

Je pense que le simple message avertisseur pour signaler que le créneau est occupé par l'entreprise peut suffire

Sinon l'idée du texte mis d'une couleur différente lorsqu'il y a écrit "grue" et "autonome" dans la même cellule est une très bonne idée pour signifier que tout est occupé

bonjour Téo Peron, Dan,

n'est-ce pas plus facile avec des formes (+ text et/ou hyperlink) et une sorte de graphique Gantt (éventuellement, les heures horizontal et les jours vertical)

Bonjour BsAlv,

la mise en forme avec les barres paraît bien lisible mais cela fonctionne-t-il de la même manière que des cellules remplies de textes? est-il possible d'inscrire du texte au sein des barres?

Sur l'exemple il est mentionné 2 fois une livraison avec un déchargement à la grue, la livraison de l'entreprise "TTT" serait à rendre autonome plutôt non?

Dans ce cas, c'est ce que je vous expliquais si le déchargement est programmé à la même heure cela fonctionne.
Par contre cela se corse si on est dans le cas de l'exemple 1. (idem pour l'exemple 2)
Raison pour laquelle je proposais de laisser tel quel dans la demande de livraison mais que au moment où on génère le planning, le fait de mettre une couleur différente permettait de voir qu'il y a un souci par rapport à l'ENTREPRISE.
Resterait à retourner dans la feuille demande de livraison pour corriger et remplacer Grue par Autonome pour TTT

Je pense que le simple message avertisseur pour signaler que le créneau est occupé par l'entreprise peut suffire

On pourrait aussi mettre ce message lors de la génération du planning plutôt que de mettre une couleur et mettre la couleur aussi
Mais vu qu'au final c'est le planning qui compte, il me semble que la couleur serait un indicateur suffisant

Bonjour,

C'est vrai que cela pourrait être intéressant finalement. Je pense que les 2 solutions serait à mettre, le texte en couleur ainsi qu'un message et ensuite le reste se ferait manuellement.

re,

un planning avec Gantt est quelque chose comme ceci, mais on peut encore choisir les couleur etc. Maintenant c'est fait pour max 3 cheveauchements et les couleurs sont transparants, donc le 4eme cheveauchement du mercredi est aussi visible. Les heures avant 7:00 et après 18:00 representent aussi une colonne.

17teo-peron.xlsm (112.15 Ko)

Re

C'est vrai que cela pourrait être intéressant finalement. Je pense que les 2 solutions serait à mettre, le texte en couleur ainsi qu'un message et ensuite le reste se ferait manuellement.

Ok, Les 2 solutions seront placées dans le code planning. Un message qui vous informe du souci et la mise en couleur de la police en rouge

quel type de message voulez-vous avoir ? exemple --> "Attention les heures choisies pour le sous-traitant "xxx" sont déjà réservées par ENTREPRISE"

Dites-moi et je vous donne le code planning que j'ai préparé

Bonjour,

quel type de message voulez-vous avoir ? exemple --> "Attention les heures choisies pour le sous-traitant "xxx" sont déjà réservées par ENTREPRISE"

ce message serait très bien, au besoin je le modifierais plus tard

Bonjour BsAlv,

Sur votre fichier je ne comprend pas comment se fait la saisie des demandes, est-ce à taper à la main ou à combiner avec les macros "soumettre demande"?

Bonjour

Votre macro planning comme ceci

Sub Planning()
Dim TS As ListObject
Dim cel As Range
Dim col As Integer
Dim lig As Byte, i As Byte

Set TS = Range("Tab_demande_livraison").ListObject

For Each cel In TS.ListColumns(2).DataBodyRange
    With Feuil2
        On Error Resume Next
        col = .Rows(1).Find(cel.Value, LookIn:=xlValues).Column
        If Err.Number > 0 Then MsgBox "Date du " & cel.Value & " inexistante dans le planning herbdomadaire !", vbCritical, "Date inconnue": Exit Sub
        lig = WorksheetFunction.Match(cel.Offset(0, 1), .Columns(1), 1)
        If lig > 0 Then
            For i = lig To .Range("A" & Rows.Count).End(xlUp).Row
                If .Range("A" & i + 1).Text > cel.Offset(0, 2).Text Then Exit For
                If TS.DataBodyRange.Item(cel.Row - TS.HeaderRowRange.Row, 7) = "Validée" Then
                    If .Cells(i, col) Like "*GRUE*ENTREPRISE*" Then 'verification si Grue et entreprise
                        MsgBox "Attention les heures choisies pour le sous-traitant " & cel.Offset(0, -1).Value & vbCrLf & _
                            " sont déjà occupées par ENTREPRISE ", vbOKOnly + vbCritical, "Heures incompatibles"
                        .Cells(i, col) = .Cells(i, col) & vbCrLf & cel.Offset(0, 4).Value & "-" & cel.Offset(0, -1).Value & "-" & cel.Offset(0, 3).Value
                        .Cells(i, col).Font.ColorIndex = 3 'police rouge
                    Else: .Cells(i, col) = cel.Offset(0, 4).Value & "-" & cel.Offset(0, -1).Value & "-" & cel.Offset(0, 3).Value
                    End If
                End If
            Next i
        End If
        lig = 0
    End With
Next cel
End Sub

En y repensant, j'aurais dû vous le dire au départ mais vous auriez peut être dû mettre les jours en colonne A et les heures en ligne 1. Avec excel il faut toujours penser à travailler verticalement plutôt qu'horizontalement. Moins de colonnes il y a, mieux c'est
Je peux revoir si vous voulez.

Crdlt

Edit : notez que votre demande sur le Autonome qui se met automatiquement n'est pas prévue.
Si vous voulez tout de même l'avoir, je dois modifier le code Soumettre demande. Mais le plus simple serait de se passer de cette fonctionnalité au profit de la couleur rouge dans le planning qui permet de voir qu'il y a un souci. On s'évite des lignes de codes et surtout de compliquer

re, salut Dan

je n'ai pas lu tout ce topic ! Ce serait avec les données que vous avez créé avec l'aide des macros de @Dan. Je ne connais pas votre dernière version, donc si vous me la donnez, j'ajouterai ce Gantt. Si vous voulez le tourner 90° degrees, il faut le dire. Si vous voulez "Grue" ou "autonome" ou "statut" avec une couleur spécifique, la même chose.

Bonjour Dan,

Lorsque j'essaye d'intégrer les demandes, le message au sujet du créneau occupé par l'entreprise s'affiche sans cesse. Est-il possible de ne le faire s'afficher qu'une seule fois?

image

Faudrait-il que je crée une macro qui remet le format texte en noir lorsque l'on vide le planning? Car la mise en forme persiste

Bonjour BsAlv,

Je vous transmet mon fichier Excel de travail si vous le souhaitez

re,

vous pouvez encore changer les couleurs, etc si vous voulez. Si vous glissez au dessus un forme, après une seconde on voit le texte "hyperlink" avec l'explication.

Rechercher des sujets similaires à "planning livraisons interactif demandes"