Bonjour à tous,
J'ai un soucis avec des tests dans une macro VBA pour Excel 2003 SP2.
Voici le test :
La variable 'temp' est locale à une sous-routine, c'est un format Date.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 'If ((temp <> date_6h_mat) And (temp <> date_6h_mat_plus) And (temp <> date_6h_mat_moins)) Then If (temp <> date_6h_mat) Then If (temp <> date_6h_mat_plus) Then If (temp <> date_6h_mat_moins) Then MsgBox "ALERTE !!! YA UN MEGA PROBLEME !!!!!", 16, "ERREUR !!!" End If End If End If
Les variables 'date_6h_mat', 'date_6h_mat_plus' et 'date_6h_mat_moins' sont aussi des formats Date et sont de type 'public' à toute la macro.
Quand je trace le prog ligne à ligne, je vois bien que :
'temp' contient "20/06/2008 05:59:00"
'date_6h_mat' contient "20/06/2008 06:00:00"
'date_6h_mat_plus' contient "20/06/2008 06:01:00"
'date_6h_mat_moins' contient "20/06/2008 05:59:00"
Donc, que ce soit un test en une seule ligne (voir la 1ère ligne en commentaire du code) ou la succession des 3 tests, cela ne marche pas !!!
Pourtant 'temp' et 'date_6h_mat_moins' étant égales, il ne devrait pas afficher la message box, et bien si... ARGH !!!
Si quelqu'un a une idée, je suis preneur...
Partager