Modification code VBA

Bonjour

je suis un débutant, j'ai un formulaire VBA avec un nombre limité de textbox et je souhaite l'augmenter

je souhaite l'utiliser avec 16 textbox au lieu de 10 textbox

Merci d'avance

le code est le suivant :

Option Compare Text

Dim f, CCV3(), choix(), Rng, Ncol

Private Sub lblactivite_Click()

End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub TextBox10_Change()

End Sub

Private Sub UserForm_Initialize()

Set f = Sheets("CCV3")

Set Rng = f.Range("A2:K" & f.[A65000].End(xlUp).Row)

CCV3 = Rng.Value

Ncol = Rng.Columns.Count

'---

TblTmp = Rng.Value

Ncol = Rng.Columns.Count - 1

For i = LBound(TblTmp) To UBound(TblTmp)

TblTmp(i, Ncol + 1) = i

ReDim Preserve choix(1 To i)

For K = 1 To Ncol

choix(i) = choix(i) & TblTmp(i, K) & " * "

Next K

choix(i) = choix(i) & i

Next i

Me.ListBox1.List = TblTmp

End Sub

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, 1 To n)

For K = 1 To Ncol

b(K, i + 1) = a(K - 1)

Next K

b(K, i + 1) = a(K - 1)

Next i

If n > 0 Then

ReDim Preserve b(1 To Ncol + 1, 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.Enreg = Me.ListBox1.Column(Ncol) + Rng.Row - 1

End Sub

Private Sub b_supp_Click()

Dim CurrentRecord As Long

If Me.Enreg <> "" And Me.TextBox1 <> "" Then

CurrentRecord = Me.Enreg - 1

Rng.Rows(CurrentRecord).Delete Shift:=xlUp ' Supprime la ligne de la plage

raz

Me.Enreg = ""

UserForm_Initialize

Else

UserForm_Initialize

End If

End Sub

Private Sub b_modif_Click()

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

Private Sub b_ajout_Click()

raz

Me.Enreg = f.[A65000].End(xlUp).Row + 1

End Sub

Sub raz()

For K = 1 To Ncol

Me("textBox" & K) = ""

Next K

Me.TextBox1.SetFocus

End Sub

Bonjour,

Compte tenu de ton nombre de TextBoxes ...tu as intérêt à utiliser un module de classe

https://forum.excel-pratique.com/posting.php?mode=quote&f=2&p=398421

En espèrant que cela t'aide

je suis débutant et je ne maitrise pas les codes VBA, je prefère modifier ce model

Merci

Re,

Si tu as besoin de six TextBoxes supplémentaires dans ton formulaire ...

Rien ne t'interdit ... de les ajouter ...

Rechercher des sujets similaires à "modification code vba"