Difference entre cellule.

Résolu
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013 - 24 mars 2008 à 14:20
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013 - 26 mars 2008 à 10:45
bonjour,

voilà ma question,

j'ai dans une colonne (colonne A) d'une feuille excel une série de chiffres.

lorsque je clique sur un bouton de mon formulaire, il s'ajoute une unité (+1) dans les cellules adjacentes (colonne B) à ma première colonne.
je voudrais qu'en meme temps que s'affiche cette unité, celle-ci soit déduite de ma série de chiffre de ma colonne A.

Exemple:

colonne A         Colonne B
10
15
15
20

lorsque je clique sur le bouton de mon formulaire, j'obtiens (pour le moment):

colonne A         Colonne B
10                     1
15                     1
15                     1
15                     1

et je voudrais obtenir:

Colonne A      Colonne B
9                     1
14                   1
14                   1
14                   1

j'ai essayé avec la méthode 'range', mais le problème, c'est qu'il part avec ma colonne A vide...

merci pour l'aide

5 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
26 mars 2008 à 09:58
Il te suffit de changer le 1 par la quantité à ajouter/soustraire
range("B" & ligne ).Value = range("B" & ligne ).Value + Quantité  'vente
range("A" & ligne ).Value = range("A" & ligne ).Value - Quantité  'réduction d'inventaire

Si ça te cause une erreur, c'est que la variable "ligne" n'est probablement pas définie dans ton programme. À toi de modifier selon tes besoins. Comment retraces-tu le produit dans ta liste ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
3
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
26 mars 2008 à 10:45
Salut Mpi,

Je viens de trouver (je suis très très bête!!!) j'y ai pensé quand tu m'as demande le façon dont je tracé les articles dans ma liste... suffit de faire la meme chose mais en soustrayant plutot qu'en additionnant!!! (suis très bête je sais!)


voilà ce que j'avais pour ajouter chaque article de ma listbox dans ma feuille excel



Private Sub ValiderVente_Click()

For k = 0 To ListeVente.ListCount - 1
Set Recherche = Sheets("Stock").Columns("c").Find(ListeVente.List(k))
Sheets("Stock").Range("g" & Recherche.Row) = Sheets("Stock").Range("g" & Recherche.Row) + 1
Next k






et voilà ce que j'ai fait:


Private Sub ValiderVente_Click()

For k = 0 To ListeVente.ListCount - 1
Set Recherche = Sheets("Stock").Columns("c").Find(ListeVente.List(k))
Sheets("Stock").Range("g" & Recherche.Row) = Sheets("Stock").Range("g" & Recherche.Row) + 1
Sheets("Stock").Range("f" & Recherche.Row) = Sheets("Stock").Range("f" & Recherche.Row) - 1
Next k

 
et ca fonctionne!
encore merci!!!
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
24 mars 2008 à 14:49
Salut,

et un truc comme ca cela devrait marcher ?

range("A" & ligne ).Value = range("A" & ligne ).Value - range("B" & ligne ).Value

si cela ne marche pas c'est que tes valeurs doivent etre au format text. non ?

A+
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 mars 2008 à 21:59
Dans la même ordre d'idée que BigFish (salut), si tu dois soustraire la valeur 1, il te suffit de changer un peu
range("B" & ligne ).Value = range("B" & ligne ).Value + 1  'vente d'une unité
range("A" & ligne ).Value = range("A" & ligne ).Value - 1  'réduction d'inventaire

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
26 mars 2008 à 09:48
Salut MPi, Bigfish,

j'ai essayé la petite ligne de code donnée par bigfish, mais ca plante avec le message d'erreur suivant (et il surligne toute la ligne donnée par bigfish)
'Erreur d'execution 1004: la méthode'Range' de l'objet '_Global' a échoué

-> Mpi, ce n'est pas forcément une seule unité à la fois...

je vais essayer d'expliquer plus clairement! (pas facile!)

j'ai donc:
une feuille excel "stock" avec deux colonnes:
   - une colonne avec mes quantités initiales de mon stock
   - une colonne dans laquelle viennent s'additionner les quantités vendues.
un formulaire avec une listbox, dans laquelle l'utilisateur vient charger les articles vendus (il peut donc y avoir dans la liste plusieurs fois le meme article). et un boutton avec lequel il valide la vente. c'est a dire que le bouton vide la litbox, transfère son contenu dans une feuille excel (ou je peux donc voir le détail de chaque vente) et totalise chaque quantité d'article vendu et les "colle" dans ma feuille excel "stock" (colonne des quantités vendues)
Je souhaiterais deduire ces quantité de mon stock initial.

Exemple:

Situation initiale:
                 Stock Initial  QuantitéVendue
colonneA    ColonneB         ColonneC
Article1            50            
Article2            50
Article3            50
...

L'utilisateur clique sur le bouton pour valider la premiere vente de son premier client:

                 Stock Initial  QuantitéVendue
colonneA    ColonneB         ColonneC
Article1            47                   3           
Article2            50                     
Article3            49                    1
...

ensuite pour la seconde vente (et ainsi de suite)

                 Stock Initial  QuantitéVendue
colonneA    ColonneB         ColonneC
Article1            45                  5     (il a vendu 2 unités pour la vente 2)      
Article2            40                 10 
Article3            46                 4      (il a vendu 3 unités pour la vente 2)
...

Comme vous le voyez donc, je souhaiterais additionner les quantités vendues (et ça, ça fonctionne déjà!) et dans le meme temps, déduire du stock initial la dernière quantité vendue (celle que l'on valide au moment ou l'on click)

j'espere avoir été plus clair... (pas sur!)

Encore merci pour votre aide!
0
Rejoignez-nous