remiIPI
Messages postés15Date d'inscriptionjeudi 17 novembre 2011StatutMembreDernière intervention24 novembre 2011
-
17 nov. 2011 à 09:31
remiIPI
Messages postés15Date d'inscriptionjeudi 17 novembre 2011StatutMembreDernière intervention24 novembre 2011
-
17 nov. 2011 à 10:01
Bonjour a tous
Voila je vous expose mon problème
Je suis en cours de développement d une base de donnée reprenant et l'incrémentation et la décrémentation d'un stock.
J'ai trouver un code sur un précédant post mais je n 'arrive pas à l adapter a ma situation je vous mais le code pour mieux comprendre :
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERROR
Dim Message As String, Valeur As Long
With Target
Select Case .Address(False, False)
Case Is = "A1", "C1"
GoTo SUITE
Case Else
Exit Sub
End Select
SUITE:
Application.EnableEvents = False
If .Address(False, False) = "A1" Then
Valeur = .Value
Message = "Valider la saisie de " & Valeur & " en " & .Address(False, False)
If MsgBox(Message, vbYesNo + vbDefaultButton2) = vbNo Then GoTo FIN
Range("B1").Value = Range("B1").Value + Valeur
ElseIf .Address(False, False) = "C1" Then
Valeur = .Value
Message = "Valider la saisie de " & Valeur & " en " & .Address(False, False)
If MsgBox(Message, vbYesNo + vbDefaultButton2) = vbNo Then GoTo FIN
With Range("B1")
If .Value < Valeur Then
Message = "Attention : stock négatif"
If MsgBox(Message, vbYesNo + vbDefaultButton2) = vbNo Then GoTo FIN
End If
.Value = .Value - Valeur
End With
End If
FIN: .Value = Empty
End With
Application.EnableEvents = True
Exit Sub
ERROR: MsgBox Err.Description: Resume FIN
End Sub
Ce code marche très bien mais uniquement pour les cellule A1,B1, C1 et j aimerai le faire fonctionner de C2 a H70 (A1 : la ou son saisie les nouvelles entrées) et additionné de (J2 a O70) (case B2 du code) et donc de Q2 a V70 (case B3 du code)
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 17 nov. 2011 à 09:54
Bonjour,
Tu développes donc sous VBA (le VBA de Excel et non sous VB6) !
Nous te serions reconnaissant d'apporter dorénavant le plus grand soin au choix de la section dans laquelle tu ouvres une discussion.
L'indentation et la mise en forme du code ici présenté ne sont pas un luxe, mais une nécessité. Tu as pour ce faire des balises CODE, à utili_ser
Pour ton problème, intéresse-toi à la méthode Intersect (ouvre ton aide VBA sur ce mot ==>> lis et lis l'exemple qui vient avec).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient