N'étant pas sur du résultat, essai avec une simple quote ' pour entourer ton d.
ex : ActiveCell.FormulaR1C1 = "=DATEDIF(P1;Q1;'d')"
je pense que le fait que tu place une double quote avant le d lui fait croire que l'instruction est fermé.
bon courage à toi tien