listbox et textbox

jammy17

XLDnaute Occasionnel
bonjour le forum

Voila mon probleme,

j'ai un fichier excel que je filtre a l'aide d'une combobox; les donnees ainsi filtrees apparaissent dans une listbox.
quand je clique dans la listbox sur une donnee de mon choix, celle ci increment differents textbox.....jusque la aucun probléme.

Maintenant, j'aimerais pouvoir effectuer des modifications dans la listbox via mes textbox, et voir apparaitre ces modifications dans mon fichier excel.....La je cale et n'arrive plus a avancer, alors si quelqu'un pouvait m'eclairer sur le code a utiliser, cela serait genial

amicalement........jammy
[file name=essaisexemple1_20051214105958.zip size=49722]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essaisexemple1_20051214105958.zip[/file]

Message édité par: jammy17, à: 14/12/2005 11:00
 

Pièces jointes

  • essaisexemple1_20051214105958.zip
    48.6 KB · Affichages: 53
T

toubib

Guest
bonjour jammy 17, pascal 76, le forum

bon voila quelques éléments de réponse:
je ne gère pas l'ajout des données saisies dans toutes les textbox sur une même ligne (principe de colonnes dans l'usf je suppose) mais pour ajouter le text de l'une de tes textbox à ta listbox il faut faire:
listbox1.additem valeur1.value
 

jammy17

XLDnaute Occasionnel
bonjour toubib,

effectivement, mais mon probleme reste a trouver le moyen de modifier une ligne que je selectionne dans la listbox.

les textbox renvoient les valeur de la ligne selectionnee dans la listbox,

mon objectif est de pouvoir remplacer ces valeur et les voir apparaitre de suite dans la liste box et le tableau de reference excel...
 
T

toubib

Guest
bon donc si c'est pour modifier tes dates déjà existantes en selectionnant la ligne, chez moi ca marche ça:

a ajouter au bouton 'modifier'

For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ListBox1.Column(0, i) = valeur1.Value
ListBox1.Column(2, i) = valeur2.Value
ListBox1.Column(4, i) = valeur3.Value
End If
Next

et pour ajouter des trucs à ta listbox j'ai ça
sinon, associé au bouton 'ajouter':

ListBox1.AddItem valeur1.Value
ListBox1.Column(1, listcount+1) = 'DU'
ListBox1.Column(2, listcount+1) = valeur2.Value
ListBox1.Column(3, listcount+1) = 'AU'
ListBox1.Column(4, listcount+1) = valeur3.Value

le listcount pour la ligne est faux mais ca doit être un truc dans le genre mais je connais pas donc à toi de voir mais je pense que tu peux déjà avancer un peu grâce à ça :)

edit: en gras ce que j'ai oublié :)

Message édité par: toubib, à: 14/12/2005 12:23
 

jammy17

XLDnaute Occasionnel
JE VIENS DE RENTRER CE CODE


Private Sub CommandButton2_Click()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ListBox1.Column(0, i) = valeur1.Value
ListBox1.Column(2, i) = valeur2.Value
End If
Next

End Sub

les donnes de la listbox se modifient bien , c'est ce que jvoulais, cependant elles ne sont pas modifiee dans le fichier excel, comment puis je faire, je ne suis que debutant en VBA!!!
 
T

toubib

Guest
dans ce cas tu lui dis

tu insères la procédure suivante avant le end if

sheets('SAISIE').range('c'&i)=valeur1.value
sheets('SAISIE').range('f'&i)=valeur2.value
sheets('SAISIE').range('g'&i)=valeur3.value

j'ai mis des colonnes au pif parce que je ne suis pas sur que ce soit celles la :) donc à toi de les modifier
 
T

toubib

Guest
PS: c'est range('c' & i +2) car dans ta listbox le i commence à 0 et tu as une ligne d'entête sur ta feuille donc il faut le décaler de ces deux lignes :)

edit: en réponse à ton post suivant, je suis con c'est vrai que c'est un filtre donc moralité je cherche :) et je reviens vers toi ;)

Message édité par: toubib, à: 14/12/2005 12:39
 

jammy17

XLDnaute Occasionnel
Private Sub CommandButton2_Click() 'modifier
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ListBox1.Column(0, i) = valeur1.Value
ListBox1.Column(2, i) = valeur2.Value
Sheets('SAISIE').Range('E' & i) = valeur1.Value

End If
Next
LE CODE EST BON, MERCI BEAUCOUP, CEPENDANT
LA VALEUR NE SE COLLE PAS AU BON ENDROIT;JE CROIS QUE CELA VIENS DU FAIT QUE JE FILTRE LES DONNEES DE MA LISTBOX VIA LA COMBOBOX; ET JE CALE ENCORE
 
T

toubib

Guest
hop la une ptite réponse:

en fait tu dois déterminer la valeur que tu selectionnes dans la combobox, ca donne ça

i = combobox1.listindex
sheest('SAISIE').range('e'&i+2).valeur1.value

chez moi ca marche donc normalement je pense que c'est bon :)

edit: j'avais encore oublié le +2 ;)

Message édité par: toubib, à: 14/12/2005 12:49
 

Membres actuellement en ligne

Statistiques des forums

Discussions
300 761
Messages
1 987 017
Membres
209 680
dernier inscrit
frobleyy