Recherche d'une donnée pour incrémentation

Bonsoir à tous et merci d'avance pour votre temps et votre aide !

J'ai du mal à avancer un code pour le travail.

J'ai 2 feuilles :

  • une avec une base de données (article, prix, stock)
y23b
  • une autre avec un listing des commandes passées et une macro pour ajouter des entrées ou sorties d'article
djeb

J'ai réussi à coder en VBA la partie entrée et sortie d'articles en incrémentant une nouvelle ligne par mouvement d'article.

Je voudrai maintenant pouvoir, à chaque entrée ou sortie d'un article, incrémenter (+ ou - en fonction de l'opération) le stock de l'article concerné dans ma feuille de stock.

Je connais la formule recherche dans excel mais je n'ai pas la référence sous VBA et peine à imaginer un code pour incrémenter les valeurs...

Je vous joins l'excel en question (modifié pour le partage) si jamais.

Merci d'avoir pris le temps de me lire !

Auré

Je voudrai maintenant pouvoir, à chaque entrée ou sortie d'un article, incrémenter (+ ou - en fonction de l'opération) le stock de l'article concerné dans ma feuille de stock.

est ce que cette nouvelle action doit s'exécuter sur le bouton "Ajouter" ?

Bonjour Auré,

voici un exemple avec OptionButton,

Bonjour Auré,

voici un exemple avec OptionButton,

Fuentouz (Auré)-Excel pour export.xlsm

Merci beaucoup pour votre participation ! En effet l'incrémentation peut se faire sur le bouton ajouter.

J'ai testé votre code et cela est parfait ! Merci beaucoup !

Bonjour Auré,

voici un exemple avec OptionButton,

Fuentouz (Auré)-Excel pour export.xlsm

Hello !

J'ai eu à réaliser une sortie dans mon excel aujourd'hui. Il s'avère que les soustractions ne sont pas prises en compte dans la macro.. J'ai pourtant bien compris votre raisonnement quand vous multipliez la variable "txt_quantité" par -1 afin de créer un nombre négatif, pour ensuite l'additionner à la valeur de stock existante, cependant, il semble que le code considère cette valeur en 0. Ce qui fait que la valeur ne change pas...

re,

j'ai fais plusieurs test et j'obtient toujours le bon résultat sur la feuille stock.

est ce que fais le test sur le fichier transmit ?

re,

j'ai fais plusieurs test et j'obtient toujours le bon résultat sur la feuille stock.

est ce que fais le test sur le fichier transmit ?

Je viens de comprendre d'où venait mon erreur ! En fait j'avais pour habitude de sélectionner l'option "entrée" ou "sortie" avant de renseigner la quantité ce qui faisait que la négation n'était pas prise en compte (-1*(case vide=0) donnait 0 !)

e viens de comprendre d'où venait mon erreur ! En fait j'avais pour habitude de sélectionner l'option "entrée" ou "sortie" avant de renseigner la quantité ce qui faisait que la négation n'était pas prise en compte (-1*(case vide=0) donnait 0 !)

voici une modification pour éviter ce problème.

Private Sub OptionButton1_Click()
'Entrée
If txt_quantité = "" Then OptionButton1 = False: Exit Sub
    If Me.OptionButton1 Then
        qt = Val(txt_quantité) * 1
        txt_quantité.Value = qt
    End If
End Sub

Private Sub OptionButton2_Click()
'Sortie
If txt_quantité = "" Then OptionButton2 = False: Exit Sub
    If Me.OptionButton2 Then
        qt = Val(txt_quantité) * -1
        txt_quantité.Value = qt
    End If
End Sub

voici une modification pour éviter ce problème.

Private Sub OptionButton1_Click()
'Entrée
If txt_quantité = "" Then OptionButton1 = False: Exit Sub
    If Me.OptionButton1 Then
        qt = Val(txt_quantité) * 1
        txt_quantité.Value = qt
    End If
End Sub

Private Sub OptionButton2_Click()
'Sortie
If txt_quantité = "" Then OptionButton2 = False: Exit Sub
    If Me.OptionButton2 Then
        qt = Val(txt_quantité) * -1
        txt_quantité.Value = qt
    End If
End Sub

[/quote]

Au top ça, merci !

Petite question pour comprendre, pourquoi rajouter ce ": exit sub" ?

Merci

Petite question pour comprendre, pourquoi rajouter ce ": exit sub" ?

parce que si le TextBox = "" il n'y a rien à faire, c'est à dire qu'il ne faut pas exécuter le restant de la macro.

Super merci pour tout !

re,

j'ai fais une nouvelle modification sur cette macro,

au cas ou on a fait un click sur Sortie et qu'on change d'idée et fait un click sur Entrée

Private Sub OptionButton1_Click()
'Entrée
If txt_quantité = "" Then OptionButton1 = False: Exit Sub

If Me.OptionButton1 Then
    qt = Abs(Val(txt_quantité))
    txt_quantité.Value = qt
End If
End Sub

Au top ! Merci encore pour l'aide et les explications !

Rechercher des sujets similaires à "recherche donnee incrementation"