Modifier supprimer et ajouter avec tab structuré

Hello Forum,

Je suis littéralement en PLS devant ma problématique et je ne suis pas un expert en code concernant les tableau structurés mais bon…

J'ai créer deux Userform avec une listebox, cbox, txtbox afin de gérer un tableau structuré.

Mon problème se situe sur la deuxième Userform.

1 dilemme :

Modifier données lignes client dans mon TAB structuré à partir des txtbox de la Userform2 en cliquant sur bouton modifier.

Les données des txtbox proviennent d'une listebox sur Userform2

2 dilemme :

Supprimer données lignes client dans mon TAB structuré à partir de la txtNOP de la Userform2 en cliquant sur bouton modifier.

3 dilemme :

Mettre à jour la colonne NOP qui est la colonne A afin que la numérotation soit cohérente 1,2,3.... et non 1,3,7...

Quand la ligne du tableau est supprimer.

Merci beaucoup, je n'en peu plus la je suis sponsoriser par Doliprane.

Entre les enfants et mes problème je suis en PLS

33aep.xlsm (54.24 Ko)

Bonjour,

ci-jointe une proposition avec révision complète du code et utilisation des instructions relatives à un tableau structuré.

A noter que toute nouvelle ligne ajoutée à un tableau structuré reproduit format et formules.

38aep1.xlsm (69.70 Ko)

Bonjour Forum et Bonjour Thev,

Un grand Merci à toi et au forum qui permet cela.

Maintenant la seul chose c'est la numerotation de la colonne NOP

T'es un chef, franchement mon cerveau te dit également merci..

Bonjour,

Option Compare Text
Private Sub UserForm_Initialize()
  Me.enreg = [client].Rows.Count + 1
  Me.Nop = Application.Max([client[nop]]) + 1
  Tbl = [client].Value
  Tri Tbl, LBound(Tbl), UBound(Tbl), 2
  Me.Recherche.List = Tbl
End Sub

Private Sub Recherche_Change()
  Me.enreg = Application.Match(Val(Me.Recherche), [client[nop]], 0)
  Me.Nop = Me.Recherche
  Me.Nom = [client].Item(enreg, 2)
  Me.Prénom = [client].Item(enreg, 3)
  Me.entreprise = [client].Item(enreg, 4)
  Me.Activité = [client].Item(enreg, 5)
  Me.Email = [client].Item(enreg, 6)
  Me.Tph = [client].Item(enreg, 7)
  Me.Commune = [client].Item(enreg, 8)
  Me.Observations = [client].Item(enreg, 9)
  Me.Prix = [client].Item(enreg, 10)
  Me.Dates = [client].Item(enreg, 11)
End Sub

Private Sub B_valid_Click()
  enreg = Me.enreg
  [client].Item(enreg, 1) = Val(Me.Nop)
  [client].Item(enreg, 2) = Me.Nom
  [client].Item(enreg, 3) = Me.Prénom
  [client].Item(enreg, 4) = Me.entreprise
  [client].Item(enreg, 5) = Me.Activité
  [client].Item(enreg, 6) = Me.Email
  [client].Item(enreg, 7) = Me.Tph
  [client].Item(enreg, 8) = Me.Email
  [client].Item(enreg, 9) = Me.Observations
  [client].Item(enreg, 10) = CDbl(Me.Prix)
  [client].Item(enreg, 11) = CDate(Me.Dates)
End Sub

Private Sub B_sup_Click()
  If MsgBox("Etes vous sûr de supprimer " & Me.Nom & "?", vbYesNo) = vbYes Then
     [client].Rows(Me.enreg).Delete
     Me.Recherche.List = [client].Value
  End If
End Sub

Private Sub B_ajout_Click()
  raz
  Me.Nop = Application.Max([client[nop]]) + 1
  Me.enreg = [client].Rows.Count + 1
End Sub

Sub raz()
  Me.Nom = ""
  Me.Prénom = ""
  Me.entreprise = ""
  Me.Activité = ""
  Me.Tph = ""
  Me.Tph = ""
  Me.Email = ""
  Me.Observations = ""
    Me.Commune = ""
      Me.Prix = ""
        Me.Dates = ""
End Sub

Sub Tri(a, gauc, droi, colTri) ' Quick sort
  ref = a((gauc + droi) \ 2, colTri)
  g = gauc: d = droi
  Do
    Do While a(g, colTri) < ref: g = g + 1: Loop
    Do While ref < a(d, colTri): d = d - 1: Loop
    If g <= d Then
       For c = LBound(a, 2) To UBound(a, 2)
          temp = a(g, c): a(g, c) = a(d, c): a(d, c) = temp
       Next
       g = g + 1: d = d - 1
     End If
   Loop While g <= d
   If g < droi Then Call Tri(a, g, droi, colTri)
   If gauc < d Then Call Tri(a, gauc, d, colTri)
End Sub

Boisgontier

64bdclienttdyn2.xlsm (45.19 Ko)
Rechercher des sujets similaires à "modifier supprimer ajouter tab structure"