pb affichage après tri dans listbox

Le
Bomber
Bonjour le Forum



J'ai crée un USF avec une listbox qui reprend les donnés dans un tableau
situé dans une feuille excel.

Mes données sont insérées dans la listbox avec le code suivant :



tablo = Range("A1").CurrentRegion

affichedonnee.ColumnCount = 9

initlistbox



En double cliquant sur la ligne voulue dans ma listbox, les données s'affichent
dans des textbox afin de pouvoir les modifier puis en validant ma
modification ces données se corrigent dans ma feuille.

Extrait du code qui transfert les données du formulaire sur ma feuille



modifsaisie.modifdate.Value = affichedonnee.Column(0,
affichedonnee.ListIndex)

modifsaisie.modif1.Value = affichedonnee.Column(1, affichedonnee.ListIndex)

modifsaisie.modif2.Value = affichedonnee.Column(2, affichedonnee.ListIndex)

.



Le problème est que lorsque ma liste est triée (j'ai crée une fonction de
recherche par date) et que je double clic sur la ligne pour la modifier,
elle s'affiche bien dans mes textbox mais quand je valide ma modification,
ce n'est pas la bonne ligne qui est corrigé.

Par exemple si je clique sur la première ligne de ma listbox triée, c'est la
première ligne de mon tableau qui sera modifiée et non la ligne
correspondante.



Merci d'avance pour votre aide.



Bomber

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
JLuc
Le #3410511
*Bonjour Bomber*,
Il faudrait que tu en dise un peu plus sur ton code pour etre en mesure
de te donner un coup de main. Expliquer comme tu l'a fais, on ne peut
rien. Comment remplis tu le lisbox (donnees deja triees, donnees
completes...) et comment mets tu les donnees modifiees ?
Eventuelement, joins ton classeur via www.cjoint.com si tu veux que
l'on puisse comprendre ton soucis ;-)

Bonjour le Forum



J'ai crée un USF avec une listbox qui reprend les donnés dans un tableau
situé dans une feuille excel.

Mes données sont insérées dans la listbox avec le code suivant :



tablo = Range("A1").CurrentRegion

affichedonnee.ColumnCount = 9

initlistbox



En double cliquant sur la ligne voulue dans ma listbox, les données
s'affichent dans des textbox afin de pouvoir les modifier puis en validant ma
modification ces données se corrigent dans ma feuille.

Extrait du code qui transfert les données du formulaire sur ma feuille



modifsaisie.modifdate.Value = affichedonnee.Column(0,
affichedonnee.ListIndex)

modifsaisie.modif1.Value = affichedonnee.Column(1, affichedonnee.ListIndex)

modifsaisie.modif2.Value = affichedonnee.Column(2, affichedonnee.ListIndex)

.



Le problème est que lorsque ma liste est triée (j'ai crée une fonction de
recherche par date) et que je double clic sur la ligne pour la modifier, elle
s'affiche bien dans mes textbox mais quand je valide ma modification, ce
n'est pas la bonne ligne qui est corrigé.

Par exemple si je clique sur la première ligne de ma listbox triée, c'est la
première ligne de mon tableau qui sera modifiée et non la ligne
correspondante.



Merci d'avance pour votre aide.



Bomber



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Youky
Le #3410481
Le plus simple est de créer un textbox de plus, et d'écrire ce N°ligne du
tableau
lors du double clic qui renseigne tes textbox (puisque tu va bien trouver
les données tu dois connaitre ce N° ligne)
Met la propriété visibleúlse à ce nouveau textbox
Récupere ensuite ce N° au lieu de ListIndex
Youky
"Bomber"
Bonjour le Forum



J'ai crée un USF avec une listbox qui reprend les donnés dans un tableau
situé dans une feuille excel.

Mes données sont insérées dans la listbox avec le code suivant :



tablo = Range("A1").CurrentRegion

affichedonnee.ColumnCount = 9

initlistbox



En double cliquant sur la ligne voulue dans ma listbox, les données
s'affichent dans des textbox afin de pouvoir les modifier puis en validant
ma modification ces données se corrigent dans ma feuille.

Extrait du code qui transfert les données du formulaire sur ma feuille



modifsaisie.modifdate.Value = affichedonnee.Column(0,
affichedonnee.ListIndex)

modifsaisie.modif1.Value = affichedonnee.Column(1,
affichedonnee.ListIndex)

modifsaisie.modif2.Value = affichedonnee.Column(2,
affichedonnee.ListIndex)

.



Le problème est que lorsque ma liste est triée (j'ai crée une fonction de
recherche par date) et que je double clic sur la ligne pour la modifier,
elle s'affiche bien dans mes textbox mais quand je valide ma modification,
ce n'est pas la bonne ligne qui est corrigé.

Par exemple si je clique sur la première ligne de ma listbox triée, c'est
la première ligne de mon tableau qui sera modifiée et non la ligne
correspondante.



Merci d'avance pour votre aide.



Bomber




Bomber
Le #3410431
Bonjour Youky

Pourrais-tu me dire qu'elle macro il faut utiliser pour afficher le numéro
de la ligne s'il te plait.

"Youky" 43e4e13c$0$19705$
Le plus simple est de créer un textbox de plus, et d'écrire ce N°ligne du
tableau
lors du double clic qui renseigne tes textbox (puisque tu va bien trouver
les données tu dois connaitre ce N° ligne)
Met la propriété visibleúlse à ce nouveau textbox
Récupere ensuite ce N° au lieu de ListIndex
Youky
"Bomber"
Bonjour le Forum



J'ai crée un USF avec une listbox qui reprend les donnés dans un tableau
situé dans une feuille excel.

Mes données sont insérées dans la listbox avec le code suivant :



tablo = Range("A1").CurrentRegion

affichedonnee.ColumnCount = 9

initlistbox



En double cliquant sur la ligne voulue dans ma listbox, les données
s'affichent dans des textbox afin de pouvoir les modifier puis en
validant ma modification ces données se corrigent dans ma feuille.

Extrait du code qui transfert les données du formulaire sur ma feuille



modifsaisie.modifdate.Value = affichedonnee.Column(0,
affichedonnee.ListIndex)

modifsaisie.modif1.Value = affichedonnee.Column(1,
affichedonnee.ListIndex)

modifsaisie.modif2.Value = affichedonnee.Column(2,
affichedonnee.ListIndex)

.



Le problème est que lorsque ma liste est triée (j'ai crée une fonction de
recherche par date) et que je double clic sur la ligne pour la modifier,
elle s'affiche bien dans mes textbox mais quand je valide ma
modification, ce n'est pas la bonne ligne qui est corrigé.

Par exemple si je clique sur la première ligne de ma listbox triée, c'est
la première ligne de mon tableau qui sera modifiée et non la ligne
correspondante.



Merci d'avance pour votre aide.



Bomber








michdenis
Le #3410381
Bonjour Bomber,

Pour mettre à jour les données dans une feuille de calcul,
Il te faut utiliser une colonne sur laquelle tu peux faire une
recherche. Cette colonne ne doit pas avoir de doublon afin
d'éviter toute méprise au sujet de la ligne à modifier.

Dès que tu sélectionnes une donnée dans la liste déroulante,
En plus de renseigner tes textbox, tu dois immédiatement effectuer
la recherche à savoir, sur quelle ligne se retrouve la valeur tu textbox de la
colonne que tu utilises à cet effet. Tu emmagazines cette information dans
une variable au niveau du module, et lorsque tu valides ton information,
tu utilises cette données (la ligne) pour retourner la valeur de tes textbox
vers ta feuille de calcul.

Un petit fichier exemple vite fait : http://cjoint.com/?ceuCDZXz6p


Salutations!





"Bomber" Bonjour le Forum



J'ai crée un USF avec une listbox qui reprend les donnés dans un tableau
situé dans une feuille excel.

Mes données sont insérées dans la listbox avec le code suivant :



tablo = Range("A1").CurrentRegion

affichedonnee.ColumnCount = 9

initlistbox



En double cliquant sur la ligne voulue dans ma listbox, les données s'affichent
dans des textbox afin de pouvoir les modifier puis en validant ma
modification ces données se corrigent dans ma feuille.

Extrait du code qui transfert les données du formulaire sur ma feuille



modifsaisie.modifdate.Value = affichedonnee.Column(0,
affichedonnee.ListIndex)

modifsaisie.modif1.Value = affichedonnee.Column(1, affichedonnee.ListIndex)

modifsaisie.modif2.Value = affichedonnee.Column(2, affichedonnee.ListIndex)

.



Le problème est que lorsque ma liste est triée (j'ai crée une fonction de
recherche par date) et que je double clic sur la ligne pour la modifier,
elle s'affiche bien dans mes textbox mais quand je valide ma modification,
ce n'est pas la bonne ligne qui est corrigé.

Par exemple si je clique sur la première ligne de ma listbox triée, c'est la
première ligne de mon tableau qui sera modifiée et non la ligne
correspondante.



Merci d'avance pour votre aide.



Bomber
Bomber
Le #3408871
Bonjour

Problème résolu, merci beaucoup pour votre aide.

"michdenis" ul$
Bonjour Bomber,

Pour mettre à jour les données dans une feuille de calcul,
Il te faut utiliser une colonne sur laquelle tu peux faire une
recherche. Cette colonne ne doit pas avoir de doublon afin
d'éviter toute méprise au sujet de la ligne à modifier.

Dès que tu sélectionnes une donnée dans la liste déroulante,
En plus de renseigner tes textbox, tu dois immédiatement effectuer
la recherche à savoir, sur quelle ligne se retrouve la valeur tu textbox
de la
colonne que tu utilises à cet effet. Tu emmagazines cette information dans
une variable au niveau du module, et lorsque tu valides ton information,
tu utilises cette données (la ligne) pour retourner la valeur de tes
textbox
vers ta feuille de calcul.

Un petit fichier exemple vite fait : http://cjoint.com/?ceuCDZXz6p


Salutations!





"Bomber"
Bonjour le Forum



J'ai crée un USF avec une listbox qui reprend les donnés dans un tableau
situé dans une feuille excel.

Mes données sont insérées dans la listbox avec le code suivant :



tablo = Range("A1").CurrentRegion

affichedonnee.ColumnCount = 9

initlistbox



En double cliquant sur la ligne voulue dans ma listbox, les données
s'affichent
dans des textbox afin de pouvoir les modifier puis en validant ma
modification ces données se corrigent dans ma feuille.

Extrait du code qui transfert les données du formulaire sur ma feuille



modifsaisie.modifdate.Value = affichedonnee.Column(0,
affichedonnee.ListIndex)

modifsaisie.modif1.Value = affichedonnee.Column(1,
affichedonnee.ListIndex)

modifsaisie.modif2.Value = affichedonnee.Column(2,
affichedonnee.ListIndex)

.



Le problème est que lorsque ma liste est triée (j'ai crée une fonction de
recherche par date) et que je double clic sur la ligne pour la modifier,
elle s'affiche bien dans mes textbox mais quand je valide ma modification,
ce n'est pas la bonne ligne qui est corrigé.

Par exemple si je clique sur la première ligne de ma listbox triée, c'est
la
première ligne de mon tableau qui sera modifiée et non la ligne
correspondante.



Merci d'avance pour votre aide.



Bomber





Poster une réponse
Anonyme