Anglais — Grammaire
Present perfect
Present perfect simple vs continu, for/since, already/yet/just, différence avec le prétérit
Résumé synthétiqueFiche en 5 sectionsQuiz de 10 questionsGratuit, sans pub
Résumé
Le present perfect relie le passé au présent. Il se forme avec have/has + past participle : « I have visited London twice. » On l'utilise pour parler d'expériences vécues, d'actions récentes ou de situations qui durent encore. On distingue for (durée : « for three years ») et since (point de départ : « since 2020 »). Les adverbes already, yet et just précisent le moment : « I have just finished » (je viens de finir), « Have you eaten yet? » (tu as déjà mangé ?), « She has already left » (elle est déjà partie). Le present perfect continu (have been + V-ing) insiste sur la durée ou l'activité en cours : « I have been studying for two hours. » Attention à ne pas confondre avec le prétérit, qui situe l'action à un moment précis et révolu : « I visited London last year » (prétérit) vs « I have visited London » (present perfect, pas de moment précis).
Le present perfect est un temps qui relie le passé au présent : il décrit une action passée dont les effets ou la pertinence se prolongent aujourd'hui. Il se construit toujours avec l'auxiliaire have ou has suivi du past participle (participe passé) du verbe. Bien maîtriser sa formation aux trois formes (affirmative, négative, interrogative) est la base de tout le chapitre.
- Structure : sujet + have/has + past participle. Exemple : « She has worked here for five years. »
- Forme négative : sujet + have/has + not + past participle. Exemple : « I haven't seen that film. »
- Forme interrogative : Have/Has + sujet + past participle ? Exemple : « Have you ever been to Japan? »
- Les verbes réguliers prennent -ed (worked, played), les irréguliers ont une forme propre (seen, gone, written)
- Contractions courantes : I've, you've, he's, she's, we've, they've ; haven't, hasn't
Exemple
« She has worked here for five years. » (Elle travaille ici depuis cinq ans.)
Piège à éviter
On utilise has uniquement à la 3e personne du singulier (he, she, it) ; partout ailleurs c'est have. Ne dis jamais « She have finished ».
Le present perfect ne situe jamais l'action à une date précise : il s'intéresse au lien avec le présent. On l'emploie pour une expérience de vie, une action récente aux conséquences actuelles, ou une situation commencée dans le passé et toujours vraie. Les adverbes ever, never, already, yet et just l'accompagnent souvent.
- Expérience vécue (sans date précise) : « I have read this book three times. »
- Action récente avec résultat présent : « He has broken his leg. » (il a encore la jambe cassée)
- Situation qui dure depuis le passé jusqu'à maintenant : « We have lived here since 2015. »
- Avec ever/never pour parler d'expériences : « Have you ever eaten sushi? » — « No, I have never tried it. »
- Avec already (affirmatif), yet (négatif/interrogatif), just (action très récente) : « I have just arrived. »
Exemple
« I have just arrived, so I haven't seen the news yet. » (Je viens d'arriver, donc je n'ai pas encore vu les informations.)
Piège à éviter
Attention à la traduction : « We have lived here since 2015 » se rend par un présent en français (« Nous habitons ici depuis 2015 »), pas par un passé composé.
Pour exprimer la durée avec le present perfect, l'anglais distingue deux mots que le français confond sous « depuis ». For introduit une durée (combien de temps), tandis que since introduit un point de départ (depuis quand). Choisir le bon est un réflexe à automatiser.
- For + durée : « for two hours », « for six months », « for a long time »
- Since + point de départ : « since Monday », « since 2018 », « since I was a child »
- Erreur fréquente : ne pas dire « since three years » → « for three years »
- Exemple complet : « They have known each other since primary school. » / « They have known each other for ten years. »
Exemple
« I have known her for ten years. » / « I have known her since 2016. » (Je la connais depuis dix ans / depuis 2016.)
Piège à éviter
Erreur classique du francophone : « since three years ». since ne se met jamais devant une durée chiffrée ; il faut for three years.
Le present perfect continu (ou progressif) se forme avec have/has been + V-ing. Là où le present perfect simple met l'accent sur le résultat, le continu insiste sur la durée ou le déroulement de l'activité, qui n'est pas forcément terminée.
- Formation : sujet + have/has + been + V-ing. Exemple : « It has been raining all day. »
- Insiste sur la durée de l'activité : « I have been waiting for an hour! »
- Insiste sur l'activité elle-même (pas forcément terminée) : « She has been reading that book. » (elle est peut-être encore en train)
- Différence avec le simple : « I have written three emails » (résultat : 3 mails faits) vs « I have been writing emails » (activité en cours)
- Certains verbes d'état ne se mettent pas au continu : know, believe, belong, like, want
Exemple
« I have been waiting for an hour! » (J'attends depuis une heure !)
Piège à éviter
Les verbes d'état (know, like, want, believe, belong) ne se mettent pas à la forme en -ing : on dit « I have known him for years », jamais « I have been knowing ».
C'est la difficulté centrale pour un francophone, car notre passé composé recouvre les deux temps anglais. Le prétérit raconte un fait achevé situé à un moment précis du passé ; le present perfect relie l'action au présent sans la dater. Le test : peut-on répondre à « quand ? » par une date ?
- Le prétérit situe l'action à un moment précis et terminé : « I visited Paris in 2019. »
- Le present perfect ne précise pas le moment ou relie au présent : « I have visited Paris. » (expérience, pas de date)
- Marqueurs du prétérit : yesterday, last week, in 2005, ago, when I was young
- Marqueurs du present perfect : ever, never, already, yet, just, so far, recently, since, for
- Piège français : « J'ai mangé ce matin » → « I ate this morning » (prétérit, car moment précis) et non « I have eaten this morning »
- Règle simple : si on peut répondre « quand ? » avec une date précise → prétérit ; sinon → present perfect
Exemple
« I visited Paris in 2019. » (prétérit, date précise) vs « I have visited Paris. » (present perfect, expérience sans date)
Piège à éviter
Un marqueur de temps passé précis (yesterday, last week, in 2005, ago) impose le prétérit. « I have seen him yesterday » est faux : il faut « I saw him yesterday ».
Quiz - Present perfect
10 questions
S'entraîner
Articles utiles
Questions fréquentes
Les points clés à retenir sur Present perfect, extraits du quiz de révision.
Quelle est la forme correcte ? « She ___ here since 2019. »
Réponse :
has worked
Avec « since 2019 », on utilise le present perfect car l'action dure encore. « She has worked here since 2019 » signifie qu'elle y travaille encore.
Choisissez la bonne phrase :
Réponse :
I visited Rome last summer.
« Last summer » est un moment précis et révolu, donc on utilise le prétérit : « I visited Rome last summer. » Le present perfect ne s'emploie pas avec un marqueur de temps passé précis.
Complétez : « They have lived in London ___ five years. »
Réponse :
for
On utilise « for » devant une durée (five years). « Since » s'utilise devant un point de départ précis (since 2019). « During » n'est pas suivi d'une durée chiffrée seule. « Ago » s'emploie avec le prétérit.
Que signifie « I have just finished my homework » ?
Réponse :
Je viens de finir mes devoirs.
« Just » avec le present perfect indique une action très récente. « I have just finished » = « Je viens de finir. »