Userform et textbox
Résolu
nimbus23
Messages postés
12
Statut
Membre
-
melanie1324 Messages postés 1561 Statut Membre -
melanie1324 Messages postés 1561 Statut Membre -
Bonjour à tous,
je reviens à nouveau vers vous avec un grand plaisir, car malgrés mes recherches, je bloque sur un code.
J'ai un fichier excel
15 feuilles que je remplie à l'aide d'un userform.
un 2ème user pour visualiser les données avec 2 listbox. La 1ere je choisie la feuille et cela m'affiche les données dans une 2ème listbox. Lorsque je clic sur une ligne de ma 2eme listbox, les données s'affiche dans des textbox sur mon userform.
Maintenant ce que je voudrais faire et là je bloque depuis plusieurs semaines c'est que si je modifie une des textbox cela modifie la ligne corespondande dans ma feuille excel.
Merçi à tous le monde pour votre aide
Nimbus23
je reviens à nouveau vers vous avec un grand plaisir, car malgrés mes recherches, je bloque sur un code.
J'ai un fichier excel
15 feuilles que je remplie à l'aide d'un userform.
un 2ème user pour visualiser les données avec 2 listbox. La 1ere je choisie la feuille et cela m'affiche les données dans une 2ème listbox. Lorsque je clic sur une ligne de ma 2eme listbox, les données s'affiche dans des textbox sur mon userform.
Maintenant ce que je voudrais faire et là je bloque depuis plusieurs semaines c'est que si je modifie une des textbox cela modifie la ligne corespondande dans ma feuille excel.
Merçi à tous le monde pour votre aide
Nimbus23
2 réponses
-
Bonjour,
il faut que tu mettes le code suivant associé au bon bouton :
sheets("Feuilleconernee").cells(1,5) = textbox1.value
cells(1,5) ==> cellule située à la première ligne, 5e colonne
textbox1.value ==> le nom de la textbox -
Bonjour,
Il te faut pour cela :
1- rechercher, dans ta feuille, la valeur sélectionnée dans ta listbox
2- dans la ligne ainsi trouvée remplacer la (les) valeur(s) par le(s) contenu(s) de ton ou tes textbox.
Le 2- Mélanie t'as déjà répondu.
Pour le 1- tu peux, par exemple, utiliser la méthode find. Comme ceci :Dim Trouve As Range Dim i As Byte Dim Valeur_cherchee As String Dim Lign As Long 'recherche, dans la listbox1 de la valeur sélectionnée For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then 'si la ligne de la listbox est sélectionnée, on affecte sa valeur à la variable Valeur_cherchee Valeur_cherchee = ListBox1.List(i) Exit For End If Next i 'va chercher la valeur dans la feuille 2 colonne 1 Set Trouve = Sheets(2).Columns(1).Cells.Find(what:=Valeur_cherchee) 's'il ne trouve pas If Trouve Is Nothing Then 'message à l'utilisateur MsgBox "Pas trouvé" 's'il la trouve Else 'affecte à la variable Lign le numéro de la ligne Lign = Trouve.Row 'Cells(Lign, 18) = TextBox1 End If Set Trouve = Nothing
La méthode find peux également admettre des paramètres facultatifs tels que :
LookIn:= xlvalues (rechercher dans les valeurs)
Lookat:= xlWhole ou xlpart (rechercher la valeur exacte ou approximative)
Tu dis...