Additionner click commandbutton vers textbox
Bonjour Ric,
Quand tu le fais avec la listbox2, suis d'accord avec toi
Cependant quand tu rappelle le client
la tu peux re supprimer l'article
Viens de refaire le test avec ton fichier de samedi
Je te le redonne pour que tu le constate
J'ai juste laissé un article
Comme tu pourras le constater quand tu appelle le client A
il y a
1 coca
-1 coca
Pour cela ok, j'ai juste supprimé un coca
Quand je le rappel le résultat est normal
Cependant, je peux encore supprimé un coca et c'est la le soucis (comme il n'y que 1 coca positif, normalement, je ne peux le supprimé qu'une fois)
J'espère m'être fais bien comprendre
En te remerciant
Bonjour,
Je viens de comprendre ...
Ce que j'ai fait > c'est gérer seulement le comportement des items dans les listbox via le bouton "Supprimer ligne" ...
Mais je n'ai pas touché le transfert de ces changements dans les différentes feuilles ...
Je m'en excuse > j'ai cru à tort que tu prendrais le relais à cette étape ...
Quel est ton besoin exact ? > Est-ce que tu veux que la feuille du client soit directement modifiée dès que l'on supprime un item dans la Listbox2 ??
Si c'est bien cela > est-ce que tu veux d'autres écritures ailleurs au moment de la suppression d'un item ?
Je demande > car en supprimant un item > si la feuille client est directement modifiée > comment fait-on pour reculer au cas d'une maladresse ?
Je suis désolé s'il faut m'indiquer avec moult détails les traitements désirés ...
Aussi, je ne comprends pas que tu puisses avoir des items en négatif dans la Listbox2 ...
ric
Bonjour Ric,
A mon avis le mieux, ça serais de laisser tous comme cela
Comme ça sur les feuilles clients ou table, on pourra vérifier les modification par rapport à ce qui es encodé
Ce qui serais bien, je crois
C'est juste interdire la suppression en plus
Quand je dis suppression en plus c'est par exemple:
si j'ai 2 coca et 2 stella
qu'on sache seulement supprimer 2 coca maximum et 2 stella maximum
si par exemple on veut supprimer plus, qu'il y ai un msgbox (interdiction de supprimé, nombre d'article plus disponible)
Quelque chose comme cela
Tu en penses quoi?
Merci
Bonjour,
Voici ce que je pense de ce bout où l'on édite la commande d'un client ou d'une table ...
- L'on choisit un client qui a déjà des items dans sa feuille ( items commandés et pas encore payés ) ...
- La liste des items apparaît dans la listbox2 et la listbox1 s'affiche en dessous ...
- l'on peut ajouter des items qui vont dans la listbox1 > l'on peut aussi supprimer des items de la listbox1 ...
- si l'on clique sur le bouton Commande > les items de la listbox1 sont ajoutés à la commande du client ...
- si l'on supprime des items de la listbox2 > le bouton Commande devrait changer pour Modifier > en cliquant sur Modifier > la feuille du client se met à jour ...
- il n'y a donc aucune raison pour que la listbox2 contienne des items en négatif > sinon ce n'est plus un client > c'est un fournisseur ...
C'est ma vision de la chose ...
Il est fort possible que je n'ai pas bien compris comment cela devrait fonctionner ...
ric
Bonjour Ric,
Vais essayer de t'expliquer correctement le soucis d'après ton dernier message.
Voici ce que je pense de ce bout où l'on édite la commande d'un client ou d'une table ...
- L'on choisit un client qui a déjà des items dans sa feuille ( items commandés et pas encore payés ) ...
Pas de soucis pour cela
- La liste des items apparaît dans la listbox2 et la listbox1 s'affiche en dessous ...
Pas de soucis pour cela
- l'on peut ajouter des items qui vont dans la listbox1 > l'on peut aussi supprimer des items de la listbox1 ...
Pas de soucis pour cela
- si l'on clique sur le bouton Commande > les items de la listbox1 sont ajoutés à la commande du client ...
Pas de soucis pour cela
C'est pour ce dernier point qu'il y a un soucis
- si l'on supprime des items de la listbox2 > le bouton Commande devrait changer pour Modifier > en cliquant sur Modifier > la feuille du client se met à jour ...
Vais m'expliquer par étape:
Dans le ficher ci-joint il y aura le client A avec dans sa feuille 1 coca déjà sauvegardé
Voila mon exemple:
Je m'aperçois que pour le client A, je me suis trompé et au lieu de un coca c'était un fanta
Donc j'ouvre mon client, résulta dans la listbox2
1 coca 10 10 Commande ......
Je rectifie mon erreur en supprimant coca et en rajoutant un fanta
Donc je fais
Dans listbox2, je sélectionne la ligne Coca et la supprime, après j'encode un fanta à l'aide du bouton fanta
Résultat dans la listbox2
la ligne coca disparait car il n'y en avais qu'un (si il en avait 2, il aurait resté 1 coca si cétait 3 coca, il en aurait resté 2 et ainsi de suite)
Résultat dans la listbox1
-1 coca 10 -10 Suppression .....
1 fanta 1,5 1,5 Commande ....
Après l'opération je valide avec le bouton commande
Donc au final, dans ma feuille client A, le résultat sera
| 10 1 | coca | 10,00 € | 10,00 € | Commande | 10-02-20 | 10:10:35 | A | Serveur 1 |
| -1 | coca | 10,00 € | -10,00 € | Suppression | 11-02-20 | 17:56:18 | A | Serveur 1 |
| 1 | fanta | 1,50 € | 1,50 € | Commande | 11-02-20 | 17:56:45 | A | Serveur 1 |
Pour cela, pas de soucis
Le problème viens maintenant
Quand je re ouvre mon client A
le résultat dans la listbox2 sera
1 coca 10 10 Commande .....
-1 coca 10 -10 Suppression .....
1 fanta 1,5 1,5 Commande .....
La Ok
Le soucis est que si je sélectionne la ligne 1coca, j'ai sais encore la supprimer et la en réalité c'est pas possible car il n'y a plus de coca à supprimer
Ce qu'il faudrais c'est qqchose qui compte le nombre de quantité du produit positif et interdire la suppression si ça le depasse
Exemple
si listbox2
1coca
La on peut supprimer un coca car la différence est 1
Si listbox2
1coca
-1 coca
La on peut pas supprimer un coca car la différence est 0
J'espère m'être bien fais comprendre sur le soucis du bouton supprimer
En te remerciant
Bonjour Ric,
J'espère que tu va bien ?
Je revenais vers toi pour voir si tu avais compris mon raisonnement sur le bouton supprimé.
En te remerciant
Bonjour,
Oui, je crois que cela va ...
Il faut que je cogite la chose afin de ne pas trop alourdir le traitement ...
Laisse-moi quelques jours > il faut quand même que je me présente au travail > il faut bien manger ...
ric
Bonjour,
Tracasse y a ps de soucis.
T'as de la change de travailler. Moi depuis le covid peu pas travailler pffff
Ca me manque
Et pas pret de recommencer pffff
Bonjour,
Un essai avec tes derniers critères ...
À tester en profondeur ...
ric
Bonjour Ric,
Viens de regarder et c'est SUPEEEEEEEEEEER
Vais le tester en profondeur mais c'est niquel
Un énorme merci
Je le teste plus sérieusement et reviens vers toi
Merciiiiiiiii
Bonjour Ric,
Après plusieurs manipulation, c'est parfais
Cependant, serait-il possible d'interdire la sélection de l'items dans la listbox si la quantité est négatif
J'espère me faire bien comprendre
En te remerciant
Re,
Concernant la listbox2 tous marche même ce que je t'avais demander par interdire suppression si quantité négatif
Voila ton code:
If Me.ListBox2.List(Me.ListBox2.ListIndex, 0) <= 0 Then
MsgBox " Il n'est pas possible de supprimer un produit " & Chr(10) & Chr(10) & " dont la quantité est négative !"
Exit Sub
End IfCe que j'aimerais bien c'est l'interdire aussi dans la listbox1
J'ai essayé avec ton code en remplaçant Listbox2 par Listbox1 mais je sais pas ou le placer
En te remerciant
Bonjour,
Est-ce que tu as testé ? > car la suppression d'un article > dans la listbox1 > dont le nombre est négatif est déjà bloquée ...
Par contre, il n'y a pas de message > contrairement à la listbox2 > pour ajouter le message ...
Au début de la macro "Supprimer_ligne_listbox_Click" > (environ à la 15e ligne) > remplace ...
Else
If Me.ListBox1.ListIndex <> -1 Then
If Me.ListBox1.List(Me.ListBox1.ListIndex, 0) <= 0 Then Exit Sub ' << remplacerPar ...
Else
If Me.ListBox1.ListIndex <> -1 Then
If Me.ListBox1.List(Me.ListBox1.ListIndex, 0) <= 0 Then ' << par ces 4 lignes
MsgBox " Il n'est pas possible de supprimer un produit " & Chr(10) & Chr(10) & " dont la quantité est négative !"
Exit Sub
End IfJe suggère aussi de remplacer ces 2 macros > afin de désélectionner l'éventuelle sélection dans une listbox lorsque l'on clique dans l'autre ...
Private Sub ListBox1_Click()
Me.ListBox2.ListIndex = -1 ' << ajout
Me.Supprimer_ligne_listbox.Caption = "Supprimer Ligne"
End Sub
Private Sub ListBox2_Click()
Me.ListBox1.ListIndex = -1 ' << ajout
Me.Supprimer_ligne_listbox.Caption = "Supprimer un article"
End SubA+
ric
Bonjour Ric,
Oui j'avais testé
Je crois que je me suis mal exprimé et j'en suis désolé
Dans la listbox1 c'est bien refusé et sans message
Le soucis c'est qu'il reste sélectionné
Il faudrait qu'il ne le sois pas, sinon on peut pas continué de supprimé
Je vais regarder le code que tu m'as envoyer
En te remerciant
Bonjour Ric,
Après avoir regarder ton code
Je m'aperçois comme d'habithude que c'est exelent et que tu as répondu à ma question sans que je dois me corriger.
Ma question était corrigé par ton code
Je suggère aussi de remplacer ces 2 macros > afin de désélectionner l'éventuelle sélection dans une listbox lorsque l'on clique dans l'autre ...
<b>Private</b> <b>Sub</b> ListBox1_Click()
<b>Me</b>.ListBox2.ListIndex = -1 ' << ajout
<b>Me</b>.Supprimer_ligne_listbox.Caption = "Supprimer Ligne"
<b>End</b> <b>Sub</b>
<b>Private</b> <b>Sub</b> ListBox2_Click()
<b>Me</b>.ListBox1.ListIndex = -1 ' << ajout
<b>Me</b>.Supprimer_ligne_listbox.Caption = "Supprimer un article"
<b>End</b> <b>Sub</b>Encore merci
Te souhaite un bon week-end