Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA pb Date et Cycle 24/24

  • Initiateur de la discussion Initiateur de la discussion xvella
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

xvella

XLDnaute Occasionnel
Sur une Ligne de production qui troune 24H/24.
Les opérateurs font des Auto-contrôle sur les produits et enregistre les données collecté sur un PC.
Le classeur Excel Vérifier en VBA que la date de l'auto-contrôle est bien la bonne.
Seulement lorsque les opérateurs sont de nuit et sachant qu'une journée part de 6h00 à 6h00 le lendemain
le classeur leur demande à chaque auto-contrôle si la date entrer par celui-ci est la bonne.
Je souhaiterait pouvoir améliorer ce classeur dans la vérification.
A savoir : Vérifier la date - 7h00 de Temps
Ce qui aurait pour effet de ne plus demandé à l'opérateur continuellement la question et
quand la date est vraiment fause.

Merci d'avance
@+
 

Pièces jointes

Re : VBA pb Date et Cycle 24/24

Bonsoir xvela,
je ne serai pas d'une grande aide, mais à mon avis la fonction Datediff serait sûrment recommandé à mon avis.
De plus il serait plus simple de comparer les heures à mon avis!
Tu devrais faire des recherches dans ce sens.

Il y a sur ce forum d'excelent professeur qui sauront sûrement t'éclairer!

Désolé de ne pouvoir t'aider d'avantage, mais je ne maîtrise pas cette fonction, même si je sais quelle existe😉
 
Re : VBA pb Date et Cycle 24/24

Bonjour xvella, Alex

Regarde le code ci dessous, si j'ai bien compris, par contre attention à ce qui est saisie dans la "textbox", à adapter à ton projet...

Code:
If CDate(TextBox1.Value) < (Date - (1 / 24 * 7)) Or CDate(TextBox1.Value) > Date Then _
    MsgBox "hors bornes !!!"

bonne journée.
@+
 
Re : VBA pb Date et Cycle 24/24

Re

pour un meilleur controle de la borne supérieur :

Code:
If CDate(TextBox1.Value) < (Date - (1 / 24 * 7)) Or CDate(TextBox1.Value) > _
    (Date + 1 - (1 / 86400)) Then MsgBox "hors bornes !!!"

@+
 
Re : VBA pb Date et Cycle 24/24

Bonjour Alex et Pierrot,

Merci à tous deux mais ce n'ai pas cela que je souhait; déjà je ne peut pas utilisé de fonction et le code ne marche pas, c-a-d que lorsque je suis dans mon enregistrement dans la nuit qui commence le 15/01 22H00 et ce termine le 16/01 6H00 ---> les opérateurs vont entrer la date du 15/01 toute la nuit.

Cela ne pose pas de problème de 22H00 à 23H59 mais après cela jusqu'à 6H00 du matin il aurons toujours le message.

J'ai d'abord fait une tentative avec Date = Date - (Time-("07:00:00")) en gros mais cela m'affichait dans mon tableau à la place de la date --->> la date avec l'heure chose qui me bloque mes filtres VBA par la suite.

Merci encore à vous deux.

Bonne Journée.

@+
 
Re : VBA pb Date et Cycle 24/24

Re

un truc doit m'échapper... tu parles de controler les heures, alors qu'à priori il est saisie une date (15/01), dans le textbox. A noter au passage, qu'il est préférable d'y associer l'année afin d'identifier plus facilement une date ....

Par rapport à quelle heure veux tu idéterminer la journée... Par rapport à l'heure système où une heure qui serait saisie par l'utilisateur ?

@+
 
Re : VBA pb Date et Cycle 24/24

Bonjour Pierrot,
Tout comme lui je travail en équipe.
Une journée donnée est composée de 3 poste de 8h00
ex:
Matin: 6h00 à 14h00
Après-midi: 14h00 à 22h00
Nuit: 22h00 à 6h00

Le problème est le poste de nuit car il est à cheval sur deux jours.
Et oui si le matin on est le 15/01/09; la nuit à 00h00mn00sec, on sera de fait le 16/01/09.
Mais en production une journée commence dans cet exemple :
15/01/09 à 6h00mn00sec et finit le 16/01/09 à 05h59h59sec. celle-ci est considéré comme faisant intégralement partie du 15/01/09. d'ou son problème.

A mon avis son textbox devrait afficher la date et l'heure, ou au moins renvoyer l'heure du clic dans un label, afin que l'ion puisse comparer avec DATE+1 (06h00mn00sec)

C'est pour cela que je suggérai de comparer des heures et non des dates (entre ces deux plages).

Edit:
Une journée système commence à 00h00mn00sec et finit à 23h59mn59sec
Une journée production commence à 06h00h00sec et finit à 05h59mn59sec
 
Dernière édition:
Re : VBA pb Date et Cycle 24/24

Re

Alex
si tu veux inclure l'heure système dans le test tu peux essayer en essayant ainsi :

pour une journée qui commence à 22h et se termine à 6h00...
Code:
If CDate(TextBox1.Value & " " & Time) < Date - (1 / 24 * 2) Or CDate(TextBox1.Value _
    & " " & Time) > Date + (1 / 24 * 6) Then MsgBox "hors bornes !!!"

@+
 
Dernière édition:
Re : VBA pb Date et Cycle 24/24

Re Pierrot,
Ce n'est pas pour moi mais pour notre ami.
Prenons cette journée:
En gros le test doit ce faire entre aujourdhui 06h00h00sec et demain 05h59h59sec. Si compris dans cette plage il accepte la date d'aujourdhui (même après minuit)et applique la macro de notre ami. Dans le cas contraire msgbox et exit sub!

edit: le seul soucis pour notre amis est qu'il ne m'est q'une date dans sa textbox! Donc comment récupérer l'heure de saisie pour faire la comparaison. A moins de mettre une variable du genre textbox.value & TIME() mais sans que time n'apparaisse dans la textbox je pense.
 
Dernière édition:
Re : VBA pb Date et Cycle 24/24

Bonsoir Alex
Bonsoir Pierrot

Déjà je vous remercie de vous penchés sur mon souci.

Donc j'ai fais un nouveau fichier qui pourrait vous donnée peut-être plus d'indiquation.

Le problème reste comme la dit Alex le faite que l'on travaille en décaler et que je n'utilise le classeur Excel que pour du stockage de donnée sans aucune formule pour utilisé moins de place sur le disque dur du PC.

Si la Date taper est différentes de la date systême alors MsgBox est afficher
Ce que je cherche C que la valeur de la DateTaper soit comparer à la Date(système) moins 6h01 de temps.
Cas unique qui me pose problème quand les opérateurs travailles de nuit après le passage de la date(système) à la nouvelle journée.
Ils font un contrôle toutes les 15 minutes et de devoir dire OUI à une MsgBox toutes les 15 minutes me semble "BARBANT"

En tous cas =>>> MERCI
 

Pièces jointes

Re : VBA pb Date et Cycle 24/24

Bonsoir xvella, Pierrot,

ci-joint ton fichier modifier.

J'ai utiliser une partie du code de pierrot.
1 si la datetaper est supérieur à demain 6HNN alors mesgbox, sinon on recopie les données.
Aucun verrou si datetaper est antérieur!

Dans initialze la date reste inchangée jusqu'au lendemain 6H00 (tu peu mettre 7H00 si tu préfère).

Enfin en théorie sa marche vu l'heure à laquelle je l'ai fait lol.
A tester dans la journée également😉

Dis nous si cela te convient!

Edit:
Alex, as tu testé le code posté à 16h14 ?
Pierrot effectivement j'avais pas vu que c'était exactement ce que tu faisais avec date et time
 

Pièces jointes

Dernière édition:
Re : VBA pb Date et Cycle 24/24

Bonjour,

Alex
Comprends pas trop ton code lors de l'initialisation :
Code:
If Date < Date + (1 / 24 * 6) Then txtDate = Date - 1 'Si pas encore 6h00 alors on ne change pas de date!

Sauf erreur, sachant que "date" va renvoyer la date système à 00h00, sera donc toujours inférieur à "date +" etc... A ce moment peut être utilisé "now" qui renvoie date et heure système... Enfin c'est juste un avis...

xvella, as tu utilisé les codes donnés et quel en est pour toi le résultat....

bonne journée
@+
 
Re : VBA pb Date et Cycle 24/24

Bonjour,
En effet tu as raison. Je comptais bien sur les psécialiste comme toi pour corriger mes erreurs lol.

Edit:

Arff depuis le msgbox s'affichre à nouveau à chaque fois. je comprends plus là? lol
 

Pièces jointes

Dernière édition:
Re : VBA pb Date et Cycle 24/24

Bonsoir Alex
Bonsoir Pierrot

C'est génial.
C'est exactement ce que je recherchais.

Plus qu'à l'adapter, youpiiiii !!!!!!!!!

Par contre j'aurais besoin d'une explication sur le code:
Date + (1 / 24 * 6)
à quoi correspond 1, 24, 6

Un GRAND MERCI à tous les deux.

Bon week-end et bonne fin de journée.

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…