I kill all myenemies instead of one

Hello !
I managed to damage my enemies after a lot of difficulties but, now, when I kill one the other dies too.

GameObject GestureAttack()
{
    invincible = true;
    GameObject[] Foes = GameObject.FindGameObjectsWithTag("Foe");
    GameObject closest = null;
    float distance = Mathf.Infinity;
    Vector3 position = transform.position;

    foreach (GameObject go in Foes)
    {
        Vector3 diff = go.transform.position - position;
        float curDistance = diff.sqrMagnitude;
        if (curDistance < distance)
        {
            closest = go;
            distance = curDistance;
        }
    }
    if (recupgeste == "D" && recupgestescore > 0.60 || Input.GetKeyDown(KeyCode.Space))
    {
        transform.position = Vector3.MoveTowards(transform.position, closest.transform.position, 100);
       foreach (GameObject go in Foes)
        {
            FoeCurrentHealth = go.GetComponent<s_EnnemyControl>().FoeCurrentHealth;
            s_EnnemyControl enemyHealth = go.GetComponent<s_EnnemyControl>();
            if (FoeCurrentHealth >0)
        {
           // Debug.Log("TOOK");
            enemyHealth.TakeDamage(attackDamage);
        }
        }
    }
    return closest;   
}

I think it’s related to the enemyHealth.TakeDamage(attackDamage); who only target the script and not a particular enemy, but I can’t manage to do something OK.
Thanks and love

It seems to have to do with this second part of your code:

     if (recupgeste == "D" && recupgestescore > 0.60 || Input.GetKeyDown(KeyCode.Space))
     {
         transform.position = Vector3.MoveTowards(transform.position, closest.transform.position, 100);
        foreach (GameObject go in Foes)
         {
             FoeCurrentHealth = go.GetComponent<s_EnnemyControl>().FoeCurrentHealth;
             s_EnnemyControl enemyHealth = go.GetComponent<s_EnnemyControl>();
             if (FoeCurrentHealth >0)
         {
            // Debug.Log("TOOK");
             enemyHealth.TakeDamage(attackDamage);
         }
         }
     }

I’m not sure what recupgeste and recupgestescore are, but regardless of their values, when you push space the block gets executed. In it, your code deals damage to all enemies. Did you perhaps mean to only damage “closest”? I don’t know what the rest of your code looks like, but this seems to be the reason.