Exercices de grammaire › Present Perfect Tense
Le present perfect : questions ouvertes
490 exercices à trous, 49 tests de dix
Le mot interrogatif d'abord, puis l'auxiliaire, puis le sujet. Un cas rompt cet ordre.
Le participe passé est la troisième forme des tableaux de verbes : written, gone, built. Il ne change jamais avec le sujet.
Entraînez-vous sur cette forme
Chargement…
Votre première question arrive.
L’ordre habituel
Trois places, toujours dans cet ordre : mot interrogatif — auxiliaire — sujet, puis le participe passé.
How long have you lived here?
C’est la même inversion que dans une question fermée, avec le mot interrogatif garé devant.
Quand who ou what est le sujet
Si le mot interrogatif est lui-même celui qui fait l’action, il n’y a pas de sujet à déplacer — donc rien ne s’inverse :
- Who has broken the window?
- What has happened?
Comparez avec une question où who est complément, et l’ordre normal revient :
Who have you invited? — ici, c’est you qui invite.
How long et since when
Les deux portent sur la durée, et les deux appellent le present perfect plutôt que le passé simple, parce que la situation dure encore :
- How long have you worked here? — vous y travaillez toujours.
- Since when has she been the manager? — elle l’est toujours.
Répondez avec for plus une durée, ou since plus un point de départ.
Où ça coince pour un francophone
« Depuis combien de temps » et « depuis quand » : deux questions, deux réponses. Le français fait déjà la distinction, et elle donne directement for et since :
| français | anglais | réponse |
|---|---|---|
| Depuis combien de temps travaillez-vous ici ? | How long have you worked here? | For ten years |
| Depuis quand est-elle directrice ? | Since when has she been the manager? | Since March |
Et dans les deux cas, le français est au présent et l’anglais au present perfect : « vous travaillez » → you have worked.
« Où étiez-vous hier ? » n’est pas ce temps-ci. C’est la troisième erreur ci-dessus. Dès qu’un moment révolu est nommé, la question bascule :
- « Où avez-vous été ? » (sans date) → Where have you been?
- « Où étiez-vous hier ? » → Where were you yesterday?
« Qui a cassé la fenêtre ? » vous donne la bonne forme. Quand l’interrogatif est le sujet, le français n’ajoute rien non plus :
- « Qui a cassé la fenêtre ? » → Who has broken the window?
- « Qu’est-ce qui s’est passé ? » → What has happened?
Et il n’y a pas de second sujet : Who has he called you? ajoute un he en trop. Comparez avec la question sur le complément : « Qui avez-vous invité ? » → Who have you invited?, où you est bien le sujet.
Pas de do nulle part, même avec un mot interrogatif. How long have you known her?, jamais do you have known. L’auxiliaire est have, et il suffit.
« Combien en avez-vous lu ? » se transpose directement. How many have you read? L’inversion de avoir après le mot interrogatif existe en français, et c’est exactement ce que fait l’anglais.
Toutes les formes
| Mot interrogatif | Exemple | Ce qu'on demande |
|---|---|---|
| What | What have you done? | la chose |
| Where | Where has she been? | le lieu |
| Why | Why have they left? | la raison |
| How long | How long have you known him? | la durée |
| How many | How many have you read? | le nombre |
| Who | Who has taken my pen? | la personne — voir plus bas |
Exemples
Tirés des 490 phrases de cet exercice. La réponse est surlignée.
- Who have Alice and Bob gone to the party with?
- How many cups of coffee have you had today?
- How long has the restaurant been serving breakfast?
- Who has eaten all the cookies from the jar?
- What have you done with your old clothes?
- Where has Jane lost her glasses?
- Where have you bought these chocolates before?
- Who has left the door open?
- Why has she put her phone on silent mode?
- Why haven't they finished their homework yet?
- How long has the movie played in theaters?
- Who has Andrew come to the party tonight?
Erreurs à éviter
Incorrect : How long do you have known her? correct : How long have you known her?
Pas de do au present perfect, mot interrogatif ou pas.
Incorrect : Who has he called you? correct : Who has called you?
Quand who est celui qui fait l'action, il n'y a pas de second sujet. Supprimez-le.
Incorrect : Where have you been yesterday? correct : Where were you yesterday?
Yesterday est un moment révolu, donc la question passe au passé simple.