J’ai testé le code sur un cas simple de procédure appliquée sur le classeur actif et la feuille active ... pas de problème.
Tu peux tenter de spécifier le classeur et la feuille concernée.
Exemple pour la feuille "Feuil1" :
With ThisWorkbook.Worksheets("Feuil1")
.Range("D5").Formula = _
"=IF(ISNUMBER(SEARCH(""colla"",A5)),""risque de projection"",IF(ISNUMBER(SEARCH(""soud"",A5)),""danger"",""""))"
Range("D5").AutoFill Destination:=.Range("D5:D1086"), Type:=xlFillDefault
End With
Si ça ne marche pas, envoie un fichier allégé (sans données confidentielles). Quelques lignes suffisent.
A+