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 :
et la console affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 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 là je ne comprends pas car je m’attendais à voir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 0 userList(0).firstName=Tom userList(0).lastName=Hanks 1 userList(0).firstName=Tom userList(0).lastName=Hanks
Auriez-vous des explications ? Je viens du monde java et en java ça se comporterait comme je l’ai écrit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 1 userList(0).firstName=Tom userList(0).lastName=Cruise
Merci pour vos réponses
Partager