Modification dans une listbox d'un bouton

bonjour ,

j'ai crée un userform dans lequel se trouve une listbox ,un combobox, un bounton de recherche et un bouton de modification .

quand je selection un matricule avec le combobox, je clique sur rechercher,il affiche la personne dans le lisbox avec ses information, en suite je doubleclick sur la ligne dans le listbox ,ces informations sont affectées dans les textbox correspondant; maintenant quand je modifie ces informations dans ces textbox et cliquer sur le bouton modifier,la ligne dans la feuille n'est pas modifier mais une copie sera crée et modifier.

en clair je ne veux pas qu'il cree une nouvelle ligne pour modifier cette derniere mais plutot maintenir cette ligne selectionnée et la modifier.

voici mon code

Private Sub modifier_Click()

Dim n As Integer

i = ListBox1.ListIndex + 3

With ThisWorkbook.Worksheets("sheets1")

For n = 1 To 12

.Cells(i, n) = Me.Controls("textbox" & n)

Next

End With

End Sub

aider mois svp

voici mon fichier joint

50classeur1.xlsm (25.65 Ko)

Bonjour,

bien il faut que tu agisse sur la même ligne que lors du double-clic ... mémorise ce numéro de ligne dans une variable..

Comment mon frère, aider moi.

bonjour

comment vous alimenter le combobox et la listebox

bonjour, jusqu'a present aucune aide.

je compte sur vous

voici le fichier ci dessous

33classeur1.xlsm (25.65 Ko)
59classeur1.xlsm (25.65 Ko)

Bonjour,

pour avoir de l'aide commence à répondre à AMIR ...( et pas par une pièce jointe , je prendrais pas le temps de la télécharger..)

AMIR a écrit :

bonjour

comment vous alimenter le combobox et la listebox

bonjour,

voici comment mon combobox remplit,

Private Sub UserForm_Initialize()

Dim t As Integer

lr = Worksheets("Feuil1").Range("A10000").End(xlUp).Row

For t = 3 To lr

Me.ComboBox1.AddItem Worksheets("Feuil1").Cells(t, 1)

Me.ComboBox2.AddItem Worksheets("Feuil1").Cells(t, 10)

Next t

With ListBox1

.ColumnCount = 12

.ColumnWidths = "80 pt;100 pt;80 pt;80 pt;45 pt;120 pt;80 pt;80 pt;80 pt;60 pt;60 pt;45 pt"

End With

End Sub

ma listbox est remplit appartir d'un bouton de recherche

Private Sub chercher_Click()

Dim Text As String

If ComboBox1.ListIndex = -1 Then

MsgBox " Vous avez omis de préciser l'objet de votre rechercehe " & Text & " Reformulez votre deamande ", vbCritical, Sign

Exit Sub

End If

'ListBox1.clear

'****************************************************

'Moteur de Recherche

'****************************************************

Dim c As Range

Dim Tablo() As String

'Dim Text As String

Dim s As Byte

Dim Firstaddress As String

Dim i As Integer, x As Integer, L As Integer

Text = Me.ComboBox1

If Text = "" Then Exit Sub

'<>

For s = 1 To Worksheets.Count

If Worksheets(s).Name = "Feuil1" Then

With Sheets(s).UsedRange

Set c = .Find(Text, LookIn:=xlValues, LookAt:=xlPart)

If Not c Is Nothing Then

Firstaddress = c.Address

Do

ReDim Preserve Tablo(12, i)

For x = 1 To 12

Tablo(x - 1, i) = c.Offset(0, x - c.Column).Text

Next x

Tablo(12, i) = Sheets(s).Name

Tablo(12, i) = c.Address(0, 0)

i = i + 1

Set c = .FindNext(c)

Loop While Not c Is Nothing And c.Address <> Firstaddress

End If

End With

End If

Next s

If i = 0 Then

MsgBox " Référence " & Text & " inexistante ", vbCritical, Sign

Exit Sub

End If

Me.ListBox1.Column() = Tablo()

End Sub

aider moi svp.

Bonjour,

actuellement tu place l'adresse dans ton tableau "Tablo(12,...)" mais tu ne la fait pas suivre lors du choix par double clic dans la liste ..

rajoute un textbox pour mémoriser cette adresse (ce qui te permettra de connaitre la ligne à modifier..)

Private Sub ListBox1_Click()
 Dim photo As String
(...)
Me.elev12.Value = Me.ListBox1.List(i, 11)
Me.TextBoxADD.Value = Me.ListBox1.List(i, 12) 'FAIT SUIVRE L'ADRESSE MEMORISEE DANS UN TEXTBOX PAR EXEMPLE
End Sub

et récupère le numéro de ligne dans le textbox lors de l'action sur modifier :

Private Sub modifier_Click()
Dim n As Integer
'i = ListBox1.ListIndex + 3
'Recupere numero de ligne dans nouveau Textbox
i = ThisWorkbook.Worksheets("Feuil1").Range(TextBoxADD).Row
With ThisWorkbook.Worksheets("Feuil1")
'....

et voilà ...

BONJOUR PIERRE,

je te remercie infiniment pour ta reponse, je suis satisfais.

j'aimerais si vous me permettez , connaitre aussi comment remplir la listbox avec la base de donnee source au demarage de mon userform et l'effacer apres un click sur le bouton recherche en vu d'afficher seulement la ligne chercher dans la listbox.

aidez mois svp.

bonjour forum,

j'aimerai savoir comment,dans une listbox ,afficher un certain nombre de lignes en fonction d'un ou de deux combobx.

aidez moi svp

Rechercher des sujets similaires à "modification listbox bouton"