This paper describes an approach to case-based reasoning by which the case base is enriched at reasoning time. Enrichment results from the local application of variations to seed cases: new hypothetical cases are created which get closer and closer to the target problem. The creation of these hypothetical cases is based on structures associated to the problem and solution spaces, called variation spaces, that enable to define a language of adaptation rules. Ultimately reaching the target problem (exactly or nearly) allows the system to deliver a solution. A realistic application of the proposed approach to machine translation between French and English shows behind state-of-the-art, but promising results.