non mes variables sont bien déclarées il y a :
Dim ligne As ListItem
et ces deux autres variables dans le module
Public Modification As Boolean
Public ChargementEffectuer As Boolean
j'ai un peu modifié le code j'ai cela maintenant
******************************************************************************
Dim ligne As ListItem
Private Sub BAjout_Click()
'Enregistrement de l'ajout ou de la modification
If Text1(0).Text = "" Then
'On doit obligatoirement remplir le code postal
MsgBox "Le code postal doit obligatoirement être renseigné !", vbInformation, "Incomplet!"
Text1(0).SetFocus
Exit Sub
ElseIf Text1(1).Text = "" Then
'On doit obligatoirement remplir la localité
MsgBox "Le champ localité doit obligatoirement être renseigné !", vbInformation, "Nom Incomplet!"
Text1(1).SetFocus
Exit Sub
ElseIf Text1(2).Text = "" Then
'On doit obligatoirement remplir le pays
MsgBox "Le Pays doit obligatoirement être renseigné !", vbInformation, "Nom Incomplet!"
Text1(2).SetFocus
Exit Sub
Exit Sub
End If
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Vers97.mdb;Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "TLocalite"
Adodc1.Refresh
'controle si le code postal n'est pas déjà utilisé!
If Adodc1.Recordset.RecordCount > 0 And Modification = False Then
MsgBox "Le code postal existe déjà, veuillez le modifier!", vbInformation, "Code article existant!"
Text1(0).Text = ""
Text1(0).SetFocus
Exit Sub
End If
If Modification = False Then Adodc1.Recordset.AddNew 'Si ce n'est pas une modification on ajoute un article à la table
Adodc1.Recordset("NCodPos").Value = Text1(0).Text
Adodc1.Recordset("Nlocalite").Value = Text1(1).Text
Adodc1.Recordset("Pays").Value = Text1(2).Text
Adodc1.Recordset.Update
Adodc1.Refresh
If Modification = False Then 'Si ce n'est pas une modification on ajoute un article à la list_view et on finit de la remplir
Set ligne = ListLoca.ListItems.Add(FrmArticles.lsiArticles.ListItems.Count + 1, , txtCode.Text)
Else 'Si c'est une modification on reprend la même ligne de la list_view et on finit de la remplir
Set ligne = ListLoca.ListItems.Item(ListLoca.SelectedItem.Index)
End If
ligne.SubItems(1) = Text1(0).Text
ligne.SubItems(2) = Text1(1).Text
ligne.SubItems(3) = Text1(2).Text
ListLoca.Refresh
Modification = False
End Sub
Private Sub Form_Activate()
Text1(0).SetFocus
If ChargementEffectuer = False Then Me.Form_Load
End Sub
Private Sub Form_Load()
ChargementEffectuer = True
'Chargement des ADO et remplissage de la liste des localités
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Vers97.mdb"
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = "TLocalite"
Adodc1.Refresh
'Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Vers97.mdb"
'Adodc2.CommandType = adCmdText
ListLoca.ListItems.Clear
' on se place au début de la table Article
Adodc1.Recordset.MoveFirst
' tant qu'on est pas à la dernière ligne de la table TLocalite
For j = 0 To Adodc1.Recordset.RecordCount - 1
Set ligne = ListLoca.ListItems.Add(j + 1, , Adodc1.Recordset.Fields(0))
ligne.SubItems(1) = Adodc1.Recordset(1)
If Adodc1.Recordset.Fields(2) <> "" Then
ligne.SubItems(2) = Adodc1.Recordset.Fields(2)
Else
ligne.SubItems(2) = ""
End If
If Adodc1.Recordset.Fields(3) <> "" Then
ligne.SubItems(3) = Adodc1.Recordset.Fields(3)
Else
ligne.SubItems(3) = ""
End If
' on passe à la ligne suivante
Adodc1.Recordset.MoveNext
Next j
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub ListLoca_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
'tri des fournisseurs par collones
ListLoca.Sorted = True
Select Case ColumnHeader
Case "Numero"
ListLoca.SortKey = 0
Case "NCodPos"
ListLoca.SortKey = 1
Case "Nlocalite"
ListLoca.SortKey = 2
Case "Pays"
ListLoca.SortKey = 3
End Select
If ListLoca.SortOrder = lvwAscending Then
ListLoca.SortOrder = lvwDescending
Else
ListLoca.SortOrder = lvwAscending
End If
ListLoca.Sorted = False
End Sub
**************************************************************************************
voilà tout mon code pour cette F_Localite 