Bonjour à tous,

J'ai une "Structure" composée de plusieurs Champs que je désire enregistrer dans un fichier sur disque. Tout fonctionne bien jusqu'au moment de sauver.
Les données à sauver sont dans un DataGridView (DGV1)

Voici le code:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
    Structure StructureType
        Public Contrôle As String
        Public No_Dossier As UInteger
        Public No_Table As UInteger
        Public No_Champ As Byte
        <VBFixedString(20)> Public NomChamp As String
        Public TypeDeVariable As Byte
        Public NbreCar As Byte
        Public Position As UShort
        <VBFixedString(15)> Public Format As String
        Public Table As UInteger
        <VBFixedArray(3)> Public Champ() As Byte
        <VBFixedString(15)> Public NomContrôle As String
        <VBFixedString(15)> Public Énum As String
        Public Obligatoire As Boolean
        Public Crypté As Boolean
        Public NoOrdreChampID As Byte
        Public Consultation As UInteger
        Public Modification As UInteger
    End Structure
 
    Public Ossature As StructureType   
 
    Private Sub InitStructure()
        Dim Fichier As String = ""
        Dim i As Integer
        Dim No_Fichier As Integer = 1
 
        Fichier = Trim(CheminClient) & "\" & "T001.dat"
        FileOpen(No_Fichier, Fichier, OpenMode.Binary)
 
        For i = 1 To 20
            'Sauvegarde de l'ossature de chacun des champs du fichier
            Ossature.NomChamp = Space(20)
            Ossature.Format = Space(15)
            Ossature.NomContrôle = Space(15)
            Ossature.Énum = Space(15)
 
            Ossature.Contrôle = "*"
            Ossature.No_Dossier = i
            Ossature.No_Table = 1
            Ossature.No_Champ = DGV1.Item(3, i).Value
            Ossature.NomChamp = DGV1.Item(4, i).Value
            Ossature.TypeDeVariable = DGV1.Item(5, i).Value
            Ossature.NbreCar = DGV1.Item(6, i).Value
            Ossature.Position = DGV1.Item(7, i).Value
            Ossature.Format = DGV1.Item(8, i).Value
            Ossature.Table = DGV1.Item(9, i).Value
            ReDim Ossature.Champ(3)
            Ossature.Champ(1) = DGV1.Item(10, i).Value
            Ossature.Champ(2) = DGV1.Item(11, i).Value
            Ossature.Champ(3) = DGV1.Item(12, i).Value
            Ossature.NomContrôle = DGV1.Item(13, i).Value
            Ossature.Énum = DGV1.Item(14, i).Value
            Ossature.Obligatoire = DGV1.Item(15, i).Value
            Ossature.Crypté = DGV1.Item(16, i).Value
            Ossature.NoOrdreChampID = DGV1.Item(17, i).Value
            Ossature.Consultation = DGV1.Item(18, i).Value
            Ossature.Modification = DGV1.Item(19, i).Value
 
            FilePut(No_Fichier, Ossature)    'C'est cette ligne qui bogue
        Next i
    End Sub
Le message d'erreur est le suivant:
L'E/S de fichier d'une structure avec un champ 'No_Dossier' de type 'UInt32' n'est pas valide.

Merci d'avance pour vos conseils.