IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Selection d'une plage de cellules dans DatagridView [Vb.Net]


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 70
    Points
    70
    Par défaut Selection d'une plage de cellules dans DatagridView [Vb.Net]
    Bonjour le Forum,

    Voila j'ai une CheckListBox contenant des noms et je voudrais qd je sélectionne un des nom ainsi que deux ou trois cellules consécutives ou non dans une même colonne de mon datagridview en cliquant sur mon bouton "affiche", ca met dans les cellules sélectionnées le nom coché dans le CheckListBox.

    Pour le moment je sais pas faire grand chose. Juste dire, en code, la cellule sélectionner et lui donner le nom coché dans mon checklistBox.
    Voici le code que j'ai y a pas grand chose....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            Me.DataGridView1.CurrentCell = Me.DataGridView1(1, 0)
     
            If lstChoiceNom.CheckedItems.Count <> 0 Then
                Dim i As Integer
                For i = 0 To lstChoiceNom.CheckedItems.Count - 1
                    Me.DataGridView1.CurrentCell.Value = lstChoiceNom.CheckedItems(i).ToString
                Next i
            End If
    Le truc c'est que je n'arrive pas a trouver sur internet une ligne de code qui pourrai m'aider a réussir a connaître la cellule sélectionnée par simple click de "mulot" dans mon datagridview dans un premier temps et puis toute une sélection dans un deuxième temps....

    Voila si quelqu'un avait une idée sur la question ou un lien a me proposer....

    Merci d'avance et bonne journée...

    Cordialement,

    Vincent.

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Tu peux utiliser la propriete SelectedCells du DataGridView qui va te renvoyer la collection des cellules selectionnees.
    En prenant tous les elements de cette collection, tu peux alors changer le texte de chaque cellule selectionnee.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 70
    Points
    70
    Par défaut
    Salut OhMonBato, le Forum,

    Merci c'est exactement ce que je voulais et ca marche nickel sauf que j'ai un petit soucis, ça ne gène en rien lors de la compilation mais ça me gène.

    Voici le code (aidée avec l'aide sur {Comment : obtenir les cellules, lignes et colonnes sélectionnées dans le contrôle DataGridView Windows Forms} Merci F1!!!!):

    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
            Dim j As Integer, Name As String
    
            If lstChoiceName.CheckedItems.Count <> 0 Then
    
                For j = 0 To lstChoiceName.CheckedItems.Count - 1
                    Name = lstChoiceName.CheckedItems(j).ToString
                Next j
    
                Dim selectedCellCount As Integer = DataGridView1.GetCellCount(DataGridViewElementStates.Selected)
    
                If selectedCellCount > 0 Then
                    If DataGridView1.AreAllCellsSelected(True) Then
                        MessageBox.Show("All cells are selected", "Selected Cells")
                    Else
                        Dim i As Integer, col As Integer, lig As Integer
                        For i = 0 To selectedCellCount - 1
                            lig = DataGridView1.SelectedCells(i).RowIndex.ToString
                            col = DataGridView1.SelectedCells(i).ColumnIndex.ToString
                            Me.DataGridView1.Item(col, lig).Value = Name
                        Next i
                    End If
                End If
            Else
                MsgBox("Please select one Name in the list.", MsgBoxStyle.OkOnly)
            End If
    Dans la boucle ou je récupère le num de la colonne et de la ligne et ou je donne la valeur a la cellule correspondantes, "Name est surligné en vert en me disant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    La variable 'Proj' est utilisée avant qu'une valeur ne lui ait été assignée. Une exception de référence null peut se produire au moment de l'exécution.
    Ça ne gène en rien lors la compilation mais moi ça me gène....
    Comment bien construire mon code afin qu'il n'y ai plus cette avertissement. Je l'ai tourné dans tous les sens mais je l'ai toujours....

    Voila si tu as une idée Merci....

    En tout cas Merci pour tout.

    Cordialement,

    Vincent.

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    il suffit d'initialiser ta variable quand tu la dimensionnes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim j As Integer, Name As String = ""

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 70
    Points
    70
    Par défaut
    Salut OhMonBato, le Forum,

    Tout simplement.....

    En tout cas Merci pour tout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Autoriser sélection d'une plage de cellule dans une feuille Excel
    Par philoflore dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/08/2008, 09h49
  2. Trouver une plage de cellule dans une autre plage
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 16/04/2008, 14h27
  3. Copier une plage de cellules dans un fichier fermé
    Par COCONUT2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/07/2007, 17h23
  4. [VBA] Copier une plage de cellules dans un fichier fermé
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/01/2006, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo