inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

carlitostyle

XLDnaute Junior
Bonjour a toute la communauté.:)
Je suis novice dans le vba mais j'éssaie de m'y pencher de plus en plus. Aujourd'hui j'ai un probléme que je n'arrive pas a résoudre avec les autres sujet du forum.

Je souhaite ajouter un bouton à la fin de chaque ligne de la feuille "ficheresponsableachat". Ce bouton va ouvrir un userform et ce dernier aura des champ pre rempli en fonction de la ligne en question.
Tel que le nom, la quantité, et le produit qui lui sera prit dans la feuille " etatdustock". Pour le moment je faisai ça manuelement et tout fonctionné mais cette methode permettrai de ne pas avoir a tout remplir les champs.


J'éspère que vous pourrez m'aider cela fais depuis deux jour que je plenche la dessus et cela m'enleverai une épine du pied. Merci beaucoup. et bonne journée
 

Pièces jointes

  • Processus achatcarlitostyle.xls
    171.5 KB · Affichages: 126
  • Processus achatcarlitostyle.xls
    171.5 KB · Affichages: 146
  • Processus achatcarlitostyle.xls
    171.5 KB · Affichages: 143

Robert

XLDnaute Barbatruc
Repose en paix
Re : inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

Bonjour le fil, bonjour le forum,

Le problème est que tu veux tout faire dans le même UserForm (UserForm1). Si le double-clic ouvre l'UserForm, la listbox llselectionarticle n'a plus lieu d'être. Mais comme tu utilise la variable VarSelectedArticle au clic dans cette listbox il faut impérativement sélectionner l'article dedans. Du coup je comprends plus à quoi sert le double-clic/mise à jour. Explique-moi exactement et de manière détaillé ce que tu voudrais et j'essaierai de trouver une solution...
 

carlitostyle

XLDnaute Junior
Re : inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

Bonjour le fil, bonjour le forum,

Le problème est que tu veux tout faire dans le même UserForm (UserForm1). Si le double-clic ouvre l'UserForm, la listbox llselectionarticle n'a plus lieu d'être. Mais comme tu utilise la variable VarSelectedArticle au clic dans cette listbox il faut impérativement sélectionner l'article dedans. Du coup je comprends plus à quoi sert le double-clic/mise à jour. Explique-moi exactement et de manière détaillé ce que tu voudrais et j'essaierai de trouver une solution...



Re, je vais essayer d'être le plus clair possible et surtout merci de prendre du temps pour moi parce que lundi je dois présenter ce fichier et c'est pas gagné.

En effet avec l'userform je voudrai dans l'idéal tout faire.

Le concept est que l'userform reprenne les données de la ligne dans la feuille "ficheresponsableachat" ( lorsqu'on double click sur cette ligne ).

Il serai bien aussi de lier en fonction de la réference qu'il a souhaité le choix dans la listbox ( données prise dans "etatdustock".

ainsi la personne qui fera double click sur la ligne pour traiter la demande aura juste a verifier.
Ensuite deux cas.

cas 1 - j'ai ce que me demande le client en stock et là je fais ok et la demande a été prise en compte (la ligne traitee est coupée de " ficheresponsableachat" pour être collée dans "demandetraitee" ).

- En même temps la reference en question voie son stock diminuer dans "etatdustock"

cas 2 - Si j'ai qu'une partie dans mon stock alors on prend ce qu'on a dans le stock et on commande l'autre partie ( + stock minimum dans la feuille "etatdustock" ) .

'exemple: le stock minimum de chaussure est de 10, on me demande 50 chaussures et j'en ai seulement 30 dans mon stock alors je dis que je retire 30 du stock. Et je dis a mr stock ( le nom ) d'en commander 30 (pour garder une reserve de stock de 10 pour les chaussure ).
Puis je retraiterai la commande de 20 par derriére avec une nouvelle ligne( cas numéros 1 ).

cas 3 - je n'ai pas la reference en stock. Donc là je dis a Mr stock de commander intégralement la commande.( une ligne est créer dans "demandetraitee "avec pour nom : Mr stock. une fois que cette ligne est crée, il y aura automatiquement une augmentation de mon stock dans feuille " etatdustock"

Puis je retrairetai cette commande ( on est dans la situation 1 ).


Pense tu trouver une solution ? merci encore Robert ! tu es mon espoir dans ce VBA
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

Bonjour le fril, bonjour le forum,

Voilà comment je verrais les choses... :
 

Pièces jointes

  • CarlitoStyle_v03.xls
    203 KB · Affichages: 86

carlitostyle

XLDnaute Junior
Re : inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

bonjour Robert et bonjours le forum.
Merci Robert de m'avoir envoyer cette version 3. cependant lorsque avec l'userform je traite la demande, il ne se passe rien dans la feuille etatdustock. pourtant je vois dans ton code que tu as mis -q. Et tu as mis +q quand on appuie sur le bouton commander.

Qu'est-ce que tu en pense ?

Encore merci pour cette V3 comme tu as bien expliqué les différentes étapes avec les '. Je comprend davantage le concept du Codage. cependant j'ai essayé de toucher tes codes mais toujours le probléme de l'acualisation dans "etatdustock".

EDIT : Finalement c'est bon, fallait changer q par llquantite. Voilà maintenant tout marche parfaitement. Merci encore Robert pour ton aide précieuse que tu m'as apporté.
Heuresement que des sites comme XLD existe, cela est une vraie aide " sur mesure ".

Bonne journée. A bientôt pour de nouvelles aventures :)
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

Bonjour CarlitoStyle, bonjour le forum,

Les contrôles comme TexBox, ComboBox, Label ou ListBox renvoient des valeurs de type String avec la propriété Value. C'est pourquoi, quand on effectue des calculs avec, il est préfèrable utiliser une variable qui converti la donnée renvoyée :
Code:
Dim q As Integer
If llquantite.Value = "" then
     q = 0
Else
     q = Cint(llquantite.Value)
End If
mais j'ai dû merdoyer dans les codes si ça plantait... L'essentiel est que tu aies trouvé une solution !
 

carlitostyle

XLDnaute Junior
Re : inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

Bonjour CarlitoStyle, bonjour le forum,

Les contrôles comme TexBox, ComboBox, Label ou ListBox renvoient des valeurs de type String avec la propriété Value. C'est pourquoi, quand on effectue des calculs avec, il est préfèrable utiliser une variable qui converti la donnée renvoyée :
Code:
Dim q As Integer
If llquantite.Value = "" then
     q = 0
Else
     q = Cint(llquantite.Value)
End If
mais j'ai dû merdoyer dans les codes si ça plantait... L'essentiel est que tu aies trouvé une solution !


Re Robert, je pensai que j'avais trouver une solution mais en fait non .. ça me met toujours blocage. Je te renvoi l'androit de ton code où ça plantait. Peut-être que tu trouvera une solution.


Code:
Private Sub llquantite_change() 'au changement de quantité
Dim c As Integer 'déclare la variable c (Chifre)
If llquantite = "" Then c = 0: GoTo suite 'si le lablel est vide, c vaut 0, va à l'étiquette suite
c = CInt(llquantite)
suite: 'étiquette
llprixtotal = Format(CDbl(llprix.Caption) * c, "#,##0.00")
If llstock.Caption > 0 Then ajouterarticleboutton.Visible = True
End Sub

Merci Robert :)
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

Bonjour CarlitoStyle, bonjour le forum,

Chez moi ça ne plante pas alors, pourrais-tu me décrire pas à pas ce que tu fais. Est-ce que tu double-cliques ? Si oui, quel est le stock ? Est-ce que tu utilises le bouton ? Si oui, que choisis-tu ?
Il faut que tu sois plus précis car sinon on va perdre un temps fou à chaque fois. L'idéal serait que tu me renvoies le fichier exactement comme tu l'as quand ça plante et que tu m'indiques la ligne exacte qui plante (pas tout le code).

Je veux bien revoir tous les codes mais ça demande du temps et tu disais qu'il te fallait ça pour hier. Du coup je me suis dépatouillé pour te proposer quelque chose vendredi dernier et tu n'y a jeter un œil qu'aujourd'hui...
Envoie-moi du concret et laisse-moi un peu de temps. Je te proposerai quelque chose qui fonctionne. À ma manière, certes, mais qui fonctionne...
 

carlitostyle

XLDnaute Junior
Re : inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

Bonjour CarlitoStyle, bonjour le forum,

Chez moi ça ne plante pas alors, pourrais-tu me décrire pas à pas ce que tu fais. Est-ce que tu double-cliques ? Si oui, quel est le stock ? Est-ce que tu utilises le bouton ? Si oui, que choisis-tu ?
Il faut que tu sois plus précis car sinon on va perdre un temps fou à chaque fois. L'idéal serait que tu me renvoies le fichier exactement comme tu l'as quand ça plante et que tu m'indiques la ligne exacte qui plante (pas tout le code).

Je veux bien revoir tous les codes mais ça demande du temps et tu disais qu'il te fallait ça pour hier. Du coup je me suis dépatouillé pour te proposer quelque chose vendredi dernier et tu n'y a jeter un œil qu'aujourd'hui...
Envoie-moi du concret et laisse-moi un peu de temps. Je te proposerai quelque chose qui fonctionne. À ma manière, certes, mais qui fonctionne...

Re Robert et tout le forum !

En effet c'étais effectivement pour hier mais, j'ai réussi a repousser jusqu'à Mercredi, parce que ce matin ça planté et jme voyai mal leur présenter ça..

Alors tout d'abord pour refaire le shemas précisément.

- une personne ouvre le fichier, elel tombe sur formulaireuserform, elle rempli l'userform. Ensuite elle click sur "faire ma demande d'achat" et C'est bon la ligne se crée (1)dans "ficheresponsableachat". Tout est OK :D

- Ensuite la responsableachat se connete et là elle va sur la feuille "ficheresonsableachat", elle voie la ligne qui vient d'étre créer(1). Ensuite en faisant double click sur une partie de la ligne qui est remplie ça ouvre l'userform pré rempli. Jusque ici OK. tout fonctionne ( je viens de reverifier).
Ensuite dés que la commande est traitée il faudrai que la ligne qui viens d'étre traité ( dans la feuille "ficheresponsableachat ) puisse se colorier pour qu'on reconnaisse qu'elle viens d'étre traiter.

Ainsi le TOP serai qu'a ce moment là dans l'userform1, nous puissions avoir 3 case a coché ( commande validé / commande refusé / ou commande validé mais pas encore en stock et là la responsable pourra inscrire une date de reception ). le but dans cette commande est de pouvoir aprés tracé grace aux noms les commande. Car aprés tu as bien pu voir que le but est de faire une interface de suivi ou en mettant son nom la personne puisse voir si sa commande a été "validé/ refusé / ou en attente / pas encore traité" et cela grace a son nom.

- Ensuite la ligne apparait dans "demandetraitée". Avec la mention ( validé / en attente / refusé / pas encore traitée ). A la limite je pense que les feuille accepté ou refusé son inutile. Parce qu'on pourra filtré la colonne statut.

Qu'est-ce que tu en penses ? Aprés si tu as d'autres idées. Je pense que cela permettrai de faire une plate forme simple pour formuler et gerer les achats. ( avec les stocks ).

Je t'envoi le fichier casi final.

Merci Robert, merci beaucoup.
 

Pièces jointes

  • Copie de Carlitostyle v3.1.xls
    169.5 KB · Affichages: 83

Robert

XLDnaute Barbatruc
Repose en paix
Re : inserer bouton chaque ligne avec userform qui pre rempli en fonction ligne

Bonjour CarlitoStyle, bonjour le forum,

En pièce jointe la version 4. Elle ne tient pas compte des dernières remarques de ton mail car je ne l'ai lu qu'après. Regarde et dis-moi ce que tu en penses...


 

Pièces jointes

  • CarlitoStyle_v04.xls
    235.5 KB · Affichages: 76

Discussions similaires

Statistiques des forums

Discussions
312 465
Messages
2 088 654
Membres
103 907
dernier inscrit
cosanostra93