Lu76Fer
XLDnaute Occasionnel
Bonjour à toutes et tous,
Je vais vous expliquez mon cas au travers d'un cas concret ce sera plus simple :
Soit on ajoute une classe dans le module de classe : C_Chaine
Objet : tmpCh
Sous-Objet : ch.NextVal
Les objets sont passés par référence par défaut mais je vais tout de même forcé le passage par référence ce qui n'aura aucune utilité en faite !
Voici mon code et le code à regarder : addChaine ch.NextVal
On voit que cela ne fonctionne pas alors qu'en corrigeant comme ceci, cela fonctionne :
Code à regarder : addChaine tmpCh: Set ch.NextVal = tmpCh
Connaissez-vous une autre façon de coder cela plus simplement ?
Je vais vous expliquez mon cas au travers d'un cas concret ce sera plus simple :
Soit on ajoute une classe dans le module de classe : C_Chaine
VB:
Public NextVal As C_Chaine
Public Val As Integer
Sous-Objet : ch.NextVal
Les objets sont passés par référence par défaut mais je vais tout de même forcé le passage par référence ce qui n'aura aucune utilité en faite !
Voici mon code et le code à regarder : addChaine ch.NextVal
VB:
Sub SubObjByRef1()
Dim ch As New C_Chaine
ch.Val = 1
addChaine ch.NextVal
If ch.NextVal Is Nothing Then
Debug.Print "Valeur suivante introuvable !!"
Else
Debug.Print ch.NextVal.Val
End If
End Sub
Sub addChaine(ByRef ch As C_Chaine)
Set ch = New C_Chaine
ch.Val = 2
End Sub
Code à regarder : addChaine tmpCh: Set ch.NextVal = tmpCh
VB:
Sub SubObjByRef2()
Dim ch As New C_Chaine, tmpCh As C_Chaine
ch.Val = 1
addChaine tmpCh: Set ch.NextVal = tmpCh
If ch.NextVal Is Nothing Then
Debug.Print "Valeur suivante introuvable !!"
Else
Debug.Print ch.NextVal.Val
End If
End Sub
Dernière édition: