Ton image montre une colonne P vide ! Donc le nom de la feuille origine fait défaut, et cela ne peut fonctionner dans ces conditions...
Il faut donc savoir la raison de cette anomalie à l'étape précédente ! Ce sont les lignes de code ci-dessous qui opèrent les inscriptions dans la feuille Sortie dossier en cas de Oui en colonne N :
With Worksheets(ws)
n = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(n, 1).Resize(, 15).Value = Lgn
.Cells(n, 16) = wso
End With
Dans ce morceau de code, ws contient toujours "Sortie dossier" (le nom de la feuille cible), n est initialisé sur la première ligne vide de cette feuille, Lgn est un tableau contenant les valeurs de la ligne à inscrire, et qui est inscrite de A à O, wso contient le nom de la feuille origine et est affecté à la colonne P sur la ligne.
Pourquoi ne l'y trouve-t-on pas ?
L'initialisation de wso s'est faite en amont :
wso = Trim(Replace(Sh.Name, "à détruire", ""))
Sh est la feuille sur laquelle s'est déclenchée la procédure, qui peut être une feuille origine ou une feuille intermédiaire (xxx à détruire). On voit bien que l'initialisation de wso se fait en éliminant le "à détruire" éventuel...
Il faut donc comprendre pourquoi ce nom ne figure pas en P sur ta feuille ! Le reste s'exécutant, il n'y a pas de raison que cette ligne soit sautée !!!
Cordialement.