Formule pour filtrer en VBA via une Combobox

BOUZY -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans le cadre de'un poste que j'occupe depuis quelques mois en tant que Gestionnaire de stock dans une PME. je me suis lancer dans la création d'un programme sous VBA de manière à avoir un suivi rigoureux. Les trois quarts du travail ont été faient.

Alors si je suis venu vous solliciter, c'est juste parce que je suis bloqué dans mon évolution; et que je n'arrive pas à trouver des solutions dans les livres.

J'ai donc un userform qui compte trois 'Frames" dont :

* La première contient un ComboBox1 pour selectionner l'article que l'on recherche et un CommandButton1 pour Lancer la Recheche

* La deuxième contient deux TextBox dont le premier est destiné à afficher la quantité en Stock et le second à afficher la dernière date où l'article a été mouvementé (sortie ou entrée)

* La troisème contient les Boutons VALIDER, ANNULER, ...

Alors je souhaite faire en sotre que lorsque je lance la recherche d'un article sélectionné dans ma ComboBox1, qu'il aille filtrer dans le tableau de ma feuil2 nommé HISTORIQUE, la valeur de la ComboBox1 et ensuite, qu'il me renvoie la différence obtenue et le total de la colonne des Entrées et celle des Sorties de cet aricle dans la TextBox1.

Je ne sais pas si mes explications ont été assez claires, mais je compte vraiment sur votre aide pour y voir clair.

Je vous remercie d'avance pour tous

Merci

1 réponse

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
     
    Essaies de comprendre et d'adapter ce code à ton besoin :
    Sub xxx()
    Dim cherche As Variant
    Dim cel As Range
    Dim valeur As Double
    
    'Affectation du mot cherché
    cherche = Combobox1.Value
    
    'Chercher le mot
    Set cel = Feuil2.Columns(1).Find(cherche, LookIn:=xlValues, Lookat:=xlWhole)
    If cel Is Nothing Then Exit Sub
    
    'Calculer la valeur
    valeur = cel.Offset(, 1).Value - cel.Offset(, 2).Value
    
    End Sub
    
    0