Recherche et addition en vba

BN74

XLDnaute Nouveau
Bonjour a tous,
Voila mon problème,
je dois faire une gestion du stock sur excel avec VBA.
J' ai 5 onglet qui représentent les famille de composant(électrique, mécanique...) et 2 autres pour voir les entrées et les sorties. Un bouton permet d'ajouter ou retirer un article du stock, quand je clic dessus une useform s'ouvre et me demande de choisir entre ajouter ou retirer, indiquer la famille, la désignation, la référence, la quantité et le prix unitaire.
Ce que je veux c'est que quand je tape la ref, elle est rechercher selon la famille indiquée, si elle est trouver, je veux que la quantité indiqué soit ajouter ou retirer (selon le choix) a celle de l'onglet concerné. et si elle n'est pas trouver je veux qu'elle soit ajouter a l'onglet concerner.
Quelq'un peut m'aider, j'ai essayer divers choses trouver sur le net mais ça ne fonctionne pas.
J'ai mis mon classeur en pièce jointe, vous comprendrez mieux que des mots
Merci d'avance.
 

Pièces jointes

  • gestion stock maintenance.xlsm
    276.4 KB · Affichages: 134

BN74

XLDnaute Nouveau
Re : Recherche et addition en vba

Voici le code pour pour selectionner la famille:

If TxtFamille = "Electique" Then
Sheets("Electrique").Select
ElseIf TxtFamille = "Mécanique" Then
Sheets("Mécanique").Select
ElseIf TxtFamille = "Pneumatique" Then
Sheets("Pneumatique").Select
ElseIf TxtFamille = "Hdraulique" Then
Sheets("Hydraulique").Select
End If

Celui pour rechercher la ref:

Cells.Find(What:=TxtRéférence, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate

Mais pour la recherche de ref, si je tape la première lettre ou chiffre et que ce n'est pas dans le tableau, ca me fait une erreur.
Et pour l'addition j'ai essayer avec active.offset mais ca marche pas, en plus si je tape un nombre a plusieurs chiffre, cela décalle la cellule active a chaque chiffre.
HELP ME !!!
 

BN74

XLDnaute Nouveau
Re : Recherche et addition en vba

Pour les addition c'est bon, j'ai utiliser les formules excel mais pour les recherches, toujours bloquer.
Il me faut une formule en vba qui recherche la référence dans la feuil (que j'indique avec le textbox Famille), et si elle n’existe pas, l'ajouter au tableau.
 

Paf

XLDnaute Barbatruc
Re : Recherche et addition en vba

Bonjour

plusieurs choses:

éviter les cellules fusionnées pour mettre des données, comme pour chaque feuille de famille où l'on trouve 2 "colonnes fusionnées" pour la désignation et idem pour référence.

plutôt que de saisir la famille à chaque utilisation il serait préférable (à mon avis) de mettre une combobox contenant les 4 familles où il n'y aurait plus qu'à sélectionner.

pour la recherche modifier ainsi:

Code:
Dim MaRecherche As Range, DerLig as long
With Worksheets(TxtFamille.Value)
  DerLig = .Range("D" & Rows.Count).End(xlUp).Row
  Set MaRecherche = .Range("D9:D" & DerLig).Find(What:=TxtRéférence, LookAt:=xlPart)
  If MaRecherche Is Nothing Then MsgBox "Référence inexistante"
End With

A+
 

BN74

XLDnaute Nouveau
Re : Recherche et addition en vba

Merci Paf pour le code et les conseille ;) , je vais essayer ça et te dire si ça fonctionne.
Pour les colonnes fusionnées tu a raison, je vais changer ça, et pour la combobox j'y ai déja fait ce matin, c'est vrai que c'est plus pratique.
 

BN74

XLDnaute Nouveau
Re : Recherche et addition en vba

Ca me fait une recherche a chaque lettre ou chiffre que je tape et je ne sais pas comment lui dire que la recherche est composer de plusieurs caractere sachant que le nombre de caractère est variable selon les ref.
Quelqu'un veut bien m'aider ?
 

Paf

XLDnaute Barbatruc
Re : Recherche et addition en vba

re,

à priori le code est dans Private Sub TxtRéférence_Change().

Essayer de le mettre dans Private Sub TxtRéférence_Exit(ByVal Cancel As MSForms.ReturnBoolean)
le code ne se déclenchera qu'en quittant la textbox après avoir saisi ce que l'on veut.

A+
 

Discussions similaires

Réponses
15
Affichages
534
Réponses
10
Affichages
422

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16