Bonjour,
Si j'ai oublié renseigner le N° de carte ou si le N° de l'adhérent est déjà dans la base et que je sauvegarde j'ai une erreur. (ou fichier joint)
je vous avais écrit que vous auriez des soucis....
En principe vous ne pouvez pas oublier le num de carte puisqu'il est toujours dans votre USF soit parce qu'il est déjà dans le tableau soit parce qu'il est créé à l'ouverture de l'USF. Vous devriez d'ailleurs ne pas rendre la textbox "txtcarte" accessible. Mettez-la propriété Enable de la txtbox sur FALSE
De mon coté, je vous donne le code de sauvegarde que j'avais préparé hier et qui inclut la solution de JExcel2Fr.
Private Sub btnsauvegarde_Click()
If Len(Me.txtn_carte) = 0 Then
Me.lblmessage_numerocarte = "Veuillez saisir le NUMERO de la CARTE."
Me.txtn_carte.SetFocus
ElseIf Len(Me.cbocotisation) = 0 Then
Me.lblmessage_cotisation = "Paiement Cotisation ?"
Me.cbocotisation.SetFocus
End If
Dim TS As ListObject
Dim ligne As Integer
Set TS = Range("Source").ListObject
If MsgBox("Désirez-vous sauvegarder les modifications?", _
vbQuestion + vbYesNo + vbDefaultButton2, "CONFIRMATION MODIFICATION") = vbYes Then
With TS
ligne = .ListColumns(2).Range.Find(CStr(Me.txtnom), LookIn:=xlValues, lookat:=xlWhole).Row - TS.HeaderRowRange.Row
If Me.txtdate <> "" Then .DataBodyRange(ligne, 4) = CDate(Me.txtdate)
.DataBodyRange(ligne, 5) = CInt(Me.txtn_carte)
.DataBodyRange(ligne, 6) = Me.cboformation
If Me.txtdateformation <> "" Then .DataBodyRange(ligne, 7) = CDate(Me.txtdateformation)
If Me.cbocotisation <> "" Then .DataBodyRange(ligne, 8) = CDbl(Me.cbocotisation)
End With
End If
End Sub
Rem :
- La Msgbox mettra "Non" par défaut pour vous obliger à cliquer sur OUI. La raison est qu'en mettant sur Oui par défaut il suffirait que vous appuyiez sur la touche Entrée de votre clavier pour peut-être envoyer par erreur les infos dans le tableau
- A vérifier pour les autres codes mais je pense que vous n'aurez plus besoin du code Private Sub Worksheet_SelectionChange dans la feuille Source et donc du tableau dans la feuille Masquée "Mes listes"
Cordialement