Correction d'information dans une listbox par des textbox....

woodfoot

XLDnaute Nouveau
bonjour à tous...

Je vous ai lu, j'ai cherché, j'ai trouvé des choses qui se rapprochent de ce que je veux faire ( https://www.excel-downloads.com/threads/listbox-multicolonne-modifiable.76928/)
mais en trop en compliqué pour mes neurones !!!

Je vous explique, et vous verrez, j'ai avancé sur le sujet :
Je veux un formulaire pour rentrer le nom et prénom (Fait)
Je veux faire des filtres sur 4 colonnes, avec des listes, et sans doublons (Fait)
Je veux voir ces datas dans une listbox a colonne (fait, mais je sais pas lire direct dans ma plage, donc je fais une copie de ma selection dans une autre feuille..) (Fait)

Mais apres je veux que mes 10 textbox affichent les infos de mes 10 colonnes de listbox...
et que je puisse modifier les infos dans les textbox qui permettrait une correction des datas dans ma feuille excel....

C'est faisable, je sais !! mais je seche !!!

Vous verrez, si mon post est peu clair, il y a des commentaires sur mes userforms...

Merci par avance a vous tous !!!



PS : du a l'impossibilité d'atteindre les 48Ko reglementaire, les poster le xls ici :

http://cjoint.com/?bzqcEELfC4
 

woodfoot

XLDnaute Nouveau
Re : Correction d'information dans une listbox par des textbox....

Bonjour bebere bonjour le forum !!!


Merci encore une fois bebere pour ton aide.
Je comprends pas l'utilité de la feuille recherche et comment tu l'as construite (A quelle colonne de la feuille DATA correspondent les colonnes de la feuilles recherche ? +2 , non ?=

Tu verras j'ai modifié le fichier, mais... il y a quelques bug et j'aurais besoin de tes lumieres :
- Dans le formulaire 1, j'ai rajoutée une listbox : la listbox "model"; nommée listbox 5.
Elle marche "presque"; je vois bien mes models, mais la listebox affiche une colonne nom desirée, celle de la marque... bizarre...(exemple : au lieu d'afficher clio, ca affiche Renault, puis en dessous clio...)

- Concernant les boutons du frames. Alors là, bien joué,je suis bluffé, seul probleme, j'aurais besoin d'un bouton qui cache la region (List1) ET le pays (List2), j'ai essayé, et là, j'y arrive vraiment pas.

- Je vais enfin avoir non seulement besoin de corriger des informations : Formulaire 2, qui est OK
mais egalement besoin d'en rajouter, a travers un serie de formulaire et de questions. J'ai donc crée le formulaire 4, qui va permettre de selectionner une ligne et de remplir des informations pour la colonne 15, 16 etc...
Seule difference avec le formulaire 2, on a plus une equivalence : la textbox 1 controle la colonne 1, la textbox2 controle la colonne 2 etc...
Mais textbox1 controle la colonne 15, textbox2 controle la colonne 16 etc...
Et ca je sais pas faire non plus, je me suis emmelé les pinceaux...


Je pense aussi qu'il y a un léger bug dans le formulaire 2 justement, j'ai l'impression que l'ecriture est décalée... que la textbox2 qui doit controler la colonne 2, va en fait ecrire en colonne 1

Vous remarquerez aussi que j'ai modifier le fichier en travaillant que 222 colonnes. (ce qui me semble suffisant... ;-) )
Cela me permettra par la suite de pouvoir poser jusqu'a 222 questions, donc d'ecrire dans les 222 colonnes de mon fichier.
Je jouerai apres avec les largueur de colonne dans les list box, quitte a repeter 200 fois : "0" comme valeur pour la largueur de la colonne...

Bon, voila,merci a tous pour votre aide ,et un special merci a bebere...
 

woodfoot

XLDnaute Nouveau
Re : Correction d'information dans une listbox par des textbox....

Bonjour a tous.

Je travaille sur le fichier :
Je vais poser une question qui peut paraitre stupide, mais je tente :
Quand dans ma listbox je selecionne une ligne, les valeurs des différentes colonnes apparaissent dans les textbox...

Si maintenant, je selection plusieures lignes (option multiselect :1 )
Mes textbox ne vont rien afficher, elles ne peuvent lire qu'une ligne... mais si peut on envisager d'ecrire dans les textbox, et que les infos aillent s'inscrire pour toutes les lignes selectionnées ?

Exemple :
Je click sur la ligne 3 de la listbox
Ma textbox 1 affiche ou permets d'ecrire dans la cellule de la ligne 3, colonne 1
Par contre si je multiselect la ligne 3, 5, 8 et 11, est ce qu'une ecriture dans ma textbox 1 peut ecrire dans la colonne 1 de la ligne 3, 5, 8 et 11

héhé...
Ca pourrait etre terrible si ca marchait, mais est ce faisable ?



P
 

woodfoot

XLDnaute Nouveau
Re : Correction d'information dans une listbox par des textbox....

bonjour a tous

concernant le point 1 : mauvais affichage dans la listbox5 nouvellement créer, j'ai trouvée la solution
il faut mettre le code suivant dans listbox3 click ()

Private Sub ListBox3_Click()

Dim DonneesCB4 As New Collection
Dim Plage As Range
Dim Cell As Range
Dim PlageFiltree As Range
Dim Item As Variant
Dim L As Integer
Application.ScreenUpdating = False
Ws.AutoFilterMode = False
If OptionButton3 Then Ws.Range("a1").AutoFilter 1, ListBox1
Ws.Range("a1").AutoFilter 3, ListBox3
Set Plage = Ws.Range("D2", [D65536].End(xlUp))
Set PlageFiltree = Plage.SpecialCells(xlCellTypeVisible)
Application.ScreenUpdating = True
On Error Resume Next
For Each Cell In PlageFiltree
DonneesCB4.Add Cell.Text, Cell.Text 'If Cell.Row > 1 Then
Next Cell

With ListBox5
.Clear
For Each Item In DonneesCB4
.AddItem Item
Next Item
End With
ListBox4.Clear


End Sub
 

Bebere

XLDnaute Barbatruc
Re : Correction d'information dans une listbox par des textbox....

bonjour Woodfoot
je l'ai expliqué je pense ce qu'il y a dans recherche(résultat du filtre),si non on peut l'effacer par code après ini lb4,il n'y a pas de décalage textbox,cellule(boucle i)
tu choisis quel version pour continuer,filtre ou l'autre
çà correspond à quoi 3.5.8 ds ta demande
à bientôt
 

woodfoot

XLDnaute Nouveau
Re : Correction d'information dans une listbox par des textbox....

Bonsoir a tous

bonsoir bebere

J'ai résolu pas pratiquement tous mes problemes :

- Ma nouvelle listbox, la listbox 5 control bien les models et affiche le bon résultats
- je peux bien travailler sur 222 colonnes (valeur test, on verra apres ce que je garde)
- J'ai reussi a faire un bouton : filtre avec aucune région et aucun pays, on arrive direct au choix des marques
- j'ai résolu mon probleme d'ecriture décalé, c'etait de ma faute, j'avais joué avec les numero de lignes et colonnes...


tout est donc presque bon...

Seul petit hic :
Dans mon nouveau formulaire (formulaire 4) , j'arrive pas a faire en sorte que ma textbox 1 controle la colonne 10, la textbox 2 la colonne 11 etc..
J'arrive pas a jouer avec mes deux variables...



Quant a mon précedent post, les 3, 5 8 correspondaient a des numero de lignes.
Dans mon formulaire 2 qui permet de corriger des info, ma listbox est en single select, je selectionne une ligne et je vois dans les textbox les informations de la lignes, et je les modifie si je veux...

Pour revenir a mon précedent post :
Dans mon nouveaux formulaire (4), est il possible de faire un multiselect ?
Si je selectionne plusieures lignes (exemple : la ligne 3, et la ligne 5 et la ligne 8); et si je rentre un text dans ma textbox, cette valeur peut elle aller s'ecrire dans la ligne 3 et 5 et 8 ?
Quand mon utilisateur va arriver dans ce formulaire, il va sans doute se dire : je vais pas selectionner la prmiere ligne, et rentrer l'info 1 (exemple : de quelle couleur est la voiture : bleue); puis faire pareil pour la ligne suivante et encore ecrire bleue, puis encore pour la ligne 3 etc...
Peut il selectionner les lignes qu'il souhaite et alors ecrire : "bleue" dans la textbox, et cette info va s'ecrire dans la bonne colonne, pour toutes les lignes selectionnées ? "bleue" va s'ecrire en ligne 3 et 5 et 8 ...

En tout cas, voici la derniere version du fichier...
ca avance vraiement bien, et merci a bebere, en l'imitant, j'ai l'impression de progresser.... un peu quand meme..

Comme je n'arrive pas a compresser suffisament et que je reste bloquer a 50Ko, voici le lien :
http://cjoint.com/?cbrCme65Uo
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : Correction d'information dans une listbox par des textbox....

bonjour woodfoot
ta demande pour userform4,commentaires ds usf
pour usf1 dis moi quelle version tu vas conserver avec le filtre ou l'autre(sans filtre,woodfootres)
à bientôt
 

Pièces jointes

  • WoodfootUsf4.zip
    21.2 KB · Affichages: 45

woodfoot

XLDnaute Nouveau
Re : Correction d'information dans une listbox par des textbox....

bonjour le forum, bonjour bebere

je vais regarder de plus pres ce fichier.
Ca ouvre pas mal de possibilité, c'est quand meme tres bien, merci beaucoup

Pour l'instant j'ai garde la méthode avec le filtre, elle marchait tres bien
En revanche quand je mets toutes mes donnees, (environ 20000 lignes) elle est tres tres tres lente : environ 1 minutes pour afficher le forumlaire 1 avec la premiere liste de choix sur les regions.
Il y a t il une facon de precharger cette liste pour gagner du temps ?

Sinon, la methode à tableau (woodfootres) etait ma preférée, mais quand je l'ai testé sur mon fichier avec toutes les lignes, elle ne m'affichait pas tous les resultats !!!
j'ai regardé, testé, voir s'il y avait pas un limitateur sur la zone de recherche, sur le nombre de ligne, mais j'ai rien trouvé.

Merci pour ton aide.

Julien
 

Bebere

XLDnaute Barbatruc
Re : Correction d'information dans une listbox par des textbox....

bonjour Woodfoot,le Forum
une idée créer les listes avant,un exemple ds Woodfootlistes,feuille listes,code ds module1 et 2
pour créer les listes,et à partir de là alimenter les différentes listbox
ds woodfootV5,un autre exemple avec module de classe pour optionbutton et listbox
mets plus de données dans la feuille data,pour pouvoir faire des test
à bientôt
 

Pièces jointes

  • WoodFootListes.zip
    19.4 KB · Affichages: 44
  • WoodfootV5.zip
    47.9 KB · Affichages: 61

woodfoot

XLDnaute Nouveau
Re : Correction d'information dans une listbox par des textbox....

Merci beaucoup bebere

Je suis sur le fichier woodfoot5
j'ai les neurones ou ce qui s'en apparente en feu.

Je comprends pas comment on peut faire pour affichier plus colonne dans la listbox 4 du formulaire 1 ou dans la listbox1 du formulaire 2.

Pourquoi ?
je joue avec les colonnes (a 17 dans le fichier, mais ca marche pas)

Alors, j'essai de comprendre les indications de colonnes :
DerC = .Range("IV1").End(xlToLeft).Column
mais je comprends pas... est ca qui indique la plage sur laquelle on travaille ? j'ai cherché mais non..

J'ai alors cherché dans le module listbox et ai fait des essai sur ca
Set Plage = ActiveSheet.Range(Cells(2, 1), Cells(65536, 22).End(xlUp))
en changeant le 22, mais non..

Alors je sais pas...
comment faire pour afficher de pleins de colonnes... ? plus que les 17 d'en ce moment ?
Tu as limité la plage ?
Mon fichier de travail a 150 colonnes, et en fonction, je montre les colonnes 10 a 20 et je fait afficher les colonnes 10 a 20 dans les textbox
Puis pareil dans un autre formulaire pour les colonnes 20 a 30 etc...
ainsi au fur et a mesure, par enchainement de forumulaire, mon utilisateur va alors remplir les 150 colonnes de mon fichier...


merci pour ton aide
 

woodfoot

XLDnaute Nouveau
Re : Correction d'information dans une listbox par des textbox....

C'est bon, j'ai la reponse

C'etait dans la fameuse phase de "copie colle" dans la plage recherche
il fallait aller rechercher toutes les colonnes qui m'interesent :
DM

Plg = Sheets("recherche").Range("C2 : DM" & Sheets("recherche").Range("A65536").End(xlUp).Row)
Sheets("recherche").Range("C2 : DM" & Sheets("recherche").Range("A65536").End(xlUp).Row).ClearContents
 

woodfoot

XLDnaute Nouveau
Re : Correction d'information dans une listbox par des textbox....

Bonjour bebere, bonjour le forum


J’avance avec mon fichier, j’ai pris des code de bebere et le fichier permet desormais a l’utilisateur de bien filtrer sa recherche a l’aide des listbox, et par la suite, de remplir les colonnes voulues a l’aide d’un formulaire.

Merci a bebere pour son aide.


Mais voila… j’ai une derniere demande.
En effet apres quelques test, mes utilisateurs trouvent qu’il y a peut etre d’autres choix qui seraient judicieux pour leur recherches.
Moi, j’ai 4 listbox qui propose un choix sur la colonne 1 pour la listbox 1, sur la colonne 2 pour la listbox2 etc…

Et certains préféreraient pouvoir chercher a partir, par exmple, de la colonne 4 pour la listbox 1, puis par la colonne 3 pour la listbox 2 etc…

Donc, en gros, que chacun puisse se faire son angle d’attaque, ses criteres de choix.

Le probleme est que cela est bien difficile a gérer. Jusqu’ici, le choix de la listebox 1 (la region) par click implémentait la listebox 2 ( les pays ) et tout se passait en cascade.

Comment gérer ca maintenant ? Comment mettre des conditions sur les données que doivent gérer les listes ?

J’ai fait un exemple, vous y verrez plus clair dans le formulaire 1.
J’ai pensé a un system d’option button comme cela avait deja été developpé, mais cela me parait bien compliqué à gérer si l’on donne a l’utilisateur une liberté total de choisir ses criteres.

Bebere ? une idée ?
Je cherche de mon coté, mais cela me semble difficile…surtout pour la listbox 1 celle dont tout part…


http://cjoint.com/?cktfXBJt1R

Merci en tout cas a tous.
 

Statistiques des forums

Discussions
312 358
Messages
2 087 584
Membres
103 600
dernier inscrit
Tora61