inventaire

  • Initiateur de la discussion sebast
  • Date de début
S

sebast

Guest
bonjours a tous
je m'explique
je souhaite connaitre la formule me permetant de retirer une unite de (B.2)voir exemple a chaque impulsion sur le bouton .

merci a bientot

seb.
 

Pièces jointes

  • inventaire.xls
    13.5 KB · Affichages: 297
  • inventaire.xls
    13.5 KB · Affichages: 322
  • inventaire.xls
    13.5 KB · Affichages: 343
J

Jean-Marie

Guest
Bonsoir Sebast

1) Appuie sur Alt F11, pour aller dans l'éditeur VBA

2) Clique sur le nom de ton fichier dans la fenêtre "Projet")

3) Clique sur le menu Insertion/module

4) Dans le fenêtre "inventaire.xls Module1 (code)

5) Copie ce code

Public Sub ClicBouton()
Range("B2") = Range("B2") - 1
End Sub

6) Quitte l'éditeur VBA, pour retourner dans la feuille de calcul

7) Clique avec le bouton droit sur le Bouton "COCA", et clique sur le menu affecter une macro

8) Dans la fenêtre sélectionne la macro ClicBouton et valide

Voilà

Bonne soirée

@+Jean-Marie
 
J

Jean-Marie

Guest
inventaire - Gestion de stocks - Gestion des consommations

Bonjour le forum

Après plusieurs échanges sur Bal, Sébastien m'a transmis un fichier.

Ce que voulait Sébastien :
- À partir d'une feuille contenant des boutons de la barre d'outils formulaire, et d'un clique, faire la soustraction d'une unité dans la base stock, en fonction de la désignation contenue dans le bouton.

- Le fichier présentait 5 boutons, mais je pense que se n'était pas une limite, créer un code pour chaque bouton devient vite la galère.

Avec l'aide de Fabrice sur le chat, on n'a peu trouvé comment récupérer le texte contenu dans le bouton cliqué (les deux premières lignes dans le code). Ce qui évite la multiplication des codes.

Je ne me suis pas arrêté en si bon chemin, j'ai rajouté une partie sur les consommations pour chaque mois.

Bonne journée à tous

@+Jean-Marie
 

Pièces jointes

  • inventaire.zip
    13.2 KB · Affichages: 177
  • inventaire.zip
    13.2 KB · Affichages: 159
  • inventaire.zip
    13.2 KB · Affichages: 177
@

@+Thierry

Guest
Re: inventaire - Gestion de stocks - Gestion des consommations

Salut Jean Marie, Seb, Le Forum


Sur ton dernier fichier Jean Marie, j'ai une erreur 13 "Incompatibilité de type" pour :
- Limonade
- Jus de Fruit

Mais heureusement le bouton Bière fonctionne bien ;-)

@+Thierry
 
J

Jean-Marie

Guest
Re: inventaire - Gestion de stocks - Gestion des consommations

Bonjour,

Merci Thierry d'avoir débusquer ce que provoquerait si le texte du bouton ne correspondait pas à la désignation dans la base stock, (le point 6 dans la feuille "stock")

Thierry que pense-tu du code ?

@+Jean-Marie
 
@

@+Thierry

Guest
Re: inventaire - Gestion de stocks - Gestion des consommations

Coucou ce Fil,

Et oui... je surveille !!! et puis dès qu'on parle de bière !

Et oui... "limonde" et "jus de fruits" ne sont pas "limonade" et "jus de fruit"

Et oui... Le résultat est très bien Jean Marie, très pertubant pour moi car ce sont carrément des formules que tu écris en VBA, on voit là bien très racines ;-)

Et oui... c'est difficile de faire plus simple et évolutif (et sans boucle) Bravo Jean Marie !

Par contre je ne me ferai jamais, au non jamais, à lire "Range("stock!E4")" ou encore "PlageStock = "stock!B4:B" & Range("stock!B65536").End(xlUp).Row"! mais c'est une question d'habitude, tant que celà marche bien et que je n'ai pas à intervenir dessus ;-).... Go ahead !

Juste ptet un ptit gestionnaire d'erreur pour éviter le problème que tu as eu avec ta démo, comme çà :

Sub Inventaire()
Dim Boisson As String
Dim vIndex As Byte
Dim PlageStock As String
Dim vMois As Integer

ActiveSheet.Shapes(Application.Caller).Select
Boisson = Selection.Characters.Text
PlageStock = "stock!B4:B" & Range("stock!B65536").End(xlUp).Row

On Error GoTo ErrorHandler '<<<<<<
vIndex = Evaluate("=MATCH(" & Chr(34) & Boisson & Chr(34) & "," & PlageStock & ",0)") - 1

Range("stock!B4").Offset(vIndex, 1) = Range("stock!B4").Offset(vIndex, 1) - 1

vMois = Month(Date) - 1
Range("stock!E4").Offset(vIndex, vMois) = Range("stock!E4").Offset(vIndex, vMois) + 1

Range("A1").Select
Exit Sub
ErrorHandler: '<<<<<<<<
If Err = 13 Then
MsgBox "Vérifier la syntax de vos Produits et de Vos Boutons"
Else
MsgBox "Erreur non répertoriée, voir Jean-Marie !!"
End If
End Sub

Ou alors faudrait faire écrire directement le noms des produits dans les boutons automatiquement à l'activate de la page comme çà plus de risque d'erreur... Mais je pense que ces bons vieux boutons ne vont pas aimer !

Bonne Fin de Dimanche à Toi et au Forum

@+Thierry
 
J

Jean-Marie

Guest
Re: inventaire - Gestion de stocks - Gestion des consommations

Re...

Voici le fichier modifié avec une gestion d'erreur, je l'ai écrite pendant que tu rédigeais ton message Thierry.

Une chose bizarre, avec une gestion d'erreur dans un code, si la fenêtre du code est ouverte dans VBA, si il y a une erreur de détectée, à la fin de l'exécution je me trouve sur fenêtre du code VBA !!!

Thierry sait-tu pourquoi ?

@+Jean-Marie
 

Pièces jointes

  • inventaire.zip
    13.8 KB · Affichages: 212
  • inventaire.zip
    13.8 KB · Affichages: 176
  • inventaire.zip
    13.8 KB · Affichages: 227
@

@+Thierry

Guest
Re: inventaire - Gestion de stocks - Gestion des consommations

Salut Jean Marie

Et bien alors tu as mis 49 minutes pour rédiger ton post réponse !! lol

Pour ce qui est de l'affichage de VBE c'est encore un coup à la "Mc Arthur" !!! car sous PC, fenêtre VBE ouverte en fond de tâche sur ton module en question... Non on reste bien dans Excel si il y a une erreur gérée par ton "DetectionErreur"...

Bonne Soirée
@+Thierry
 
@

@+Thierry

Guest
Re

Sinon essaie de coller ceci dans ton Code Jean Marie :

Application.VBE.MainWindow.Visible = False 'Special Thanx to Ti !

Soit au début de la Procédure... Soit avant ton msg de gestion d'erreur...

Mais inutile sous PC....

@+Thierry
 
J

Jean-Marie

Guest
Re: inventaire - Gestion de stocks - Gestion des consommations

Re...

Thierry, tu oublies que j'apprends VBA, j'ai dû commencer et me décider vers 18 h 00 à intégrer une gestion d'erreur.

Si je n'ai pas eu ce problème de retour à la fenêtre du code, je l'aurais posté plus tôt.
J'essaye de trouver le maximum d'instructions par moi-même, et si j'ai des problèmes, au lieu de sauter littéralement sur les exemples sur le forum, je fais en sorte de trouver la parade.

Pour les formules, tu as raison, on voit mes racines, nous fessons tous du VBA et non du VB, tant que l'on peu utiliser des fonctions, il ne faut pas sans priver, surtout quelles seront toujours plus rapide d'exécution que de l'interpréter.

Merci

@+Jean-Marie
 
@

@+Thierry

Guest
Alors c'est Super !

Ce n'est pas de moi, c'est Ti qui avait trouvé ceci pour Jane mais comme je n'en voyais pas l'utilité je ne m'en suis jamais servi mais je n'avais pas oublié !

Donc c'est kool pour les Macs !!!

@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 012
Membres
103 093
dernier inscrit
Molinari