We present an algorithm that determines in polytime whether a graph contains an even hole. The algorithm is based on a decomposition theorem for even-hole-free graphs obtained in Part I of this work. We also give a polytime algorithm to find an even hole in a graph when one exists.