Bonjour,
je manipule de plus en plus souvent dans mes macros vba les array (produit par la propriété value de l'objet range) mais je suis confroné à une situation suffisamment étrange pour vous la soumettre et peut être la comprendre grâce à vos retours (et y apporter une parade)

Je crée un listobject simple : 1 colonne et 3 lignes contenant les valeurs "A", "B","C".

En vba, j'écris la macro : MaTable.DataBodyRange.value=MaTable.DataBodyRange.value

Si mon tableau n'est pas filtré => tout est OK
Si mon tableau est filtré sur la valeur "B" => la valeur "B" devient "A"

Si je mets un espion sur MaTable.DataBodyRange.value, la valeur est pourtant la même que le tableau soit filtré ou non.

Je vous joins un fichier Excel avec la macro décrite ci-dessous (test_copie.xlsm) et suis preneur de votre compréhension du problème.

Merci par avance