Re : Solution automatisée pour agents commerciaux (VRP)
Bonjour,
Voici un projet qui répond à la plupart des critères demandés … sauf celui que ce soit inscrit dans un calendrier.
Ce pourrait même être inscrit dans le Calendrier de Microsoft Outlook (2003/2007/2010).
Vérifie cela et si ça convient, je compléterai la transcription dans le calendrier choisi.
À la feuille « Calendrier » une proposition de format.
Le résumé des critères demandés :
- Le 01 et 15 du mois = Bureau
- Si le 01 ou le 15 tombent une fin de semaine, Bureau = vendredi précédent.
- Les jours Fériés du Québec (8)
- Une semaine de 1 jour/bureau et 4 jours/route et l’autre de 2 jours/Bureau et 3 jours/Route (à cause des restrictions du 01 et 15 du mois, on ne peut pas toujours respecter cette condition.
- Les semaines où il y a deux jours Bureau, les deux jours doivent être consécutifs.
- La semaine du jour/bureau = vendredi
- La possibilité d’inscrire manuellement des jours de congé (vacances, tempêtes, maladie, etc)
- Les 21 routes suivies toujours dans le même ordre.
- Les routes 01/02 ainsi que 15/16 sont des routes de deux jours.
- Si dans la semaine il ne reste qu’un jour et on est rendu à une route de deux jours, on prend la suivante, puis dès que possible, on reprend la route de deux jours, pour ensuite continuer l’ordre.
On inscrit en « Feuille(Agenda).Cellule(M10) » la dernière route effectuée juste avant le 01 janvier de l’année concernée.
Pour inscrire les congés spéciaux : « Feuille(Agenda).Colonne(E) » on inscrit un « c » minuscule (en regard de la date concernée. Puis quand les congés spéciaux sont tous inscrits ou ajoutés au cours de l’année, on exécute à nouveau la macro de traitement en utilisant le bouton au haut de la feuille « Refaire les routes ».
Au haut de la feuille « Agenda », il y a aussi un bouton pour changer l’année. Lequel, en plus, exécute de nouveau tout le traitement. Bien évidemment les spéciaux seront effacés.
L’affichage de la feuille est gelé le temps du traitement. Un message avise de la fin du traitement.
Les macros pourraient être améliorées avec de plus grandes connaissances ou une expérience différente.
Il reste aussi à les documenter et les indenter.
Je remercie tous ceux qui ont fourni généreusement du code (codes trouvés à l’aide de Google).
Espérant le tout conforme.
G