Recherche avec vba excel

Résolu
math -  
 math -
Bonjour,

J'essaye de faire une macro qui cherche une valeur dans une base de donnée et copie une quantité 2 colonnes après la référence.

exemple:

base de données:
ps85
ps86
ps77
ps52
...

dans une userform, une liste déroulante en value "ps86" , une autre avec la quantité "5"
un bouton valider

quand je clique sur le bouton j'aimerais obtenir dans la base de donnée:

ps85
ps86 5
ps77
ps52
...




j'ai essayé avec vlookup mais aucun résultat.
A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Essayez ce code :
ComboBox1 = liste déroulante des valeurs (ps85, ps86 ...)
ComboBox2 = liste des Qttés
CommandButton1 = le bouton

A adapter (en gras dans le code) le nom de la feuille contenant les données, le numéro de la colonne contenant les valeurs (ps85 etc...), le nombre de colonnes de "décalage" :

Private Sub CommandButton1_Click()
Dim RngTrouve As Range
If ComboBox1 <> "" And ComboBox2 <> "" Then
    With Sheets(NomDeTaFeuil).Columns(1)
        Set RngTrouve = .Cells.Find(ComboBox1.Value, lookat:=xlWhole)
        If RngTrouve Is Nothing Then
            MsgBox "valeur inexistante"
        Else
            RngTrouve.Offset(0, 2).Value = ComboBox2.Value
        End If
    End With
End If
Set RngTrouve = Nothing
End Sub
--
Cordialement,
Franck P
1
math
 
Parfait, ton code marche très bien, je l'ai un peu modifié pour l'adapter a mon fichier.
Merci beaucoup.
0
math
 
Merci beaucoup, je vais essayer ça dans la journée.
0
math
 
j'ai une autre problématique, je voudrai que la valeur ComboBox2 s'ajoute à une valeur existante dans la cellule.
???
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Dans ce cas, il suffit de remplacer :
RngTrouve.Offset(0, 2).Value = ComboBox2.Value
par
RngTrouve.Offset(0, 2).Value = RngTrouve.Offset(0, 2).Value + ComboBox2.Value


Cordialement.
0
math
 
impec, merci bien, vous êtes des champions!
0