none
compter lignes d'un datagridview.vb2013 RRS feed

  • Question

  • bonjour

      je  voudrais compter les lignes  occupées dans un datagridvieuw  qui n'est pas lié a une database

     ceci pour pouvoir les récuperer et les copier dans un autre datagridview

    voici mon code qui marche pas

    valeur de b=14

            For i = 1 To b
                c = Form3.DataGridView1.Rows(i).Cells.Item(4).Value.ToString
    
                If c = " " Then
                    nombrelignes = i : Exit For
                End If
                'If c Is Nothing Then
                '    nombrelignes = i : Exit For
                'End If
    
            Next
    
    
            MsgBox("numero ligne  libre =" & nombrelignes)
    
    

    merci de m'aider  j'obtiens l'erreur suivante

    jeudi 12 mai 2016 13:03

Réponses

  • Bonjour,
    Cette erreur indique que vous essayez d'accéder à une propriété d'un objet alors que l'objet est null.
    Si je comprend bien, il y a 14 lignes dans votre datagridview. Votre boucle "for" devrait donc commencer de l'index 0 jusqu'à l'index 13 car la première ligne est à l'index 0 est non 1. Du coup vous essayez d'accéder à la ligne d'index 14 qui n'existe pas et cela engendre cette erreur.

    Le mieux se serait de faire : 

     For i =0 To DataGridView1.Rows.Count -1

    Comme cela le code marchera si vous supprimez ou ajoutez des ligne à la DataGrid

    Cordialement,


    jeudi 12 mai 2016 14:27

Toutes les réponses

  • Bonjour,

    tu as plus simple pour compter nombre de ligne dans ton datagridview1 :

    Label1.Text = DataGridView1.Rows.Count

    cordialement,

    jeudi 12 mai 2016 13:24
  • merci de votre repose mais je souhaite  trouver le m=nombre lignes qui sont remplies et non le nombre total de ligne du datgridview
    jeudi 12 mai 2016 14:07
  • Bonjour,
    Cette erreur indique que vous essayez d'accéder à une propriété d'un objet alors que l'objet est null.
    Si je comprend bien, il y a 14 lignes dans votre datagridview. Votre boucle "for" devrait donc commencer de l'index 0 jusqu'à l'index 13 car la première ligne est à l'index 0 est non 1. Du coup vous essayez d'accéder à la ligne d'index 14 qui n'existe pas et cela engendre cette erreur.

    Le mieux se serait de faire : 

     For i =0 To DataGridView1.Rows.Count -1

    Comme cela le code marchera si vous supprimez ou ajoutez des ligne à la DataGrid

    Cordialement,


    jeudi 12 mai 2016 14:27