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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Partager