Planning de livraisons interactif avec demandes

Je ne comprend pas votre remarque, sur mon fichier cela fonctionne normalement et la mise en forme se fait toute seule :

Dans votre fichier que j'ai ici, cela ne semble pas fonctionner. Vous avez quelle formule dans votre MFC ?
Avez-vous essayé si vous mettez autre que Grue par exemple

Voici la MFC que je n'ai pas changée depuis la dernière fois avec un test en retirant le mot grue :

image

Voici la MFC que je n'ai pas changée depuis la dernière fois avec un test en retirant le mot grue :

Ok !. Bah si cela marche autant laisser comme cela. Inutile de se compliquer la vie avec la formule que je vous ai proposée

Très bien je garde comme c'est actuellement dans ce cas, merci encore pour votre aide précieuse !

Concernant les chevauchements de livraisons, savez-vous s'il est possible de faire en sorte que 2 livraisons ne se superposent pas?

C'est-à-dire qu'une demande de livraison programmée par exemple le 29/08/2024 entre 7h et 9h ne puisse pas être demandée ou en tous cas ajoutée au planning hebdomadaire

C'est-à-dire qu'une demande de livraison programmée par exemple le 29/08/2024 entre 7h et 9h ne puisse pas être demandée ou en tous cas ajoutée au planning hebdomadaire

Juste ! là c'est nettement plus complexe. Il faudrait presque vérifier lors de l'ajout de données sans quoi le code va aller écraser l'existant

A vrai dire j'y avais pensé au début puis cela m'est sorti de la tête....
Donc à analyser pour trouver une solution car il faut aussi considérer que cela doit concerne les lignes qu'elles soient validées ou pas...
On ne peut pas aller vérifier dans le planning à mon avis puisque chaque nouvelle entrée est mise en attente...

Comment voyez-vous ce sujet à l'utilisation ?

Ce que j'imaginais, c'était un tri par date de demande puis par heures de début et ensuite une vérification qu'il n'y a pas la même heure de début pour 2 livraisons

Quelque chose que je n'arrive pas encore à cibler est comment faire lorsque qu'une livraison A prévue entre 7h et 9h entre en conflit avec une livraison B commençant à 8h et terminant à 9h.

C'est là que j'ai commencé à m'intéresser à PQ pensant que cela pourrait peut-être régler ce problème de conflits

Dans l'usage, je pourrais faire en sorte de permettre le lancement de la macro de vérification des demandes sur le rendu du planning hebdomadaire et ce serait à ce moment là à l'administrateur de réfléchir à ces conflits d'heures. Je pose la question afin d'avoir votre avis sur ce qu'il est possible de faire pour rendre ce planning le plus automatique possible.

Ce que j'imaginais, c'était un tri par date de demande puis par heures de début et ensuite une vérification qu'il n'y a pas la même heure de début pour 2 livraisons
Quelque chose que je n'arrive pas encore à cibler est comment faire lorsque qu'une livraison A prévue entre 7h et 9h entre en conflit avec une livraison B commençant à 8h et terminant à 9h.

On peut faire un code qui balaye la base et vérifie le jour et l'heure de début et heure de fin.

Cela pourrait peut être se réaliser lors de la validation. de cette sorte vous pouvez décider du oui ou non mais le mieux, je pense, serait au départ d'autant que si c'est une autre personne que vous qui complète les inputbox, le mieux serait d'en être averti à ce moment là.

Au delà de ce souci je me pose aussi la question de savoir si vous avez plusieurs grues ou pas... Idem pour Autonome (bien que je ne sais pas à quoi cela correspond)

deux premières solutions en cas de nouvelle demande :

- Soit mettre un message au départ qui oblige à aller vérifier le planning avant pour le jour choisi mais il reste toujours le souci que pour un jour vous avez trois demandes enregistrées en attente de validation pour le même créneau car vous pourriez refuser un ou l'autre

ou

- Soit afficher dans un message qui reprend tous les horaires enregistrés pour le jour choisi avant d'enregistrer la demande. De cette sorte cela permettrait de confirmer l'ajout ou non.

Au delà de ce souci je me pose aussi la question de savoir si vous avez plusieurs grues ou pas... Idem pour Autonome (bien que je ne sais pas à quoi cela correspond)

La plupart du temps je n'ai qu'une seule grue, donc une seule possibilité de créneau à la fois.

C'est vrai que je n'ai pas forcément expliqué, j'ai 2 cas de figure en règle générale :

  • une livraison à lieu et il est nécessaire d'utiliser la grue pour déchzarger les camions (grue)
  • une livraison a lieu mais l'entreprise qui la réalise décharge elle même son matériel et n'a pas besoin d'utiliser la grue (autonome)

- Soit afficher dans un message qui reprend tous les horaires enregistrés pour le jour choisi avant d'enregistrer la demande. De cette sorte cela permettrait de confirmer l'ajout ou non.

Je pense que cette solution serait la plus simple à mettre en place et la plus fiable

Bonjour,

Merci pour les explications

La plupart du temps je n'ai qu'une seule grue, donc une seule possibilité de créneau à la fois.

Ok. Ce sera plus simple dans ce cas

- Soit afficher dans un message qui reprend tous les horaires enregistrés pour le jour choisi avant d'enregistrer la demande. De cette sorte cela permettrait de confirmer l'ajout ou non.

Je pense que cette solution serait la plus simple à mettre en place et la plus fiable

A chaque fois que vous livrerez et qu'il existera déjà une demande pour le jour choisi vous aurez un message qui vous demande de confirmer la livraison et qui vous renseignera les créneaux horaires déjà enregistrés ainsi que le choix Grue ou Autonome

image

Bien entendu, si aucune livraison n'est prévue, le message vous dira mentionnera --> "Aucune livraison n'est prévue pour le jour choisi"

Est-ce que cela conviendrait ?

Bonjour

C'est parfait l'affichage du message, le message ne s'affiche que pour les livraisons de la journée qui sont validées ou même pour celles en attente?

Je pense qu'il faudrait peut-être créer une autre feuille dans le classeur qui répertorie toutes les livraisons validées qu'en pensez-vous? Afin de faire en sorte que la feuille "Demande de livraisons" soit seulement à remplir.

En termes de code je ne sais pas si cela complique beaucoup le code actuel

Bonjour

C'est parfait l'affichage du message, le message ne s'affiche que pour les livraisons de la journée qui sont validées ou même pour celles en attente?

Oui pour toutes les livraisons validées ou non

Voici ce qu'il faut faire dans le fichier
1. Allez dans la Sub SoumettreDemande()
2. Juste entre l'instruction On Error GoTo 0 et tablo(2)=...., rajoutez cette ligne

Call verification(ddate)

3. Ensuite dans ce module, rajoutez cette nouvelle macro

Sub verification(ddate As String)
Dim c As Range
Dim prem As String
Dim valeur

With Range("Tab_demande_livraison").ListObject.ListColumns(2).Range
    Set c = .Find(CDate(ddate), LookIn:=xlValues)
    If Not c Is Nothing Then
        prem = c.Address
        Do
            If valeur = vbNullString Then
                valeur = c.Offset(0, 4).Text & " - " & c.Offset(0, 1).Text & " à " & c.Offset(0, 2).Text
            Else: valeur = valeur & vbCrLf & c.Offset(0, 4).Text & " - " & c.Offset(0, 1).Text & " à " & c.Offset(0, 2).Text
            End If
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> prem
    End If
    End With
    If valeur = 0 Then MsgBox "Aucune livraison prévue pour le jour choisi", vbInformation, "Etat de livraison": Exit Sub
    If MsgBox("Livraison(s) déjà prévue(s) ce jour de " & vbCrLf & valeur & vbCrLf & vbCrLf & _
        "Voulez-vous enregistrer la demande de livraison ?", vbYesNo + vbDefaultButton2 + vbCritical, "Etat de livraison") = vbNo Then End
End Sub

Si pas de livraison trouvée pour le jour choisi, un message vous en informe également

Crdlt

Bonjour,

Merci pour votre réponse !

J’ai une interrogation concernant le remplissage du tableau de planning hebdo, en effet qu’importe l’heure de début de livraison demandée lorsque le planning se remplit, l’heure est réglée sur 8h :

image image

Bonjour

J’ai une interrogation concernant le remplissage du tableau de planning hebdo, en effet qu’importe l’heure de début de livraison demandée lorsque le planning se remplit, l’heure est réglée sur 8h :

Si j'ai compris ce que vous voulez dire, allez dans le code Planning et à la fin entre le dernier END IF et le END WITH, rajoutez ceci

Lig = 0

Merci pour votre retour,

lorsque j'essaye de programmer une livraison sur une journée ayant déjà des livraisons programmées et validées le message ne s'affiche pas

image image

Bien entendu, si aucune livraison n'est prévue, le message vous dira mentionnera --> "Aucune livraison n'est prévue pour le jour choisi"

Je n'ai par exemple pas eu l'affichage du message d'informations une fois le jour de livraison rentré.

J'aurais une autre question concernant l'entrée dans le tableau du planning hebdomadaire. Je souhaiterais qu'une case colorée corresponde à une fraction de 30 minutes comme c'est le cas et que par exemple dans le cas de la livraison "DDD" sur l'exemple que les cases "9:00" et "9:30" soient colorées mais pas la "10:00" afin que visuellement cela soit compris qu'à partir de 10 heures le créneau soit libre

lorsque j'essaye de programmer une livraison sur une journée ayant déjà des livraisons programmées et validées le message ne s'affiche pas
Je n'ai par exemple pas eu l'affichage du message d'informations une fois le jour de livraison rentré.

Dans votre fichier je n'ai pas de souci

image

Vous avez bien placé la ligne de code comme décrit au point 2 ?


J'aurais une autre question concernant l'entrée dans le tableau du planning hebdomadaire. Je souhaiterais qu'une case colorée corresponde à une fraction de 30 minutes comme c'est le cas et que par exemple dans le cas de la livraison "DDD" sur l'exemple que les cases "9:00" et "9:30" soient colorées mais pas la "10:00" afin que visuellement cela soit compris qu'à partir de 10 heures le créneau soit libre

Heu là vous allez avoir un souci parce qu'à 10:00, il y aura AUTONOME dans la planning. Donc si vous ne voulez pas de couleur, il faudrait qu'Autonome ne soit pas mentionnée à 10:00 mais de 9:00 à 9:30...

J'ai bien rentré le code comme vous me l'avez transmis mais rien ne se passe.

Je rencontre également le problème désormais de livraisons validées qui ne sont pas intégrées au planning hebdo comme sur l'exemple ci-dessous :

image image

Je n'ai pourtant pas modifié les macros si ce n'est avec vos propositions. Qu'en est-il de votre côté?

Je rencontre également le problème désormais de livraisons validées qui ne sont pas intégrées au planning hebdo comme sur l'exemple ci-dessous :

Ok je viens de voir qu'il y a un souci dès que l'on passe à 10:00.
Le code ne trouve pas la ligne dans la feuille Planning parce que la variable lig = 0


Edit :

1. le problème vient du format heure en colonne C et D de la feuille Demandes de livraisons
Allez dans le code Soumettredemande et à cette ligne --> 'Item(lig, i + 1).NumberFormat = "hh:mm", remplacez le "HH:MM" par ceci

"[$-x-systime]h:mm:ss AM/PM"

Je pense que le tableau structuré a conservé quelque chose à l'arrière plan mais avec cette correction cela semble régler le problème

2. Je reviens sur ce sujet

J'aurais une autre question concernant l'entrée dans le tableau du planning hebdomadaire. Je souhaiterais qu'une case colorée corresponde à une fraction de 30 minutes comme c'est le cas et que par exemple dans le cas de la livraison "DDD" sur l'exemple que les cases "9:00" et "9:30" soient colorées mais pas la "10:00" afin que visuellement cela soit compris qu'à partir de 10 heures le créneau soit libre

Allez dans le code Planning et remplacez la ligne If .Range("A" & i ).Text > cel.Offset(0, 2).Text Then Exit For par ceci

If .Range("A" & i + 1).Text > cel.Offset(0, 2).Text Then Exit For

C'est cela que vous voulez si j'ai bien compris

Bonjour,

Merci pour le fractionnement des heures, cela fonctionne correctement !

1. le problème vient du format heure en colonne C et D de la feuille Demandes de livraisons

Allez dans le code Soumettredemande et à cette ligne --> 'Item(lig, i + 1).NumberFormat = "hh:mm", remplacez le "HH:MM" par ceci

Concernant le problème de prise en compte des livraisons, j'ai essayé de modifier le code selon vos instructions, cependant j'ai toujours les mêmes soucis, le message récap des livraisons ne s'affiche pas et les livraisons ne sont pas prises en compte. D'après les tests que j'ai pu effectuer, les demandes de livraisons après 18h fonctionnement. En revanche, toutes celles programmées dans l'après-midi ne sont plus intégrées

Bonjour

cependant j'ai toujours les mêmes soucis, le message récap des livraisons ne s'affiche pas et les livraisons ne sont pas prises en compte.

Que voulez-vous dire par "ne sont pas prises en compte" ? vous parlez de la feuille Planning ou demande de livraisons
exemple je pars de ceci:

image

J'ajoute une livraison à DDD à la date du 26/08/2024, j'obtiens le message ci-dessous

image

Je veux dire par là que la livraison a beau être validée, lorsque je lance la macro qui remplit le planning hebdo j'ai seulement les livraisons du matin ou celles prévues après 18h qui s'affichent.

Concernant le message j'ai essayé votre exemple :

image

Et lorsque j'essaye de faire la demande pour cette livraison DD e même jour je n'ai pas ce message :

image
Rechercher des sujets similaires à "planning livraisons interactif demandes"