Ajout et Suppression de quantité (macro)

Résolu/Fermé
Alew14 Messages postés 6 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 4 octobre 2018 - 4 mars 2015 à 15:46
ccm81 Messages postés 10905 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 décembre 2024 - 4 mars 2015 à 16:58
Bonjour,

Encore moi pour un souci macro cette fois.

J'ai une base de donnée, ou l'état de mon stock est inscrit.

J'aimerais que sur la feuille de travail il y ait deux boutons
=> Ajouter 1
=> Enlever 1

Quand je clic le +1 excel ajoute automatiquement 1 unité dans la colonne quantité pour la référence choisi dans la feuille de travail.
Idem pour le -1

https://www.cjoint.com/?3Cep2wiUkq6

Par avance merci

3 réponses

ccm81 Messages postés 10905 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 décembre 2024 2 429
4 mars 2015 à 16:13
Bonjour

Un petit exemple
https://www.cjoint.com/?3CeqylCa2vY

Cdlmnt
1
Alew14 Messages postés 6 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 4 octobre 2018
4 mars 2015 à 16:22
Parfait,

C'est tout bon pour moi :)

Un gros merci!
0
ccm81 Messages postés 10905 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 décembre 2024 2 429
4 mars 2015 à 16:22
RQ. En C11 je verrai plutôt
=RECHERCHEV(C5;Base!B2:D38;3;0)
0
Alew14 Messages postés 6 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 4 octobre 2018
Modifié par Alew14 le 4/03/2015 à 16:25
Exacte c'est plus simple, je l'avais fait rapidement celle la pour voir le resultat. Après modification c'est kif-kif mais beaucoup plus propre :)

Comment as-tu fait pour avoir ce résultat?
0
ccm81 Messages postés 10905 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 décembre 2024 2 429 > Alew14 Messages postés 6 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 4 octobre 2018
4 mars 2015 à 16:32
Comment as-tu fait pour avoir ce résultat?
Quel résultat
Si c'est pour la qua,tité en stock, avec une autre référence, la valeur du stock de la base n'était pas rapportée en feuille de travail
0
Alew14 Messages postés 6 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 4 octobre 2018
4 mars 2015 à 16:38
Je parlais pour avoir le +1 -1 et que cela incrémente tout seul dans la base
0
ccm81 Messages postés 10905 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 décembre 2024 2 429
4 mars 2015 à 16:51
Ah!
0. Nommer les cellules et les plages comme indiqué dans le fichier

1. Mettre les deux boutons dans la feuille
Ces boutons (contrôles ActiveX) doivent être pris dans la boite à outils contrôles (Affichage/barres d'outils/Boite à outils contrôles)
L'équerre bleue permet de passer du mode création au mode exécution
Clic sur l'équerre bleue, et mettre les deux boutons dans la feuille
Clic-droit sur le bouton pour modifier les propriétés
Name = btPlus1
Caption +1
Font ....
2. Implémenter le code attaché aux boutons
Clic-clic sur le bouton te fait passer dans l'éditeur vba
Tu complètes le code, les deux boutons font appel à la même procédure MAJ(k) où k prendra la valeur envoyée par les procedures Click des boutons

Private Sub btMoins1_Click()
Call MAJ(-1)
End Sub

Private Sub btPlus1_Click()
Call MAJ(1)
End Sub


3. Ecriture de la procédure MAJ(k)
Insertion/module pour passer dans un module "général" (c'est plus propore), copier le code de la procédure

Const FT = "Feuille de travail"
Const Ref = "Ref"

Const FB = "Base"
Const plageRef = "Reference"
Const plageStock = "Stock"

Public Sub MAJ(k As Long)
Dim plage As Range, R As String, objref As Object, li As Long, s As Long
R = Sheets(FT).Range(Ref).Value
Set plage = Sheets(FB).Range(plageRef)
Set objref = plage.Find(R, , , xlWhole)
If objref Is Nothing Then Exit Sub
li = objref.Row
s = Sheets(FB).Range(plageStock).Cells(li, 1).Value
Sheets(FB).Range(plageStock).Cells(li, 1).Value = s + k
End Sub

4. Retour dans la feuille de calcul
Clic sur l'équerre bleue pour passer en mode exécution

5. C'est fini
0
Alew14 Messages postés 6 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 4 octobre 2018
4 mars 2015 à 16:55
Merci, un poil trop pointu pour moi mais c'est sympa de savoir comment cela est fait
0
ccm81 Messages postés 10905 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 décembre 2024 2 429
4 mars 2015 à 16:58
Mais non, mais non !
Tu fais la manip deux ou trois fois, et après ça se fera tout seul

Bon courage :-)
0