Bonjour fanfan38,
Votre solution est impeccable,
Maintenant, je souhaiterais y ajouter la gestion de doublons du champ ID_Etal ,
Ensuite trouver le code de la commande MODIFIER et SUPPRIMER.
Option Explicit
Private OP As Worksheet
Private Sub CmdENREGISTRER_Click()
'_____________________________________________________________
Dim rep As Byte
rep = MsgBox("Voulez vous enregistrer " & vbCrLf & _
"les modifications effectuées ?", vbOKCancel)
If rep <> 1 Then Exit Sub
'______________________________________________________________
'"& vbCrLf & "
If Me.TextBoxID_Etabl = "" Or Me.TextBoxNomEtablissement = "" _
Or Me.TextBoxNomARABE_Etabl = "" Or Me.TextBoxCode_Prive = "" _
Or Me.TextBoxAutres_Infos = "" Or Me.TextBoxId_AdresseEtab = "" _
Or Me.TextBoxObservations = "" Then
MsgBox "Vous n'avez pas renseigné tous les champs", vbInformation, "Saisie manquante"
Exit Sub
End If
If Not IsDate(TextBoxDateEnregistrement.Value) Then
MsgBox "Attention, saisissez une date de réception en respectant le format JJ/MM/AAAA.", vbExclamation, "Saisie manquante"
TextBoxNomEtablissement.SetFocus
Exit Sub
End If
Dim n As Long
Set OP = Sheets("EtablissementScolaire_Service")
ActiveSheet.Unprotect Password:="oumar"
If [T_etabl].Item(1, 1) <> "" Then n = [T_etabl].Rows.Count + 1 Else n = 1
[T_etabl].Item(n, 1) = "xxxx"
[T_etabl].Item(n, 1) = Val(TextBoxID_Etabl.Value)
[T_etabl].Item(n, 2) = TextBoxNomEtablissement.Value
[T_etabl].Item(n, 6) = TextBoxNomARABE_Etabl.Value
[T_etabl].Item(n, 4) = Val(TextBoxId_AdresseEtab.Value)
[T_etabl].Item(n, 5) = TextBoxAutres_Infos.Value
[T_etabl].Item(n, 7) = TextBoxCode_Prive.Value
[T_etabl].Item(n, 8) = TextBoxObservations.Value
[T_etabl].Item(n, 3) = CDate(TextBoxDateEnregistrement.Value)
OP.Protect Password:="oumar", UserInterfaceOnly:=True
ActiveWorkbook.Protect Password:="oumar" ', UserInterfaceOnly:=True
Unload Me
End Sub
Cordialement.