Modification d'une ligne a partir d'un listbox

32test1-1.xltm (46.09 Ko)

Bonjour,

J'ai un fichier contenant des pièces et j'ai un bouton Approvisionnement qui me permet de rechercher une pièce et de pouvoir modifier le nombre de pièce demandée pour l’approvisionnement, j'ai déjà créé le bouton Approvisionnement ainsi que le système de recherche qui normalement marche correctement.

Le problème viens lorsque qu'il faut ajouter la demande dans le tableau. Si on effectue aucune recherche dans le textbox et qu'on sélectionne une pièce directement dans la Listbox alors le bouton Ajouter écrit pratiquement dans la bonne ligne je pense que celà est du au filtre présent dans le code mais je ne vois pas comment "le contourner" pour écrire au bon endroit.

De plus si on vient à écrire dans le textbox afin d'affiner notre recherche le bouton Ajouter va alors écrire dans une des 3 premières lignes peut importe la sélection ce qui pose problème et je ne vois pas comment lui faire sélectionner la bonne ligne dans le tableau.

J'espère que c'est assez clair pour vous si ce n'est pas le cas n'hésiter à me demander des précisions

Voici mon fichier.

Merci d'avance

Bonjour,

Pour faciliter la chose, j'ai ajouté une colonne en A ... elle sert à identifier la ligne quelque soit la recherche ou sélection dans la listbox.

J'ai aussi transformé la plage de données en Tableau .

Au goût, tu peux masquer la colonne A1.

J'ai corrigé le code des 3 boutons ... Rechercher, Approvisionnement et Total.

Un essai ...

120test1-1-v2.xlsm (42.17 Ko)

Je reste disponible ... zaucasou

ric

Bonjour,

En effet je pense que comme vous avez modifié ça sera mieux pour ce repérer dans le tableau, cependant je ne trouve toujours pas de code correct afin d'éviter le filtre je suis toujours décalé de plusieurs cases en fonctions de la position dans le tableau lors de la modification de l'approvisionnement.

Bonjour,

Excuse-moi, je n'avais fait les tests que sur les premières lignes ...

Il n'y a que le code du bouton valider à changer pour celui-ci ...

Private Sub CommandButton1_Click()
    If IsNull(ListBox1.Value) Then
        MsgBox "Veuillez selectionner une pièce"
    Else
        LLigne = Me.ListBox1.Column(0, Me.ListBox1.ListIndex)
        Range("Tableau1").Cells(LLigne, "i") = CInt(TextBox6)
        MsgBox ("Approvisionnement ajouté")
    End If
    Unload Me
End Sub

ric

C'est parfait ça marche parfaitement sur le fichier mais j'ai du créé un bug dans le système!

Lorsque j'ai voulu l'intégrer dans mon fichier original j'ai rencontré quelques soucis malgré le fait que j'ai modifié votre code pour qu'il s'adapte à mon tableau mais rien ni fait, je crois que j'ai tous cassé

Lorsque je veux rechercher un pièce, le système ce bloque est met en jaune :

If Cl.Row = CInt(Me.ListBox1.Column(0, X - 1) + 2) Then

Et de même si je veux ajouter une quantité directement il me met en jaune:

LLigne = Me.ListBox1.Column(0, Me.ListBox1.ListIndex)

Je vous ai mis un bout de mon fichier avec le format modifié en Feuil2, le code est modifié sur le USFRéel pour essayé qu'il s'adapte donc il se peu que j'ai rajouté des erreurs..

Merci d'avance

33test1-1-v2.xlsm (65.64 Ko)

Bonjour,

ric

>> j'ai changé le fichier joint ...

Bonjour,

Ça fonctionne de nouveau pour la recherche merci !

Par contre j'ai de nouveau le problème d'écriture pour la quantité il va écrire 2 à 5 lignes plus haut que la bonne ligne j'ai essayé de bidouillé le code çà fonctionne uniquement si on effectue pas de recherche mais pareil que la derniere fois pour les derniers lignes il y un decalage du au filtre et si on effectue une recherche il va toujours écrire dans la 1er ligne..

Bonjour,

J'ai changé la méthode d'accéder au Tableau2 ... et j'ai changé le fichier joint de mon post précédent ...

Va voir si ça fonctionne mieux.

Il faut faire attention au moment de changer la listbox > il faut charger aussi la colonne 1 (que j'ai renommée ID ) > et afin que cet ID n'apparaisse pas dans la listbox, l'on met la 1re colonne à 0 pt de largeur (voir la propriété ColumnWidth ) de la listbox.

Cette colonne ID masquée sert de référence importante dans les lignes du Tableau2 ...

ric

Ah daccord je vois mieux maintenant !

Merci beaucoup ça fonctionne parfaitement à présent !

Rechercher des sujets similaires à "modification ligne partir listbox"