TextBox recherche valeur dans colonne

Résolu/Fermé
lanxade Messages postés 29 Date d'inscription jeudi 30 avril 2009 Statut Membre Dernière intervention 8 avril 2023 - 3 août 2009 à 14:25
lanxade Messages postés 29 Date d'inscription jeudi 30 avril 2009 Statut Membre Dernière intervention 8 avril 2023 - 3 août 2009 à 15:50
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
A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
3 août 2009 à 15:14
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
3 août 2009 à 15:47
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
lanxade Messages postés 29 Date d'inscription jeudi 30 avril 2009 Statut Membre Dernière intervention 8 avril 2023
3 août 2009 à 15:50
Bonjour PIJAKU,

En effet bien adapté ça marche

A bientôt
0