Macro pour soustraction dans un tableau Excel VBA

Bonjour à tous,

J’espère que vous allez bien,

Dans mon fichier en pièce jointe, j'ai une feuille nommée "Feuil1" qui permet de lancer un petit formulaire et dans la feuille nommée "Liste Médicaments", j'ai une liste de médicaments avec les PRIX, le STOCK INITIAL et le STOCK FINAL.

J'aimerai que lorsque je choisi un médicament dans mon formulaire (par exemple l'Aspirine) et que je mets une quantité (par exemple 5), en cliquant sur le bouton VALIDER, j'aimerai que dans la colonne STOCK FINAL de la feuille nommée "Liste Médicaments», au niveau de l'Aspirine (ligne 7), le STOCK FINAL se calcul automatiquement et devienne égale à 6 qui est le calcul du STOCK INITIAL (11) – la QUANTITÉ saisie dans le formulaire (5), donc 11 - 5 = 6

Toutes mes tentatives ont été vaine jusqu’à présent, raison pour laquelle j’en appelle à votre aide.

NB : j’aimerai avoir une macro avec une boucle car « Liste Médicaments » est susceptible d’évoluer.

« AFEH » ; « VALKY » et « SYLFO » m’ont déjà aidé dans le passé.
Pourriez-vous me donner une piste s’il vous plait ?

Dans l’attente,

Cordialement

quantite

Bonjour

Ci joint ma solution

un textbox etant du texte convertir quantité en entier cint(quantité) et les prix en double cdbl(me.prix)

Si 1ere sortie =stock initial moins quantité sinon stock final - quantite

A+ François

Bonjour Fanfan38.

Merci pour ton retour si rapide.

Je teste ta solution et je te reviens très vite.

Cordialement

Fanfan38, peux-tu m'expliquer cette partie de ton code s'il te plait ?

NB : si quelqu'un d'autre peut aussi me l'expliquer, ça me ferait plaisir

  With [tableauclients2]
    If .Item(Me.ComboBoxTest.ListIndex + 1, 4) = "" Then
      .Item(Me.ComboBoxTest.ListIndex + 1, 4) = .Item(Me.ComboBoxTest.ListIndex + 1, 3) - CInt(Me.Quatité)
    Else
       .Item(Me.ComboBoxTest.ListIndex + 1, 4) = .Item(Me.ComboBoxTest.ListIndex + 1, 4) - CInt(Me.Quatité)
    End If
  End With

Dans l'attente

Donc

avec le tableau structuré "tableauclients2"

si l'enregistrement ligne=au choix de la combobox+1 et la 4eme colonne est vide (soit le stock final)

le stock final= stock initial+ quantité

sinon le stock final=le stock final+la quantité

A+ François

Merci fanfan38,

J'ai voulu actualisé le stock final de plusieurs médicaments en même temps et pour cela, j'ai légèrement modifié le formulaire (voir capture d'écran) :

Mais le soucis c'est que :

* Quand j'entre les 2 médicaments au choix et que je clique sur le bouton VALIDER, tout est OK.

* Mais quand je rentre 1 médicament, au lieu de 2 et que je clique sur le bouton VALIDER, j'ai un message d'erreur (voir capture d'écran).

Pouvez-vous m'aider à résoudre cette erreur s'il vous plait ?

Dans l'attente,

Cordialement

quantite2

Ci joint ma solution

A+ François

Rebonjour Fanfan38.

Merci pour ton retour si rapide une fois de plus.

Je teste ta solution et je te reviens très vite.

J'aurai aussi besoin d'un autre coup de main : c'est la suite logique de cette application.

A très bientôt,

Cordialement

Rechercher des sujets similaires à "macro soustraction tableau vba"