Bonsoir à toutes et à tous.
J’aurais besoin d’un petit peu d’aide svp.
Je souhaiterais MODIFIER et EFFACER un enregistrement.... et là, je n’y arrive plus !
Avec tous mes remerciements.
INITIALISATION DE MON USERFORM
Private Sub UserForm_Initialize()
Set f = Sheets("TEST")
Set Rng = f.Range("A2:AL" & f.[A65000].End(xlUp).Row)
TblTmp = Rng.Value
Ncol = Rng.Columns.Count
For i = LBound(TblTmp) To UBound(TblTmp)
ReDim Preserve choix(1 To i)
For k = LBound(TblTmp) To UBound(TblTmp, 2)
choix(i) = choix(i) & TblTmp(i, k) & " * "
Next k
Next i
Me.ListBox1.List = Rng.Value
End Sub
RECHERCHE DANS MA LISTBOX
- Ma LISTBOX affiche toutes les données de mon fichier EXCEL.
- Je fais une RECHERCHE à partir d’un TEXTBOX pour sélectionner un enregistrement dans ma LISTBOX.
Private Sub TextBoxRech_Change()
If Me.TextBoxRech <> "" Then
mots = Split(Trim(Me.TextBoxRech), " ")
Tbl = choix
For i = LBound(mots) To UBound(mots)
Tbl = Filter(Tbl, mots(i), True, vbTextCompare)
Next i
n = 0: Dim b()
For i = LBound(Tbl) To UBound(Tbl)
a = Split(Tbl(i), "*")
n = n + 1: ReDim Preserve b(1 To Ncol, 1 To n)
For k = 1 To Ncol
b(k, i + 1) = a(k - 1)
Next k
Next i
If n > 0 Then
ReDim Preserve b(1 To Ncol, 1 To n + 1)
Me.ListBox1.List = Application.Transpose(b)
Me.ListBox1.RemoveItem n
End If
Else
UserForm_Initialize
End If
End Sub
Private Sub ListBox1_Click()
'For k = 1 To Ncol
'Me("textBox" & k) = Me.ListBox1.Column(k - 1)
'Next k
'Me.MultiPage2.Value = 2
J’aimerais pouvoir :
- CREER un NOUVEL enregistrement.
- MODIFIER un enregistrement.
- EFFACER un enregistrement.
Pour la CREATION, j’utilise ce code... et ça fonctionne plutôt bien.
Sub RAZ()
For k = 1 To Ncol
Me("textBox" & k) = ""
Next k
'Me.TextBox1.SetFocus
End Sub
Private Sub b_ajout_Click()
Me.MultiPage2.Value = 2
RAZ
Me.Enreg = f.[A65000].End(xlUp).Row + 1
End Sub
Et valide celle-ci avec le code ci-dessous :
Private Sub B_valid_Click() 'Bouton VALIDATION
If Me.Enreg <> "" And Me.TextBox1 <> "" Then
NoEnreg = Me.Enreg
For k = 1 To Ncol
f.Cells(NoEnreg, k) = Me("textBox" & k)
Next k
RAZ
Me.Enreg = ""
UserForm_Initialize
End If
End Sub
Comment puis-je MODIFIER et EFFACER un enregistrement ? Quels codes utiliser ?
Un très très grand merci pour votre aide.