Bonjour à vous,

Besoin d'aide ou d'une piste pour un bout de code...
J'ai télécharger cette application (Afficher le contenu d'un fichier texte dans un DatagridView et choisir les colonnes à afficher)

Au niveau du formulaire (Colonnes.vb) je souhaiterai ajouter un message pour me dire le nombre de colonne choisi par l'utilisateur.
J'ai ajouté sur le Click du bouton1 un msgbox....en fin du 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
 
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim UnNuméro As Integer = LeDset.Tables.Count - 1
        Dim NomTable As String = String.Concat("Table_", UnNuméro.ToString)
        Dim UneNouvelleRangée As DataRow = Nothing
        'Faire la liste des colonnes qui doivent être affichées.
        ListeColonnesàGarder.Clear()
        For Each rangée As DataRow In TableColonnes.Rows
            If rangée.Item("Visible") = True Then
                Try
                    ListeColonnesàGarder.Add(rangée.Item("Nom"))
                Catch ex As Exception
                End Try
            End If
        Next
        Select Case My.Settings.bouton
            Case "affichage"
                'On affiche les colonnes
                'sans extraire les colonnes
                'choisies dans une npouvelle table
                TraiteLesColonnes()
                Me.DataGridView1.DataSource = TableColonnes
            Case "table"
                'Les colonnes choisies seront extraites
                'dans une nouvelle table
                Dim LaNouvelleTable As DataTable = My.Forms.Form1.DSet.Tables.Add(NomTable)
                For Each UneColonne As String In ListeColonnesàGarder
                    LaNouvelleTable.Columns.Add(UneColonne)
                Next
                For Each UneRangée As DataRow In TableInitiale.Rows
                    UneNouvelleRangée = LaNouvelleTable.Rows.Add
                    For Each UneColonne As String In ListeColonnesàGarder
                        UneNouvelleRangée.Item(UneColonne) = UneRangée.Item(UneColonne)
                    Next
                Next
                My.Forms.Form1.AfficheTable(LaNouvelleTable)
        End Select
 
        MsgBox(ListeColonnesàGarder.Count)
 
    End Sub
J'obtiens un résultat qui n'est pas cohérent avec la valeur réelle...d'autant que j'ai mis UneRangée.Item("Visible") = False ....dans le code de :

Private Sub Colonnes_Load(sender As Object, e As EventArgs) Handles Me.Load

Comme ça les cases sont décochées....et je souhaiterai qu'a chaque click le mesgbox me dise 1 et puis 2 et puis 3.....humm ou totalise le nombre total....

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
 
   Private Sub Colonnes_Load(sender As Object, e As EventArgs) Handles Me.Load
        'Affiche une liste des noms de champs (colonnes)
        'dans un second DataGridView
        'La seconde colonne permet de choisir
        'quelles colonnes resteront, ou seront, affichées
        Me.RadioButton1.Checked = True
        Dim UneRangée As DataRow = Nothing
        TableColonnes = My.Forms.Form1.DSet.Tables("Colonnes")
        If Not IsNothing(TableColonnes) = Nothing Then
            ' Catch ex As Exception
            TableColonnes = My.Forms.Form1.DSet.Tables.Add("Colonnes")
            With TableColonnes
                .Columns.Add("Nom", GetType(String))
                .Columns.Add("Visible", GetType(Boolean))
                For Each UneColonne As DataColumn In TableInitiale.Columns
                    UneRangée = .Rows.Add
                    UneRangée.Item("Nom") = UneColonne.ColumnName
                    UneRangée.Item("Visible") = False 'ICI J AI REMPLACE PAR FALSE
                Next
            End With
        End If
        Me.DataGridView1.DataSource = TableColonnes
    End Sub
Je n'ai visiblement pas beaucoup de jugeote, car ça fait dix plombes que je cherche.....

Merci de votre aide...