Bon, là je sèche. Est ce que quelqu'un sait ce que ce message veut dire: Object reference not set as instance of an object

Pour faire simple, je bosse sur une application qui traite les fichiers ini (lecture, tri, modifications, blabla ).
J'utilise un Treeview pour afficher le contenu d'un fichier ini.
Ce message apparait sous forme d'un popup quand mon treeview ce construit (du moins à la fin).
Mais malgré, le popup, je clique sur OK et les opérations se passent correctement. Ce qui est génant c'est que ce message apprait et je dois cliquer sur OK pour que l'application continue son boulot. Un peu génant quand même

Voici le code impliqué dans la génération de ce message:

1. Extrait de ma classe IniFunctions:
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
17
18
19
20
21
22
23
24
25
26
27
 
    'Retourne les Keys de la section désirée du fichier ini
    Public Function GetKeyNames(ByVal monFichier As String, ByVal maSection As String) As ArrayList
        Dim Buffer As New ArrayList
        Dim Ligne As String
        Try
            Dim Fichier As StreamReader = New StreamReader(monFichier)
            Do
                Ligne = Fichier.ReadLine
                If Ligne = "[" & maSection & "]" Then
                    Do
                        Ligne = Fichier.ReadLine
                        If LSet(Ligne, 1) <> "[" Then
                                If Ligne.Length > 0 Then
                                Ligne = LSet(Ligne, Ligne.IndexOf("="))
                                Buffer.Add(Ligne)
                                End If
                            End If
                        End If
                    Loop Until LSet(Ligne, 1) = "[" Or Ligne Is Nothing
                End If
            Loop Until Ligne Is Nothing
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString)
        End Try
        Return Buffer
    End Function
2. Extrait de ma classe principale
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
17
18
19
20
21
 
    Private Sub Btn_tv1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_tv1.Click
        Dim objet As New IniFunctions
        Dim resultat1 As ArrayList
        Dim resultat2 As ArrayList
        Dim position As Integer = 0
        Try
            resultat1 = objet.GetSectionNames(txtb_TP4_Path.Text)
            For Each valeur1 As String In resultat1
                TV_Ini.Nodes.Add(valeur1)
                valeur1 = valeur1.Substring(1, valeur1.IndexOf("]") - 1)
                resultat2 = objet.GetKeyNames(txtb_TP4_Path.Text, valeur1)
                For Each valeur2 As String In resultat2
                    TV_Ini.Nodes(position).Nodes.Add(Trim(valeur2))
                Next
                position = position + 1
            Next
        Catch ex As Exception
            'MessageBox.Show(ex.Message.ToString)
        End Try
    End Sub
L'erreur est générée ici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
resultat2 = objet.GetKeyNames(txtb_TP4_Path.Text, valeur1)
En gros, resultat2 est un arraylist contenant les keys se trouvant en dessous d'une section particuliére (si vous comprenez pas, ouvrez un fichier ini et vous verrez ceci: [SECTION] et key=value).
Apparement le popup est généré lors du dernier passage de la boucle, mais je ne comprend vraiment pas pourquoi, vu que les boucles précédente se passent correctement.

Ce message d'erreur me suis car pour une autre application, je l'ai aussi.