Comment les éléments sont copiés dans un tableau?

Bonjour, j’ai fait pas mal de développement dans ma vie, je me suis mis à VBA il n’y a pas très longtemps et j’ai un problème que je m’explique pas, et je me demande si quand on insère un élément dans un tableau, vba n’insérerait pas une copie de l’élément dans le tableau plutôt que la référence à l’objet d’origine :

Public Type User
firstName As String
lastName As String
End Type

Sub test()
Dim userList(1) As User
Dim user1 As User
user1.firstName = « Tom »
user1.lastName = « Hanks »

userList(0) = user1
Debug.Print "0 userList(0).firstName=" & userList(0).firstName & " userList(0).lastName=" & userList(0).lastName
user1.lastName = "Cruise"
Debug.Print "1 userList(0).firstName=" & userList(0).firstName & " userList(0).lastName=" & userList(0).lastName

et la console affiche

0 userList(0).firstName=Tom userList(0).lastName=Hanks
1 userList(0).firstName=Tom userList(0).lastName=Hanks

et là je ne comprends pas car je m’attendais à voir

1 userList(0).firstName=Tom userList(0).lastName=Cruise

Auriez-vous des explications ? Je viens du monde java et en java ça se comporterait comme je l’ai écrit.

Merci pour vos réponses

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.