Listbox alimenté avec critère

Parfait donc.

il faut vraiment que je comprenne en buchant un peu le listcount, le offset

- Listcount --> permet de compter le nombre de ligne dans votre listbox.
- Offset --> dans votre code on cherche la valeur CEL dans la colonne G. "Offset" permet d'aller cherche la valeur dans une autre ligne et colonne par rapport à la valeur CEL.
Exemple : si CEL correspond à la valeur de G3.
L'instruction CEL.OFFSET (0, 1) va vous renvoyer la valeur se trouvant sur la ligne de CEL (ici valeur 0 donc ligne = 3 parce que CEL = G3) et dans la colonne H ( ici colonne G + 1)
Pour notre exemple avec G3 --> CEL.OFFSET(0,1) vous renverra la valeur H3

Cordialement

Merci pour ces explications.

Bonjour Dan,

Je me permet de te solliciter encore une fois, je me suis aperçu que dans le mouvement attente de livraison, le bouton valider le mouvement ne fonctionne plus, logique puisque il dépends de la feuille TEMP qui n'existe plus.

Les articles s'affichent directement dans la listbox, ma question est comment les intégrer dans la feuille magasin une fois présent dans la listbox en activant le bouton valider le mouvement.

Je pense à un truc du genre

i=1.listcount

sheets magasin range a (derligne)= listbox3.listindex,1

sheets magasin range b (derligne)= listbox3.listindex,2

...

...

i = i+1

Next i

Je ne sais pas trop comment aborder la chose.

Pouvez vous m'aiguiller.

Merci

Bonjour

Je me permet de te solliciter encore une fois, je me suis aperçu que dans le mouvement attente de livraison, le bouton valider le mouvement ne fonctionne plus, logique puisque il dépends de la feuille TEMP qui n'existe plus.

Oui c'est normal. C'est un point que je n'avais pas encore regardé. De base cela sera quelque chose du genre de ceci

Private Sub CommandButton5_Click()
Dim derligne As Long
Dim i As Integer

With Sheets("MAGASIN")
    derligne = .Cells(Rows.Count, 1).End(xlUp).Row + 1
    For i = 1 To ListBox3.ListCount
        .Range("A" & derligne) = ListBox3.List(i, 0)
        .Range("B" & derligne) = ListBox3.List(i, 1)
        '.....
    Next i
End With

Je n'ai pas encore vérifié. Je vous tiens au courant

Crdlt

Merci Dan,

Je regarde aussi en parallèle,

Mais la piste est correct comme je l'avais imaginer.

Merci.

Bonjour Dan,

Cela fonctionne avec Resize

.Range("A" & derligne).Resize(ListBox3.ListCount, 7).Value = ListBox3.List

je cherche maintenant comment selectionner uniquement la 8éme valeur pour la coller en "i".

Merci pour la piste.

Bonjour

je cherche maintenant comment selectionner uniquement la 8éme valeur pour la coller en "i".

Dans l'userform on voit prix unitaire dans la textbox72. Mais à chaque ajout, il faut que ce soit ajouté dans la listbox3
la 8ieme valeur se trouve dans quelle colonne dans la listbox ?

Bonjour, la 8eme = prix unitaire a entrer dans feuille magasin colonne "I".

La méthode réside comme si dessus permet de prendre plusieurs ligne sans la variable de i et next i.

si on peut ajuster la même méthode seulement pour la colonne 8 c est bien, sinon j ai pensé à faire le listcount jusqu'au bout et déplacer les valeur dans la feuille magasin, mais ça fait bricoleur...

si on peut ajuster la même méthode seulement pour la colonne 8 c est bien, sinon j ai pensé à faire le listcount jusqu'au bout et déplacer les valeur dans la feuille magasin, mais ça fait bricoleur...

la méthode avec la boucle i est plus intéressante à moins que les colonnes de la listbox soient identiques à celle de votre feuille Magasin
Sans quoi vous devrez repasser par une boucle i ...next i. Ce qui n'est pas gênant en soi. Dans votre cas c'est que j'aurais fait et raison de ma proposition dans mon post précédent

Bonjour Dan,

J'ai rien contre la boucle, mais cela ne fonctionne pas.

j'ai trouvé cette solution, c'est peut être pas la meilleur car je suis embêter pour identifier seulement une colonne unique.

Si vous avez résolu le code avec la boucle ca m'intéresse.

Merci.

Dan,

J'avoue que pour moi c'est compliqué, je n'ai aucune formation dans le domaine et ce n'est pas du tout mon métier, je fais cet outils pour mon cadre de professionnel, sans en être l'utilisateur principal.

La réflexion sur ce genre de truc qui pour moi sons "tordu" ça me plais :)

Et je souhaites vraiment aboutir le projet.

Merci encore pour votre aide et votre patience.

A priori, c'est listindex qu'il faut utiliser, mais, mais, mais comment passer à la ligne d'après...

Dans ce que je vous ai proposé et juste pour que vous sachiez, il faut aussi ajouter l'instruction ci-dessous juste avant le NEXT i
Sans quoi le code ne va recopier que les données d'une seule ligne de la listbox.

derligne = derligne + 1

Je vais revenir plus tard vers vous avec le code

Je vous joint le fichier avec mes milliards de test...

pour tester.

3logistique-v1.xlsm (60.96 Ko)

Je viens de regarder le fichier mais je vois déjà que ce que je vous avais donné dans ce post n'est pas implémenté dans la fichier --> https://forum.excel-pratique.com/s/goto/1018783

Bonjour Dan,

C'est un oubli qui n'a pas son importance pour la question d'ajouter la liste à la feuille magasin.

Bonjour

C'est un oubli qui n'a pas son importance pour la question d'ajouter la liste à la feuille magasin.

Si vous travaillez sur plusieurs versions de fichier vous n'allez jamais en sortir. Votre projet n'est déjà pas facile à suivre ne fusse que par la numérotation de vos combo et textbox (on vous l'avait déjà mentionné). Donc mon conseil est d'avoir toujours un fichier à jour lorsque vous êtes d'accord avec la modification proposée

Quelle sont les informations qui doivent être placées dans la feuille Magasin avec la colonne I ?
Je vois à priori la colonne L pour l'emplacement puis peut être la quantité en attente mais d'où vient l'info ? (Textbox 240 ?)

Bonjour Dan,

Je conserve la version que vous m'avez proposez en retour (v1)

j'ai ajouté les codes que j'avais oublié.

Colonne i dans magasin = prix unitaire = textebox 72

colonne L dans magasin = emplacement = textbox 108

colonne M et N dans magasin = qté max et quantité en attente = textbox 240

Colonne i dans magasin = prix unitaire = textebox 72

Pour moi ce n'est pas correct car si votre listbox contient plusieurs lignes, le prix n'est pas nécessairement identique pour chaque article

Qté max c'est la textbox 770 non ?

Votre avis ?

Cette textbox n'est pas utilisée a cette étape de mouvement, elle sera utilisée avec le mouvement retour.

Rechercher des sujets similaires à "listbox alimente critere"