let del_zone_y (y : float) : unit =
        let dist = ref 0. in
        let rec aux l res =
                match l with [] -> List.rev res
                        |(((click_x,click_y),zone)::ls) ->         
                                                if(click_y=y)
                                                then (        dist:= max !dist ((max_l zone) -. (min_l zone)) ; 
                                                        aux ls res)
                                                else (aux ls (((click_x,click_y),zone)::res));
        in infos_zones:=(aux (!infos_zones) []);

        
        let rec aux0 l_infos_zones res =
                match l_infos_zones with [] -> List.rev res
                        |(((absX,ordY),points_list)::ls) ->
                                if(ordY <= y)
                                then aux0 ls (((absX,(ordY +. !dist)),(List.map (fun p -> p +. !dist) points_list))::res)
                                else aux0 ls (((absX,ordY),points_list)::res)
        in infos_zones:= aux0 (!infos_zones) [];