Alimentation Listbox

Bonjour le forum,

Je souhaiterai alimenter une listbox en fonction de la valeur rentrée en textbox1 mais sans doublons.

Si cette valeur a déjà été rentrée, je souhaiterai simplement augmenter de 1 le nombre contenu en colonne 6 de ma listbox.

J'ai actuellement deux codes qui fonctionnent très bien, mais je ne parviens pas à les associer pour n'en faire qu'un.

Les valeurs à rentrer en textbox1 sont celles de la colonne A de la feuille "Stock" soit : A1; A2; A3.......

J'utilise une textbox à renseigner manuellement parce qu'en fait, j'utilise un lecteur de code barres qui renseigne automatiquement cette dernière et qui exécute le code.

Pour l'exemple, j'ai affecté mes codes à des combobox.

Merci pour l'aide,

Bonne journée,

Jeremy

57listbox-jw.xlsm (34.11 Ko)

Bonjour

On peut avoir plusieurs fois le même code colonne A ? Si oui, comment on différencie le doublons

cordialement

Bonjour Dan et merci de te pencher sur ma problématique.

Il n'y a qu'une seule fois chaque code, aucun doublon en colonne A de la feuille "Stock"

Cordialement,

Re

En modifiant la Private Sub CommandButton1_Click() comme ceci :

Juste en dessous de -->Me.ListBox1.List(f, 5) = "1" 'Qté vous pouvez ajouter cette instruction -->

Me.ListBox1.List(f, 5) = Me.ListBox1.Column(5, 0) + 1

Est-ce que vous voulez faire ??

Si oui, vous pouvez supprimer la Private Sub CommandButton2_Click()

A vous relire

Cordialement

Bonjour Dan,

Je ne suis pas sur de bien comprendre ta raison.

En image voici le résultat que j'aimerais obtenir.

Je ne souhaite conserver qu'un seul Combobox.

Si la référence n'existe pas dans la listbox je la crée.

Si elle existe, je rajoute 1 en colonne 5

Et ainsi de suite.

Dans l'image j'ai inséré 3 fois la référence A5.

listbox jw

Merci,

Re

Ah ok, je comprends mieux là (enfin je crois... )

Essayez ceci :

Private Sub CommandButton1_Click()
Dim Code_Mag As String

Code_Mag = Me.TextBox1.Value

With Sheets("Stock")
    Ln = .Range("A2").End(xlUp).Row
    Set cel = .Range("A2:A30").Cells.Find(what:=Code_Mag, LookIn:=xlValues, lookat:=xlWhole)
    If Not cel Is Nothing Then
        f = Me.ListBox1.ListCount
        Ln = cel.Row
    End If
End With
If f > 0 Then
    With Me.ListBox1
        For i = 0 To .ListCount - 1
            If .Column(0, i) = Code_Mag Then
                .Column(5, i) = .Column(5, i) + 1: Exit Sub
            End If
        Next i
    End With
End If
If f >= 0 Then
    With Me.ListBox1
        .AddItem
        .List(f, 0) = Sheets("Stock").Range("A" & Ln).Value  'Code mag
        .List(f, 1) = Sheets("Stock").Range("B" & Ln).Value  'Détail
        .List(f, 2) = Sheets("Stock").Range("L" & Ln).Value  'Fournisseur
        .List(f, 3) = Sheets("Stock").Range("C" & Ln).Value  'Réf. fournisseur
        .List(f, 4) = CCur(Format(Sheets("Stock").Range("G" & Ln).Value, "0.00"))  'Prix unitaire TTC
        .List(f, 5) = "1"  'Qté
    End With
End If
End Sub

Si ok, merci de cloturer le fil en cliquant sur le V vert à coté du bouton EDITER

Cordialement

Merci Dan pour la solution proposée.

Elle ne fonctionne pas, elle insère uniquement un nombre 1 en colonne 5. (Cf. fichier joint)

98listbox-jw.xlsm (34.66 Ko)

Re

Vous n'avez pas recopié tout le code que j'ai placé sur mon post

Cordialement

C'est Exact, j'ai été trop vite....

Merci bcp pour votre aide, la solution proposée fonctionne parfaitement.

Bonne journée,

Jeremy

Rechercher des sujets similaires à "alimentation listbox"