Bonjour,

En essayant de débuguer un programme, qui faisait un usage intensif de la fonction Evaluate, j'ai
fini par isoler un comportement bizarre illustré par le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Function test()
  Debug.Print "enter"
  Dim ws As Worksheet
    Set ws = ActiveSheet
 myString = "04/01/2017=04/04/2017"
 If (ws.Evaluate(myString)) Then
    Debug.Print " same date " & myString
 Else
    Debug.Print " different date " & myString
 End If
 
 myString = "04/01/2017=16/04/2017"
 If (ws.Evaluate(myString)) Then
    Debug.Print " same date " & myString
 Else
    Debug.Print " different date " & myString
 End If
 Debug.Print "exit"
  test = 1
End Function
Et le résultat obtenu est :
enter
different date 04/01/2017=04/04/2017
same date 04/01/2017=16/04/2017
exit

C'est tout de même surprenant, le code semble fonctionner pour certaines dates, et pas pour d'autres.
J'aimerais bien comprendre ce qui se passe, et je l'espère éviter de devoir entièrement refaire mon classeur.