Modifier une listbox

Bonjour à tous,

J'ai besoin de votre aide.

Mon problème : j'ai créé un userform avec une listbox, j'ai créé un commandbutton "Modifier" afin de modifier les données de la listbox.

J'ai écrit le code qui me permet d'afficher le données saisies en cliquant sur la ligne de la list box (ci-joint le fichier).

J'ai besoin de votre aide pour le code du command button "Modifier" afin d'apporter des modifications.

97test-5.xlsm (20.98 Ko)
Private Sub CommandButton2_Click()
numligne = ListBox1.ListIndex
A = TextBox1.Text
B = TextBox2.Text
C = TextBox3.Text
D = TextBox4.Text
E = TextBox5.Text

Unload Me
  Sheets("Personnel").Cells(numligne + 1, 1) = A
  Sheets("Personnel").Cells(numligne + 1, 2) = B
  Sheets("Personnel").Cells(numligne + 1, 3) = C
  Sheets("Personnel").Cells(numligne + 1, 4) = D
  Sheets("Personnel").Cells(numligne + 1, 5) = E
UserForm1.Show
End Sub

Rebonjour,

Merci beaucoup X-MEN PL, ça fonctionne parfaitement.

Je voudrais aussi vous demander s'il y a moyen de colorier une ligne de la listbox si la colonne "N" est vide.

Merci d'avance.

Bonjour,

Je propose un variante de la solution de Xmenpl, comme ça l'Userform n'est pas fermé

Function list()

Dim col As Byte
Dim lign As Long, drlig As Long
'ListBox1.Clear
With Worksheets("Personnel").Range("L:P")
    drlig = Worksheets("Personnel").Range("A" & Worksheets("Personnel").Rows.Count).End(xlUp).Row
    For lign = 1 To drlig
        Tache.ListBox1.AddItem .Cells(lign, 1)
        For col = 1 To 9
            Tache.ListBox1.list(Tache.ListBox1.ListCount - 1, col) = .Cells(lign, col + 1)
           Next col
Next lign

End With

End Function

Private Sub CommandButton2_Click()
numligne = ListBox1.ListIndex

  Sheets("Personnel").Cells(numligne + 1, 1) = TextBox1.Text
  Sheets("Personnel").Cells(numligne + 1, 2) = TextBox2.Text
  Sheets("Personnel").Cells(numligne + 1, 3) = TextBox3.Text  Sheets("Personnel").Cells(numligne + 1, 4) = TextBox4.Text
  Sheets("Personnel").Cells(numligne + 1, 5) = TextBox5.Text
ListBox1.Clear
actualisation = list()

End Sub

La fonction permet d'afficher les éléments dans le list box (attention faut changer la plage)

De plus tu peux réutiliser

ListBox1.Clear
actualisation = list()

pour actualiser quand tu appuies sur ajouter

A+

Concernant la coloration :

ListBox1.ForeColor = RGB(255, 0, 0) 'rouge

A+

Bonjour Boshupp,

Merci beaucoup pour votre aide.

Bonjour à tous,

Je suis aussi un fan des listboxs. (ouverture UF en clic droit)

@karima

pour avoir la date au bon format :

Me.TextBox5 = CDate(Me.ListBox1.Column(4))

Je comprends pas pour la coloration de la colonne N, il n'y a rien.

@boshupp

ton code plante ici :

ListBox1.Clear
actualisation = list()

Cdt

Bonjour Frinck

Merci pour votre réponse.

J'ai donné la colonne "N" à titre d'exemple.

Rechercher des sujets similaires à "modifier listbox"