cp4
XLDnaute Barbatruc
Bonjour,
J’ajoute, modifie et supprime des données via une userform, en effectuant mon choix via 3 checkboxs.
Pour l’ajout et la suppression tout fonctionne bien.
Mais la modification me pose problème. Pour l’ajout, j’ai utilisé TextBox1_Exit pour vérifier que la textbox1 (numéro de référence) n’est pas vide et n’existe pas dans la BD. Donc pour les modifications, je sélectionne une ligne dans la listbox qui a pour effet des remplir des textboxs. La textbox1 étant la référence, elle ne doit pas être modifiée mais dès que je clique dans une autre textbox à modifier, la procédure Private Sub TextBox1_Exit est exécutée et par conséquent ne peux rien modifier.
	
	
	
	
	
		
Comment puis-je contourner ce problème ?
Merci.
ps: cancel=true est utiliser pour le bouton Quitter userform (unload me)
	
		
			
		
		
	
				
			J’ajoute, modifie et supprime des données via une userform, en effectuant mon choix via 3 checkboxs.
Pour l’ajout et la suppression tout fonctionne bien.
Mais la modification me pose problème. Pour l’ajout, j’ai utilisé TextBox1_Exit pour vérifier que la textbox1 (numéro de référence) n’est pas vide et n’existe pas dans la BD. Donc pour les modifications, je sélectionne une ligne dans la listbox qui a pour effet des remplir des textboxs. La textbox1 étant la référence, elle ne doit pas être modifiée mais dès que je clique dans une autre textbox à modifier, la procédure Private Sub TextBox1_Exit est exécutée et par conséquent ne peux rien modifier.
		VB:
	
	
	Private Sub TextBox1_Exit(ByVal cancel As MSForms.ReturnBoolean)
    ligne = WS.Range("A" & Rows.Count).End(xlUp).Row
    Set Rng = WS.Range("A2:G" & ligne)
    Set X = Rng.Columns(1).Find(What:=Val(TextBox1), LookAt:=xlWhole)
    If Len(TextBox1) < 13 Then
        MsgBox ("Vous devez saisir un numéro de code valide." & Chr(10) & Chr(10) & "Pour cela, saisissez 13 chiffres.")
        Me.TextBox1 = "": Me.TextBox1.SetFocus
    End If
    If Not X Is Nothing Then
        MsgBox code & " existe déjà!"
        cancel = True
    End If
End Sub
Private Sub OptModifier_Click() 
   Me.CmdValider.Caption = "MODIFIER"
   Me.CmdValider.BackColor = vbCyan
End Sub
	Merci.
ps: cancel=true est utiliser pour le bouton Quitter userform (unload me)