Le present perfect se forme avec have / has + participe passé : I have visited Rome, She has finished, They haven't called yet. Il s'emploie quand une action passée reste liée au présent : une expérience sans date (Have you ever been to Japan?), un résultat actuel (I have lost my keys — je ne les ai toujours pas), ou une situation qui dure jusqu'à maintenant (I have lived here since 2020).
Pour un francophone, deux pièges dominent. D'abord, le passé composé a la même forme (avoir + participe) mais pas le même emploi : avec un moment passé daté, l'anglais passe au prétérit (I saw him yesterday, et non « I have seen him yesterday »). Ensuite, « depuis » + présent français devient for / since + present perfect : « J'habite ici depuis 2020 » → I have lived here since 2020. Les 30 exercices ci-dessous se corrigent au clic, du niveau A2 au niveau B2.
Quiz : le present perfect anglais — 30 questions
Échauffement · A2
Intermédiaire · B1
Défi · B2
Corrigé et explicationsOuvrez après avoir terminé l'exercice.
- 1. has writtenSo far (« jusqu'ici ») fait le bilan jusqu'à maintenant → present perfect. Avec she, l'auxiliaire est has (has written), jamais have.
- 2. haveSujet pluriel → have : My parents have never visited Asia. Has ne s'emploie qu'à la 3e personne du singulier (he, she, it, un nom singulier).
- 3. HaveEver + been (participe passé) → present perfect, question d'expérience de vie : Have you ever been…? Did serait suivi de la base verbale (go).
- 4. doneAprès have, il faut le participe passé : do – did – done. Did est le prétérit, pas le participe : « I have did » est une erreur fréquente.
- 5. goneParticipe passé de go : gone (go – went – gone). Just se place entre has et le participe et signifie « venir de » : il vient de sortir.
- 6. triedTry est régulier : participe passé tried (consonne + y → -ied). Twice, sans date, présente une expérience accumulée → present perfect.
- 7. heardHear est irrégulier : hear – heard – heard. Dans la question, has passe devant le sujet et le participe reste après : Has she heard…?
- 8. has livedLe français utilise le présent avec « depuis », l'anglais le present perfect : He has lived in Nantes since 2015. « He lives in Nantes since 2015 » est l'erreur typique des francophones.
- 9. have … seenNever sans date porte sur toute la vie jusqu'à maintenant → present perfect : I have never seen snow. Saw est le prétérit, pas le participe passé (seen).
- 10. forFor + durée (ten years, two months, a long time) ; since + point de départ (2016, Monday, I was a child). Les deux traduisent « depuis ».
- 11. since2020 est un point de départ → since. From s'emploie avec to (from 2020 to 2022), et ago va avec le prétérit.
- 12. yetYet (« pas encore ») s'emploie à la négative et se place en fin de phrase. Already (« déjà ») s'utilise surtout à l'affirmative, entre have et le participe.
- 13. justJust = « venir de » : She has just left = elle vient de partir. Le français utilise « venir de + infinitif », l'anglais le present perfect avec just.
- 14. sawYesterday est un moment passé daté → prétérit (saw), même si le français utilise le passé composé. Le present perfect refuse yesterday, last week, ago, in 2019.
- 15. have … hadHow long + durée jusqu'à maintenant → present perfect : How long have you had this car? Le français dit « depuis combien de temps as-tu… » au présent, d'où l'erreur « how long do you have ».
- 16. have eatenThis is the first time + present perfect : This is the first time I have eaten oysters. Le français met un présent (« c'est la première fois que je mange »), l'anglais un present perfect.
- 17. has brokenRésultat visible maintenant, moment inconnu → present perfect en anglais britannique : has broken. L'anglais américain accepte aussi le prétérit (broke) dans ce cas.
- 18. everSuperlatif + ever + present perfect : the best film I've ever seen (« le meilleur film que j'aie jamais vu »). Never rendrait la phrase négative, ce qui contredit the best.
- 19. has goneHas gone = elle est partie et elle y est encore. Has been = elle y est allée et elle est revenue. Puisqu'elle est là-bas maintenant, c'est has gone.
- 20. have beenExpérience de voyages terminés, aller-retour → have been. Have gone suggérerait que je suis encore là-bas, ce qui ne marche pas avec twice.
- 21. I have been learning English for three years.Activité qui dure jusqu'à maintenant → present perfect en be + -ing (have been learning) + for + durée. Le présent français avec « ça fait… que » ou « depuis » ne se traduit jamais par un présent anglais.
- 22. haven't hadThis month n'est pas terminé (on est le 10) → present perfect : haven't had. Une période encore ouverte (today, this week, this year) appelle le present perfect.
- 23. sawLa question est au present perfect (sans date), mais la réponse donne un moment précis (a minute ago) → prétérit : I saw them. Ago impose toujours le prétérit.
- 24. sinceSince peut être suivi d'une proposition au prétérit qui donne le point de départ : since she left university. La principale reste au present perfect.
- 25. have … takenSo far fait le bilan jusqu'à maintenant (le nombre peut encore augmenter) → present perfect : How many times have you taken…?
- 26. has beenL'état dure jusqu'à maintenant → has been dead for ten years. On peut aussi dire He died ten years ago (prétérit + ago), mais jamais « he is dead for ten years ».
- 27. workedPaul est à la retraite : la période est terminée → prétérit (worked for five years). For + present perfect suppose que la situation continue aujourd'hui.
- 28. has risenSince January relie la hausse au présent → present perfect. Participe passé de rise : risen (rise – rose – risen) ; rose est le prétérit.
- 29. have … givenAlready se place entre have et le participe passé : I have already given. Give – gave – given : gave est le prétérit, pas le participe.
- 30. forTwo years est une durée → for. During répond à « pendant quoi ? » (during the summer) et ne sert pas à exprimer « depuis ».
Formation du present perfect : have / has + participe passé
Le present perfect associe l'auxiliaire have (has à la 3e personne du singulier) au participe passé. Pour les verbes réguliers, le participe se termine en -ed (worked, played) ; pour les irréguliers, c'est la troisième colonne de la liste (go – went – gone, see – saw – seen).
- Affirmative : I have worked / She has gone — contractions : I've, she's, they've.
- Négative : I haven't finished / He hasn't called.
- Question : Have you seen it? / Has she arrived?
- Participes irréguliers fréquents : been, gone, done, seen, eaten, written, taken, given, known, had, made, bought.
- Contrairement au français (« je suis allé »), l'anglais n'utilise jamais be comme auxiliaire du present perfect : I have gone, pas « I am gone ».
Les emplois du present perfect
Le present perfect parle du passé du point de vue du présent. Il ne donne jamais de date précise : dès qu'un moment passé est nommé, on passe au prétérit.
- Expérience de vie : Have you ever been to New York? I've never tried sushi.
- Bilan jusqu'à maintenant : She has written three books so far.
- Résultat visible maintenant : I've lost my keys (je ne peux pas rentrer).
- Période non terminée : I've drunk three coffees today. We haven't had much rain this month.
- Action récente : just (« venir de »), already (« déjà »), yet (« pas encore » / « déjà ? ») : She has just left. Have you finished yet?
- Durée jusqu'à maintenant : for + durée, since + point de départ.
« Depuis » : for / since + present perfect, pas le présent
C'est l'erreur la plus fréquente des francophones : le français dit « j'habite ici depuis 2020 » au présent, et la traduction mot à mot donne « I live here since 2020 », qui est faux. L'anglais considère que la situation a commencé dans le passé et se prolonge jusqu'à maintenant : il faut le present perfect.
- « J'habite ici depuis 2020 » → I have lived here since 2020.
- « Je le connais depuis dix ans » → I have known him for ten years.
- « Depuis combien de temps attends-tu ? » → How long have you been waiting?
- Avec une activité en cours, on emploie souvent le present perfect en be + -ing : I've been learning English for three years.
For + durée (ten years, two hours), since + point de départ (2020, Monday, I was a child). Les deux exigent le present perfect quand la situation continue.
Passé composé ≠ present perfect
Le passé composé et le present perfect ont la même structure (auxiliaire + participe passé), mais le passé composé couvre aussi les actions datées. En anglais, ces actions-là passent au prétérit : « J'ai vu Paul hier » → I saw Paul yesterday ; « Il est né en 1990 » → He was born in 1990.
Pour le contraste détaillé, avec 30 exercices dédiés, consultez la page present perfect ou prétérit. Pour la question « depuis combien de temps », voyez la page how long + present perfect.
- Moment passé daté (yesterday, last year, ago, in 2019, when… ?) → prétérit.
- Pas de date, lien avec le présent (ever, never, just, already, yet, so far, since, for, today) → present perfect.
Continuer à s'entraîner
Questions fréquentes
Comment se forme le present perfect en anglais ?
Avec have (ou has à la 3e personne du singulier) suivi du participe passé : I have finished, she has gone, they haven't called. Le participe des verbes réguliers se termine en -ed ; celui des irréguliers est à apprendre (been, done, seen, written).
Pourquoi ne peut-on pas dire « I live here since 2020 » ?
Parce que l'anglais n'utilise pas le présent pour une situation qui a commencé dans le passé et continue. Avec since ou for, il faut le present perfect : I have lived here since 2020, I have known her for ten years.
Quelle est la différence entre « has been » et « has gone » ?
She has been to Rome = elle y est allée et elle est revenue (expérience). She has gone to Rome = elle est partie là-bas et elle n'est pas encore revenue. Been indique l'aller-retour, gone l'absence actuelle.
Vérifiez vos present perfect dans vos vrais textes
Since au lieu de depuis + présent, have seen avec yesterday, participes irréguliers : c'est dans vos phrases que ça se joue. Collez un e-mail dans le correcteur gratuit de PromGee et voyez chaque temps verbal corrigé avec son explication en français.
Corriger mon anglais gratuitement