La simplification (relative) du code consisterait à mettre des tables de correspondances
origine = Array("A", "B", "C", "D", "E", "F", "G", "H")
dest1 = Array("B", "C", "D", "E", "F", "G", "H", "I")
dest2 = Array("B", "C", "D", "E", "F", "G", "J", "K")
dest3 = Array("B", "C", "D", "E", "F", "L", "M", "N")
dest4 = Array("B", "C", "D", "E", "F", "L", "O", "P")
voire mieux, indiquer ces correspondances dans une feuille afin de faire évoluer sans devoir retoucher le code.
et de faire 2 tests
test1 = (liste.Range("I" & i) = "Domaine de la musique")
test2 = (Left(liste.Range("G" & i), 1) = "P")
Resterait à écrire le reste en quelques lignes.
L'important est que tu comprennes le code et que tu puisses le retravailler le cas échéant. C'est la solution que tu dois choisir.