Cellule avec additon et soustraction

Bonjour à tous,

je cherche a savoir : dans une cellule excel est-ce que nous pouvons avoir une formule et une entrée de données ensemeble. Je m'explique j'ai 2 colonnes une de stock l'autre de ajustement, je veus etre capable que dans mon stock la quantité descende et ou monte selon l'ajustement que je vais entrer.

Merci a qui peut m'aider cela va etre très appécié

Nathalie

Bonjour

Oui, avec une macro.

Dans quelles colonne se trouvent STOCK et AJUSTEMENT ?

Quelle est la 1ère ligne concernée ?

Amicalement

Nad

Bonjour,

Le stock se trouve dans h4 et l'ajustement dans i4 donc dans le h4 le stock peut changer selon ajout ou la suppression de ajustement.

Merci

Nathalie

Re

Qu'entends-tu par

naphy a écrit :

selon ajout ou la suppression de ajustement

Je vois les choses comme ceci :

Stock = 100

Ajustement = 2

Stock devient = 102 et Ajustement est effacé

Stock = 50

Ajustement = -5

Stock devient = 45 et Ajustement est effacé

Tu confirmes ?

Nad

Bonjour Nad

Oui c'est bien cela tu as bien compris

Merci

Nathalie

-- 11 Fév 2011, 13:18 --

Bonjour Nad,

Mais je peux avoir un ajout au lieu de negatif

exemple

Stock = 100

Ajustement = +2

Stock devient = 102 et Ajustement est effacé

Il faut que je sois capable de soustraire et ou additionner.

Edit de Nad : il s'agissait d'une erreur de ma part - Bien sûr que l'on peut ajouter

Merci

Nathalie

Re

Teste ce fichier (Macro dans Feuil1 + Module)

158naphy.zip (13.93 Ko)

Amicalement

Nad

Bonjour Nad

Voici ce que cela me fait quand j'entre un 5 dans l'ajustement

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("I4:I100")) Is Nothing Then 'adapter le 100 à la dernière cellule

Call Stock

End If

End Sub

Espace pile insuffisante error 28

Merci

Nathalie

Re

Je n'ai pas eu le problème quand j'ai fait les tests, mais, effectivement, en ré-ouvrant le fichier j'ai ce message.

En attendant que quelqu'un m'explique pourquoi c'est cette ligne qui donne cette erreur :

Range("I" & lg).ClearContents

Modifie le code du module en l'enlevant - L'ajustement ne sera pas effacé.

Sub Stock()
Dim lg As Integer, col As Integer
lg = ActiveCell.Row
Range("H" & lg).Value = Range("H" & lg).Value + Range("I" & lg).Value
End Sub

Nad

Merci j'essai en attendant.

Merci

Nathalie

-- 11 Fév 2011, 14:21 --

Bonjour Nad,

Je ne suis pas tellement bonne avec les macro mais pas de probleme pour enlever la ligne. Mais quand je me dans la cellule ajustement un chiifre genre 6 et bien cela ne s'additonne pas dans les stock

Merci

Nathalie

Bonsoir à tous,

Nad, le problème c'est qu'en effaçant Target, tu boucle sans fin

en haut, déclaration :

Public Flag As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If Flag = True Then Exit Sub

'adapter le 100 à la dernière cellule
    If Not Application.Intersect(Target, Range("I4:I100")) Is Nothing Then
        Dim lg As Integer, col As Integer
        lg = Target.Row
        Range("H" & lg) = Range("H" & lg) + Range("I" & lg)

        Flag = True
        Range("I" & lg).ClearContents
        Flag = False
    End If
End Sub

On aurait pu aussi écrire en conservant ta macro

Sub Stock()
Dim lg As Integer, col As Integer
    lg = ActiveCell.Row

    Range("H" & lg).Value = Range("H" & lg).Value + Range("I" & lg).Value
    Application.EnableEvents = False
    Range("I" & lg).ClearContents
    Application.EnableEvents = True
End Sub

Amicalement

Claude

Merci beaucoup Claude - C'est la 1ère fois que j'avais ce problème ; maintenant, je saurai quoi faire.

Voici le fichier avec le bon code :

180naphy.zip (13.86 Ko)

Amicalement

Nad

Bonjour Claude

Là moi ca ne fonctionne pas je copie le code et dans mon fichier si j'ai en stock 50 et j'ajuste de 5 ca change rien dans mon stock?

Quoi faire?

Merci

Nathalie

Bonsoir,

Tu n'as pas dû copier où il fallait, ou les macros ne sont pas activées ?

ou si structure différente, mal adaptée

Claude

Bonjour

J'ai activé les macros sur mon ordinateur mais pour la faire marcher je doit me mettre dans la case et et exécuter la macro et je ne comprends pas pourquoi.

Merci

Nathalie

Bonjour

Je voudrais bien t'aider mais comme tu t'adresses directement à Claude ...

naphy a écrit :

Bonjour Claude

Là moi ca ne fonctionne pas je copie le code et dans mon fichier si j'ai en stock 50 et j'ajuste de 5 ca change rien dans mon stock?

Quoi faire?

Merci

Nathalie

Nad (pas susceptible - quoi que ...)

Bonjour

Désolée si j'ai offencé un de vous. Pour moi la seule chose que je désire c'est faire fonctionner mon projet.

Alors je vais chercher.

Merci beaucoup

Nathalie

Bonsoir,

Peux-tu envoyer ton fichier, qu'on voit ce qui ne va pas ?

Salut Nad

Amicalement

Claude

Bonjour Claude

Voici le fichier.

Merci

Nathalie

65naphy.zip (13.87 Ko)

Bonjour

Chez moi, le code de Claude fonctionne , je n'ai aucun problème avec ce fichier

Cordialement

Bonjour,

Ton fichier fonctionne tel-quel

quoi qu'il en soit, remplace-le par celui-ci,

je préfère utiliser la variable Flag

dans le VBE de la feuille

Option Explicit
Public Flag As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DerLg%, Lg%
If Flag = True Then Exit Sub
    DerLg = Range("h65536").End(xlUp).Row

   If Not Application.Intersect(Target, Range("i4:i" & DerLg)) Is Nothing Then
        Lg = Target.Row
        Range("h" & Lg) = Range("h" & Lg) + Range("i" & Lg)

        Flag = True
        Range("i" & Lg).ClearContents
    End If
        Flag = False
End Sub

ici, il n'y a plus de module

édit: tu dois écrire dans la colonne "i" où le stock est renseigné

Amicalement

Claude

66copie-de-naphy.zip (10.57 Ko)
Rechercher des sujets similaires à "additon soustraction"