Faits :
A.
Par décision du 15 septembre 2017, le Juge de paix du district du Jura-Nord vaudois a prononcé la mainlevée provisoire de l'opposition formée par A._ dans la poursuite ordinaire intentée par B._.
Le 11 octobre 2017, A._ a déposé devant le Tribunal d'arrondissement de la Broye et du Nord vaudois une demande contre B._.
Le 12 octobre 2017, le président du tribunal a indiqué à A._ que sa demande ne satisfaisait pas aux exigences de l'<ref-law>, notamment en raison de l'absence d'allégués et d'offres de preuves correspondantes; il lui a imparti un délai au 3 novembre 2017 pour corriger son acte, à défaut de quoi celui-ci ne serait pas pris en considération.
Le 31 octobre 2017, A._ a déposé une nouvelle demande contre B._.
Par jugement du 8 décembre 2017, le président du tribunal a déclaré irrecevable la demande dont il était saisi. Il a jugé que celle-ci ne satisfaisait toujours pas aux exigences de forme de l'<ref-law> relatives aux allégations de fait et aux offres de preuve correspondantes, dans la mesure où les allégués contenaient plusieurs faits à la fois, prenant souvent la forme d'une longue argumentation et que certains allégués n'étaient pas des faits, mais des appréciations.
B.
Le 23 janvier 2018, A._ a déposé une demande en libération de dette contre B._ et a conclu à la recevabilité de son action (I), à la constatation qu'il ne devait pas à B._ la somme restante de 34'500 fr. avec intérêts faisant l'objet du prononcé de mainlevée provisoire du 15 septembre 2017 (II) et à la condamnation de B._ à lui payer la somme de 39'500 fr. avec intérêts (III).
Par jugement du 21 mars 2018, le Président du Tribunal d'arrondissement de la Broye et du Nord vaudois a déclaré la demande irrecevable. Il a considéré que le délai de vingt jours pour ouvrir action n'avait pas été respecté, dès lors que la mainlevée avait été prononcée le 15 septembre 2017, que le demandeur disait avoir reçu cette décision le 25 suivant, que le délai pour en solliciter la motivation était échu dix jours plus tard, soit le 5 octobre 2017, et celui pour ouvrir action au fond le 25 octobre 2017.
Par arrêt du 10 août 2018, la Cour d'appel civile du Tribunal cantonal du canton de Vaud a rejeté l'appel du demandeur. Elle s'est prononcée exclusivement sur les conclusions tendant à ce que la demande soit déclarée recevable, celles tenant à l'admission de la demande étant dépourvues d'objet.
C.
A._ a déposé au Tribunal fédéral un mémoire intitulé "recours en matière de droit civil et recours constitutionnel subsidiaire".
Ni B._, ni l'autorité précédente n'ont été invités à se déterminer.
La demande d'effet suspensif du recourant a été rejetée, le recours apparaissant dénué de toute chance de succès.

Considérant en droit :
1.
L'arrêt attaqué est une décision finale (<ref-law>) rendue en matière civile (<ref-law>) par le tribunal supérieur désigné comme autorité cantonale de dernière instance, lequel a statué sur recours (<ref-law>). Le recours est exercé par la partie qui a succombé dans ses conclusions et qui a donc qualité pour recourir (<ref-law>); il a été déposé dans le délai prévu par la loi (<ref-law>). La cause atteint la valeur litigieuse minimale de 30'000 fr. ouvrant le recours en matière civile (<ref-law>). Par conséquent, le recours constitutionnel subsidiaire est irrecevable (<ref-law>).
Les conclusions du recours tendant, d'une part, à la constatation "que les actions en libération de dettes déposées ne sont qu'une et une seule" et "que l'<ref-law> a été appliqué correctement dès la seconde action en libération de dettes et déposée dans les délais" et, d'autre part, à ce qu'il soit dit "que l'art. 63 al. 2 s'applique également aux vices de forme, et que l'action en libération de dettes déposée le 28 juillet l'était dans le délai de la litispendance" sont irrecevables (sur l'irrecevabilité de conclusions "préparatoires", cf. arrêt 2C_988/2017 du 19 septembre 2018 consid. 1.2 et les arrêts cités). En revanche, il peut être entré en matière sur la conclusion tendant à la recevabilité de l'action en libération de dette et au renvoi de l'affaire aux premiers juges pour examen du fond. La recevabilité des griefs particuliers est réservée.
2.
2.1. Le recours en matière civile peut être exercé pour violation du droit fédéral (<ref-law>), y compris le droit constitutionnel (<ref-ruling> consid. 2.1 p. 247; <ref-ruling> consid. 2.4 p. 313). Le Tribunal fédéral applique le droit d'office (<ref-law>). Il n'est donc limité ni par les arguments soulevés dans le recours, ni par la motivation retenue par l'autorité précédente.
2.2. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut rectifier ou compléter les constatations de l'autorité précédente que si elles sont manifestement inexactes ou découlent d'une violation du droit au sens de l'<ref-law> (<ref-law>). "Manifestement inexactes" signifie ici "arbitraires" (<ref-ruling> consid. 1.3.1 p. 253; <ref-ruling> consid. 2 p. 117; <ref-ruling> consid. 1.5). Encore faut-il que la correction du vice soit susceptible d'influer sur le sort de la cause (<ref-law>).
La critique de l'état de fait retenu est soumise au principe strict de l'allégation énoncé par l'<ref-law> (<ref-ruling> consid. 2.3 p. 266 et les références). La partie qui entend attaquer les faits constatés par l'autorité précédente doit expliquer clairement et de manière circonstanciée en quoi ces conditions seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18 et les références). Si elle souhaite obtenir un complètement de l'état de fait, elle doit aussi démontrer, par des renvois précis aux pièces du dossier, qu'elle a présenté aux autorités précédentes en conformité avec les règles de procédure les faits juridiquement pertinents à cet égard et les moyens de preuve adéquats (<ref-ruling> consid. 2 p. 90). Si la critique ne satisfait pas à ces exigences, les allégations relatives à un état de fait qui s'écarterait de celui de la décision attaquée ne pourront pas être prises en considération (<ref-ruling> consid. 1.3.1 p. 18). Aucun fait nouveau ni preuve nouvelle ne peut être présenté à moins de résulter de la décision de l'autorité précédente (<ref-law>).
En application de ces principes, il ne sera pas tenu compte du chapitre intitulé "rappel des faits et de la procédure" du mémoire de recours, dans la mesure où il s'écarte des faits retenus dans l'arrêt attaqué.
3.
Le recourant soulève deux griefs.
3.1. En premier lieu, il est d'avis que ses demandes des 11 et 31 octobre 2017 étaient conformes aux réquisits de l'<ref-law>.
Tel n'est toutefois pas l'objet de l'arrêt attaqué, qui porte sur la recevabilité de la demande en libération de dette du 23 janvier 2018. Cet argument aurait dû être soulevé dans un recours dirigé contre le jugement du 8 décembre 2017 du président du Tribunal d'arrondissement de la Broye et du Nord vaudois. Or, cette décision n'a pas été attaquée et l'irrecevabilité de la demande initiale du recourant a acquis force de chose jugée.
Le grief est dès lors irrecevable.
3.2.
3.2.1. En second lieu, le recourant soutient que sa demande en libération de dette a été déposée dans le délai de vingt jours prévu par l'<ref-law> dès la mainlevée provisoire. Certes, celle-ci avait été prononcée le 15 septembre 2017 et la demande déposée le 11 octobre 2017 avait été déclarée irrecevable pour vice de forme. Selon le recourant qui invoque l'<ref-law>, il faut toutefois calculer le délai dès la notification du jugement par lequel l'irrecevabilité avait été prononcée, soit dès le 6 janvier 2018, car la disposition précitée viserait également le cas où la demande est déclarée irrecevable pour vice de forme.
3.2.2. La cour cantonale a balayé cet argument. Fondé sur la jurisprudence fédérale, l'arrêt attaqué rappelle que l'<ref-law> n'est applicable que dans les deux hypothèses auxquelles il est fait référence, à savoir lorsque l'acte introductif d'instance est déclaré irrecevable pour cause d'incompétence (<ref-law>) et lorsque la demande n'a pas été introduite selon la procédure prescrite (<ref-law>), à l'exclusion du cas où la demande est affectée d'un vice de forme.
3.2.3. Le recourant échoue à démontrer qu'il y aurait là une violation du droit fédéral. Le Tribunal fédéral a déjà tranché la question qu'il soulève et ses considérants sont sans ambiguïté: l'<ref-law> ne concerne que l'incompétence et l'introduction de la demande selon une procédure erronée; il ne vise ni l'absence d'autres conditions de recevabilité, ni les vices de forme de l'acte (cf. <ref-ruling> consid. 3.2.4 p. 487; arrêts 4A_671/2016 du 15 juin 2017 consid. 2.3 et 5A_39/2016 du 19 avril 2016 consid. 2.2).
Le recourant ne fait pas valoir de motifs déterminants qui justifieraient un changement de jurisprudence (sur les conditions d'un tel changement, cf. <ref-ruling> consid. 5 p. 3; <ref-ruling> consid. 5.5.1 p. 303; <ref-ruling> consid. 6.1 p. 313), de sorte qu'il n'y a pas lieu d'interpréter à nouveau l'<ref-law> et de revenir sur une question d'ores et déjà tranchée.
Le moyen tiré d'une violation de l'<ref-law> est mal fondé.
4.
Sur le vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable.
Les frais judiciaires seront mis à la charge du recourant, qui succombe (<ref-law>). Il n'y a pas lieu d'octroyer une indemnité de dépens à l'intimé, qui n'a pas été invité à se déterminer (art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux mandataires des parties et à la Cour d'appel civile du Tribunal cantonal du canton de Vaud.
Lausanne, le 19 octobre 2018
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann