Excel gestion stock inventaire - VB/VBA/VBS - Programmation
Marsh Posté le 25-03-2006 à 00:06:09
Bonjour,
Pourquoi B2 ne serait pas la somme total d' ajout à ton stock. Tu dit que B2=B2+Nouvellevaleur et que C2 = A2+B2.
Bref, si je ne me trompe pas, j' ai fait un petit code qui pourrait peut-être te servir :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveCell.AddressLocal = "$B$2" Then
dmd = MsgBox("Nouvelle valeur", vbYesNo)
Select Case dmd
Case vbYes
newvalue = InputBox("Entrer une nouvelle valeur : " )
Range("B2" ) = Range("B2" ) + newvalue
End Select
End If
End Sub
Voilà, ai je répondu à ta demande ?
Marsh Posté le 25-03-2006 à 00:35:53
merci beaucoup pour ta reponse. Demain je serai chez-moi et tu peux être certain que je vais le tester. J'ai essayer différentes formules mais comme j'apprend ce langage, je fouille et cherche. J'en ai encore beaucoup à apprendre.
Encore une fois merci et te te tiens au courant
Marsh Posté le 26-03-2006 à 01:41:54
"j' ai fait un petit code qui pourrait peut-être te servir"
J'ai étudié ton code et j'en ai compris la logique. Mais, il y a un mais :-)
Au risque de paraitre ignorant de la chose je ne sais pas comment utiliser ce code. J'ai lu et suivi les instructions d'aide de Excel Private sub mais ce ne marche pas. On me répond "End sub attendu" mais je sais que je l'utilise mal.
J'ai essayé Ajouter procédure, la boite de dialogue apparait mais ce ne fonctionne pas que je coche Sub ou Fonction.
En fait je ne sais pas comment insérer ce code.
J'espère que tu vas pouvoir m'aider encore une fois.
Merci beaucoup
Marsh Posté le 26-03-2006 à 08:55:43
Bonjour,
Le code de PGreg fonctionne parfaitement bien. Il faut le placer sur la page de code ThisWorkbook et il sera déclanché à chaque nouvelle sélection de cellule. Si on souhaite que l'évenement soit déclanché à chaque sélection de cellule de la colonne 2, on peut écrire :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) |
Bon courage
Epéna
Marsh Posté le 26-03-2006 à 16:29:01
Merci beaucoup pour les informations. C'est que je ne savais pas où placer ce code.
Encore une fois merci et bonne journée
Marsh Posté le 27-03-2006 à 20:43:54
Bonjour Epena
Le code fonctionne à merveille et je l'ai adapté dans certains de mes autres modules. J'apprends en construisant un prog de gestion clé-en-main.
Oui le code fonctionne bien sauf que si je tape une lettre au lieu d'un chiffre, "l'Erreur d'Exécution 13" s'affiche naturellement. J'ai utilisé la Validation en lui signifiant que seuls les nombres sont acceptés. Mais ça ne fonctionne pas et j'ai consulté l'aide de Excel mais là ouf les explications données dépassaient ma compréhension.
Dans un autre module la Validation s'effectue très bien mais pas ici et quand il affiche le message d'erreur je vais voir dans Débogage mais ça ne m'aide pas plus. Si ça continue c'est mon cerveau qui va Bugger :-)
Si tu peux m'aider j'apprécierais.
Merci
Marsh Posté le 27-03-2006 à 22:30:56
Bonsoir,
Je pense que le format de la cellule est un nombre. On additionne pas un nombre et une chaine(string) sinon on utilise l'opérateur de concaténation &. Dans ce cas on peut écrire :
newvalue = InputBox("Entrer une nouvelle valeur : " ) |
ou alors
recommence: |
Bon courage
Epéna
Marsh Posté le 27-03-2006 à 23:02:51
oui effectivement le format de la cellule est un nombre. Un super de gros Merci pour ton aide. Je vérifie le tout.
"On additionne pas un nombre et une chaine(string) " voilà une autre information qui s'additionne à mes connaissances :-)
Merci et bonne soirée
Marsh Posté le 24-03-2006 à 23:07:44
Bonjour; j'ai un module Facturation et un module Inventaire. Je vais simplifier le tout.
Dans Inventaire, chaque item a sa propre ligne. Ex: item 1001-->a2:F2, item 1002-->b2:F2 etc...
A2=Inventaire en stock...B2 Inventaire ajouté par l'usager (entrée de stock). Puis C2 = inventaire total à jour.
Si en A2 j'ai qté 10 et en B2 ajoute qté 5, C2 sera Total 15...
Le problème: si j'entre une nouvelle quantitée (nouveau stock) comment faire pour ajuster mon Inventaire Total C2.
Si j'ajoute Qté 2 en B2 .Donc logiquement mon inventaire total serait 17. (A2+B2)
Mais C2 va calculer A2 (qté 10)+B2 (qté 2) ce qui donnerait un inventaire total de 12 et c'est faux.
Quelqu'un a-t-il une solution car j'ai tout essayé mais rien ne fonctionne
Merci à tous et surtout à celui qui résoudra mon problème :-)