sisi, a priori, tu peux tres bien copier la surface "screen" comme une autre.
En effet, si tu travailles en double buffering (je pense oui) alors screen est le 2e buffer, et est donc accessible.
A mon avis, le probleme vient de ta surface "efface" qui n´est pas initialisée.
Quand tu dis "ça marche pas", tu veux dire que ça plante ?
ce ne serait pas étonnant : pense bien a créer ta surface "efface" avant de l´utiliser, avec la fonction SDL_CreateRGBSurface