Bonjour,
J'ai un problème avec la condition if si dessous en rouge.
le code ci dessous permet d'affecter dans les colonnes du datagridview les donné de ma base (table article: identifiant ,designation ,prix ,remise... )avec deux méthode.
1er: si je tape l'identifiant de la table dans la cellule(0) du datagridview et je clique flèche droit du clavier le reste des attribut va etre affecter dans le reste du datagridview.
2eme:si je tape le caractère ? et je clique flèche droit du clavier il va etre afficher un form qui contient un textbox qui permet de choisir une designation ,on choisi une et donc tous le reste des attribut va etre affecté.
la 1er if (1er methode)marche bien,mais la elseif (2ème méthode) marche au debut puis elle affiche un erreur dans la 1er if(1er methode) qui n'est pas juste et plus que j'ai testé quelle accede a la 1ere if avec le msgbox en bleu qui a marché.

Merci de m'aider

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
 Public ligne As Integer
 Private Sub entre_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Dg.KeyUp

        If e.KeyCode = Keys.Right Then
            ligne = Dg.CurrentCell.RowIndex
            Do
                If (Dg.Rows(ligne).Cells(0).Value <> "" And Dg.Rows(ligne).Cells(0).Value <> "?") Then
                   

                    MsgBox("azerttyuuiiiooooookk")
                    Dim adpt2 As New SqlDataAdapter("select A.DESIG,A.PVHTGRO,A.CTVA from [Base-Ets-Mtiri].[dbo].[ARTICLE] A where A.ART='" & Me.Dg.Rows(Me.ligne).Cells(0).Value & "'", con)

                 code...
                    End If
                  
                    Exit Do


                ElseIf Dg.Rows(ligne).Cells(0).Value = "?" Then

                    Dialogarticle.Show()
                    Exit Do

                End If

            Loop While ligne < 100



        End If

    End Sub