TextBox recherche valeur dans colonne

Résolu
Bonjour,

Un petit soucis de programme :
J'ai un UserForm1 par lequel j'ai ouvert Mon fichier ("Stock"). et une feuille de ce fichier ("Feuille1").Select
Dans cette feuille je possède en Range ("O2") un NBVal de la colonne "B"

Une Colonne "Articles" = Colonne "A"
Une Colonne "references" = Colonne "B"
Une Colonne Quantité = Colonne "C"

Je connais donc la Valeur de la dernière ligne de ma colonne "B".

Dans ce UserForm1
>Un textBox2 dans lequel j'ai inséré un "Article" ("Bobine").
> Un textBox4 dans lequel j'ai inséré une "reference" ("ALX12345").
> Un TextBox6 dans lequel j'ai inséré une "Quantité" ("3")

Je voudrais à partir de cela :

Rechercher dans la colonne "B" , la cellule ayant pour valeur la référence ("ALX12345").

Si la référence existe, ajouter dans la cellule "Quantité" correspondante à cette reference la quantité ("3") du TextBox6 à la "quantité" déjà existante dans cette cellule

EX : Si la reference ("ALX12345"). est en ligne 7 et que la cellule Quantité ("C7") est déjà de "2" , en ajoutant la valeur de la TextBox6 ("3") , ==> Aprés opération, la valeur de la cellule C7 sera alors "5"

Et si la référence n'existe pas rajouter une ligne avec l'article est trier en ordre alphabetique, mais ça, je sais faire.

Merci de votre attention

à Bientôt

Windows XP Internet Explorer 7.0

2 réponses

  1. Modérateur
    Salut,
    Ceci devrait te convenir. A adapter bien sur

    Dim i As Integer, numlign As Integer
    numlign = Sheets("Feuil1").Range("B65536").End(xlUp).Row
    With Sheets("Feuil1")
    For i = 1 To numlign
    If .Cells(i, 2).Value = TextBox4 Then
    .Cells(i, 2).Offset(0, 1).Value = .Cells(i, 2).Offset(0, 1).Value + TextBox6
    Exit For
    End If
    Next
    End With

    Edit : j'ai zappé la partie ou il faut ajouter la valeur du TextBox4. Je m'y mets tout de suite...
    1
    1. Modérateur
      Essaye comme ceci :

      Dim i As Integer, numlign As Integer
      numlign = Sheets("Feuil1").Range("B65536").End(xlUp).Row
      With Sheets("Feuil1")
      For i = 1 To numlign
      If .Cells(i, 2).Value = TextBox4 Then
      .Cells(i, 2).Offset(0, 1).Value = .Cells(i, 2).Offset(0, 1).Value + TextBox6
      Exit For
      End If
      Next
      If .Cells(i, 2).Value = "" Then
      .Cells(i, 1).Value = TextBox2
      .Cells(i, 2).Value = TextBox4
      .Cells(i, 3).Value = TextBox6
      End If
      End With
      0
      1. Bonjour PIJAKU,

        En effet bien adapté ça marche

        A bientôt
        0