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: