Bonjour à tous,
Dans le cadre de mon stage, il m'a été demandé de me pencher sur un petit projet pour gérer les rotations de stationnements. Je m'explique :
Toutes les heures, une personne passe dans une rue et note une partie de la plaque d'immatriculation des voitures présentes. Après ce travail, on obtient une base où l'on a pour chaque heure, le nombre de voitures garées et leur immatriculation. Le but du jeu est d'obtenir les plages horaires durant lesquelles les voitures étaient présente. On arrive a avoir cela mais il y a un problème assez important...!
En effet, lorsque une voiture part et reviens, je n'arrive pas à lui dire qu'il y a 2 plages horaires. Exemple:
Une voiture immatriculée AA00 est présente de 8h à 10h puis de 11h a 12h. la requête nous renvois que la voiture était présente de 8h a 12h sans prendre la rupture en compte...
Comment faire pour lui dire de prendre en compte cela? (je pensais vérifier si un pas de 1 était respecté au niveau des heures ou alors un while pour parcourir chaque ligne jusqu'à rencontrer un case vide du genre :
quelques impr ecran pour aider a comprendre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim i as integer For i = 2 to 15 '(de 6h a 20h) While cells(i,2) <> " " '(tant que les cellules de la ligne 2 sont pas vide)....)
Ici, on a la valeur 1 quand la voiture est présente (heures en haut, immatriculation a gauche):
Ici, c'est la requête qui nous permet de savoir les plages horaires durant lesquelles la voiture était présente. On a concaténé toute les heures où la valeur était 1 (champ résultat) et ensuite l'heure d'arrivée et de départ mais on constate pour la première voiture par exemple, qu'elle n'était pas là entre 10h et 12h :
Merci de votre aide![]()
Partager