DATEVAL : erreur 13 dans VBA et #NOM? dans Excel - incompréhensible
Bonjour à tous,
Je suis face à un problème plutôt désarmant : j’ai modifié un morceau de code qui fonctionne parfaitement en remplaçant TODAY() par DATEVAL("01/01/2015") et cela génère l’ « erreur 13 - incompatibilité de type » sur la ligne n° 7 :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Sub Essai()
' supprimer les lignes dont les échéances sont de l'an passé
Range("A2").Select
Do While ActiveCell <> ""
If ActiveCell <> "" Then
ActiveCell.Offset(0, 18).Formula = "=IF(RC[-11]<DATEVAL(""01/01/2015""),""x"","""")" '18 avec Offset = colonne S
If ActiveCell.Offset(0, 18).Value = "x" Then
ActiveCell.EntireRow.Delete
Else: ActiveCell.Offset(1, 0).Range("A1").Select
End If
End If
Loop
End sub |
Quand je vais sur la feuille Excel la formule correspond en tout point à celle que je saisis directement dans Excel mais avec la saisie faite directement dans Excel cela fonctionne alors que la formule issue de VBA génère l’erreur « #NOM ? ». Par ailleurs, avec la formule issue de VBA il suffit que je place le curseur dans la barre de formule d’Excel et que je fasse Entrer pour que la formule fonctionne.
Les cellules en colonne A (cellule active) sont au format date jj/mm/aaaa. J’ai essayé de changer le format des cellules recevant la formule en colonne S, avec standard ou texte mais cela ne change rien.
Qu’est-ce qui fait qu’Excel ne reconnait la formule issue de la macro ?
Merci de votre aide.
Cordialement