C'est laquelle des trois lignes qui plante ?
Ton erreur n'a pas l'air très compliquée : une de tes chaines d'identification est mauvaise.
Et par pitié, je sais que c'est un peu plus long à taper, mais DECOUPEZ VOTRE CODE, vous y gagnerez en lisibilité et en maintenabilité (la capacité à reprendre du code pour le modifier).
Ici :
1 - concaténer tes chaines pour créer les noms de tes répertoires
(1' - affiche les chaines crées avec System.Diagnostics.Debug.WriteLine pour vérifier qu'elles sont correctes)
2 - créer tes objets DirectoryEntry
3 - les utiliser