> Blockquote  void Update()
    {

        TerrainData terrain = Terrain.activeTerrain.terrainData;
        ArrayList instances = new ArrayList();

        foreach (TreeInstance tree in terrain.treeInstances)
        {
            distanceG = Vector3.Distance(gameObject.transform.position, tree.position);

            distance = Vector3.Distance(Vector3.Scale(tree.position, terrain.size) + Terrain.activeTerrain.transform.position, transform.position);

            if (distance < closeRange)
            {
                // the tree is in range - destroy it
                print("1");
            }
            else
            {
                // tree is out of range - keep it
                instances.Add(tree);

            }
        }
        terrain.treeInstances = (TreeInstance[])instances.ToArray(typeof(TreeInstance));

    }

After a long time it works