Tu n'as pas forcément besoin de bouton, tu peux rendre le tout automatique avec le "always active". Mais si tu veux supprimer le command block après (plutôt avant) la téléportation, il ne faudra pas mettre la commande /tp directement dans le CB que tu poses mais plutôt une attribution d'un tag au joueur le plus proche de ce CB, puis au spawn il y aura quelques CB en boucle pour faire la chaine d'actions.
Tu comptes vraiment le faire en posant un CB ? C'est possible mais c'est plus compliqué pour le supprimer avec un /setblock ou un /fill car en plus il faut le "localiser" sans manger le décor (ça reste possible en précisant que l'on souhaite uniquement /fill les CB en air, mais alors il faut faire attention de ne pas supprimer des CB important autour de soi), c'est faisable mais tout dépendra du contexte dans lequel il sera posé.
Sinon tu peux le faire aussi en dropant un item custom,
celui ci attribuera un tag au joueur le plus proche de lui (le joueur qui l'a drop), puis l'item se fait /kill, le joueur ayant le tag se fait téléporter, le joueur ayant le tag se fait give l'item pour une prochaine téléportation, puis le tag du joueur est retiré.
Je t'ai donné la théorie, si tu ne t'en sorts pas, n'hésite pas à demander de l'aide
PS : Ah je viens de comprendre qu'il y a plusieurs lieux de destinations ! Si c'est le cas, comment faire pour choisir la destination ? A part avoir un item custom pour chaque lieu, et copier/coller la machine au spawn autant de fois qu'il y a de destination ?
Ou alors, et là ça devient barbare, mais au moins on est moins encombré d'item custom sur soi... Par exemple : si tu as 30 lieux possibles de destinations, et que par exemple tu veux aller au lieu n°7, tu lances au sol 7 custom "poudre redstone" + 1 custom "bâton" au même endroit, puis
boom le custom "bâton" (magique) obtient le tag (destination7) qui lui fait sa propre chaine d'actions automatique comme précédemment depuis le spawn (
voir le texte en gras).