Voilà comme prévu beaucoup plus facile avec des données.
En fait le problème se situe dans l'utilisation de SIERREUR (IFERROR en vba).
Comme le premier SI teste l'existence de la désignation pour détecter Consommable OK, lorsque la désignation est vide en colonne F, il y a erreur #NA et l'affichage est logique "Elément non connu: A ANALYSER".
Il faut donc changer la logique de la formule et mettre le test DTR OK DESIGNATION NOK comme second argument de la fonction IFERROR !
Voici donc la formule corrigée :
Range("i5").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(IF(INDEX('Rappel Liste CITADIS'!C[-7],MATCH(RC[-3],'Rappel Liste CITADIS'!C[-6],0))=""Commerce"",""Consommable OK"",IF(AND(RC[-2]=""DTR OK"",RC[-1]=""Désignation OK""),""Elément connu: OK"",IF(AND(RC[-2]=""DTR NOK"",RC[-1]=""Désignation OK""),""DTR manquant mais libellé connu"",""Elément non connu: A ANALYSER""))),IF(AND(RC[-2]=""DTR OK"",RC[-1]=""Désignation NOK""),""DTR connu: Problème libellé"",""Elément non connu: A ANALYSER""))"
Attention aussi qu'il y a un souci avec le range B5:J10000. La macro déclenche une erreur pour range trop grand.
Mais je pense que le code que j'avais envoyé travaillait sur la sélection des lignes existantes.
Cdlt,