Essaie ceci :
SELECT m.pseudonyme AS pseudonyme,m.nom_de_famille AS nom ,m.prenom AS prenom, m.avatar_membre AS avatar_membre, msg.id_message AS id_message,msg.id_envoyeur AS id_envoyeur,msg.id_recepteur AS id_recepteur, msg.message AS message,msg.lu_ou_pas AS lu_ou_pas, DATE_FORMAT(MAX(msg.date_message) , \'%d/%m/%Y à %H:%i:%ss\') AS date_message_fr
FROM membres m
RIGHT JOIN message msg
ON m.id_membre = (SELECT MAX(msg2.id_envoyeur) FROM message msg2 WHERE msg2.id_membre=msg.id_envoyeur AND msg2.id_recepteur= :recept)
WHERE msg.id_recepteur = :recept
GROUP BY msg.id_envoyeur
ORDER BY date_message DESC
LIMIT 0, 100