Bonjour,

Actuellement je fais des essais pour récupérer une valeur précise d'une ligne d'un DataGridView.

Voici le code dans le formulaire pour appeler la procédure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Private Sub ComboBoxReference_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxReference.Validated
        referenceSKF = ComboBoxReference.Text
        RepriseAutomatiqueValeurSKF()
        MsgBox(DInt)
End Sub
Voici la procédure de la reprise automatique

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Public DInt as Single
Public Sub RepriseAutomatiqueValeurSKF()
        DInt = RepriseAutoDInt()
End Sub

Et le code de la reprise automatique :

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
Private Function RepriseAutoDInt() As Single
        Dim a As String
        Dim i As Integer
        Dim dtreprise As New DataTable
        Dim dtgv As New DataGridView
 
        i = 0
 
        dtreprise = OuvrirCatalogueSKF() ' lit un fichier .txt et créer une DtataTable de celui-ci que je retourne dans cette celle-ci
        dtgv.DataSource = dtreprise
 
        Do
            a = CStr(dtgv.Item(0, i).Value) 'Erreur
 
            If referenceSKF <> a Then
                i = i + 1
            End If
 
            If i = dtgv.RowCount() Then
                Exit Do
            End If
 
        Loop Until referenceSKF = a
 
        Return CSng(dtgv.Item(1, (i)).Value) 'De ce fait je soupçonne la même Erreur ici
End Function
'Erreur =
L'exception ArgumentOutOfRangeExeption n'a pas été gérée par le controle utilisateur
L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Nom du paramètre : Index

De mes recherche j'en ai déduit que le DataGridView ne se créé pas ou mal, les colonnes/lignes/valeurs ne sont pas présentent, donc pas d'index...

Peut être le problème est différent de ce que je suppose, mais je ne sais comment le régler. Y a t'il une autre méthode pour récupérer la valeur en utilisant directement le DataTable ?


Cordialement,
Bacube