As duas expressões estão corretas. Deverão ser utilizadas em situações diferentes uma vez que são formadas por verbos diferentes.
Na expressão “quando ele vier” está sendo conjugado o verbo vir.
Na expressão “quando ele vir” está sendo conjugado o verbo ver.
Ambos os verbos estão conjugados no futuro do subjuntivo. Este tempo verbal se refere a um fato que poderá ocorrer no futuro. Pode ser utilizado também para indicar o desejo de que algo aconteça ou a possibilidade de que algo aconteça.
Vier é a forma conjugada do verbo vir na 1.ª e na 3.ª pessoa do singular do futuro do subjuntivo.
Verbo vir – Futuro do subjuntivo:
(quando ou se eu) vier
(quando ou se tu) vieres
(quando ou se ele) vier
(quando ou se nós) viermos
(quando ou se vós) vierdes
(quando ou se eles) vierem
Vir é a forma conjugada do verbo ver na 1.ª e na 3.ª pessoa do singular do futuro do subjuntivo.
Verbo ver – Futuro do subjuntivo:
(quando ou se eu) vir
(quando ou se tu) vires
(quando ou se ele) vir
(quando ou se nós) virmos
(quando ou se vós) virdes
(quando ou se eles) virem
Muitos falantes fazem confusão entre estas duas palavras, utilizando a forma verbal vir em vez da forma verbal vier para indicar o verbo vir.
Errado: Quando ela vir trataremos de tudo.
Certo: Quando ela vier trataremos de tudo.
Errado: Fazemos os brigadeiros quando seu pai vir.
Certo: Fazemos os brigadeiros quando seu pai vier.