Base de donnée et userform

bonjour

une ame charitable pourrais t'elle regarder mon fichier

1) quand je clique sur entrer un nouveau lot cela me l'écris sur l'onglet DataBL cela fonctionne (le code et t'il corrctement ou peut t'il être raccourci ??

2 je cherche que si je clique sur "modifier un lot" pouvoir aller dans la base de données chercher les produits puis en sélectionner les lot correspondant aux produits (j'espère m'être correctement expliquer)

de plus j'aimerais que l'onglet DataBL soit masquer continuellement mais quand il et masquer je ne peut plus ecrire sur la base de donnée en passant par entrer un nouveau lot

amicalement

34tracabilite11.xlsm (56.11 Ko)

Bonjour

Tu écris

je cherche que si je clique sur "modifier un lot" pouvoir aller dans la base de données chercher les produits puis en sélectionner les lot correspondant aux produits

C’est ce que fait désormais la macro ci-jointe. Tu ne dis pas ce que doit faire la macro quand tu cliques sur le bouton Valider de la boite de dialogue. Ce sera donc à toi d’écrire le code.

Tu écris encore :

de plus j'aimerais que l'onglet DataBL soit masquer continuellement mais quand il et masquer je ne peut plus ecrire sur la base de donnée en passant par entrer un nouveau lot

Pour cela, chaque fois que la macro a fini son travail, il faut qu'auparavant elle ait eu comme instruction de masquer cette feuille :

Sheets("DataBL").Visible = False

Je te l’ai mis dans les instructions des boutons Valider des Userforms « archives » et « modif »

Mais pour afficher la feuille et y écrire, pourquoi ne mets-tu pas un bouton sur ta feuille « Modèle » où tu en as d’autres ? Je te l’ai fait mais si tu n’en veux pas, supprime-le.

Tu peux aussi demander à la macro d'afficher la feuille en mettant la même instruction qu'indiquée plus haut, mais avec "true" dans les userform_initialize()

Bye !

45tracabilite11.xlsm (60.58 Ko)

re

merci gmb d'avoir pris le temps de regarder mon fichier

je vais bosser dessus celui que tu m'a envoyer pour aller de l'avant cela fonctionne comme je le voulais je ne suis pas fort en vba (voir nul de nul) mais je vois bcp de possibilités mieux que avec un fichier ordinaire excel j'aurais certainement bcp de chose a demander mais petit a petit je cherche a comprendre les actions faite par les macros

le seul hic est que quand je suis sur l'onglet modèle et que je veux rentrer un nouveau lot il se met bel et bien dans l'onglet DataBl mais sur la feuille modèle cela insère automatiquement une ligne si c'est la feuille modèle qui et en fond

amicalement

28tracabilite14.xlsm (48.53 Ko)

Bonjour

Ok.

En repartant du fichier que je t’ai retourné, j’ai modifié ta macro pour supprimer cet effet indésirable dû au fait que la feuille « DataBL » est désormais masquée. Il suffit de l’ouvrir avant d’afficher la boite de dialogue « Cliquer pour avoir un nouveau lot :

Private Sub UserForm_Initialize()
    [color=#FF0080]Sheets("DataBL").Visible = True[/color]
    Dim i&, a&, x&, bb, fin&, cel As Range

Du coup, j’ai fait pareil pour la boite de dialogue qui s’ouvre quand on a cliqué sur « Cliquez pour modifier un lot »

Dans la commande du bouton « Valider la ligne » de la boite de dialogue « Archives », j’ai précicé à la macro qu’elle devait ajouter une ligne non pas à la feuille active mais à la feuille « DataBL », sans pour autant activer celle feuille : ce n’est pas nécessaire :

Private Sub Bt1_Click()    ' Bouton Valider une ligne
[color=#FF0080]Sheets("DataBL").Rows("2:2").Insert T1 = xlDown, CopyOrigin:=xlFormatFromLeftOrAbove[/color]
     Unload archives

A te relire

Bye !

46tracabilite-v2.xlsm (61.67 Ko)

merci pour ta réponse

je me pose ce week end et je revient

amicalement

re

quand je clique sur modifier un lot cela me rappelle bien le lot puis je clique sur le lot tout et ok tout s'affiche correctement

mais si je veux rectifier la ligne changer un des textbox cela me ré injecte une ligne mais la ligne rappeler ne se modifie pas "snif"

amicalement

Bonjour

Tu écris :

si je veux rectifier la ligne changer un des textbox cela me ré injecte une ligne

Curieux ! J’aimerais bien savoir comment tu fais pour avoir ce résultat.

En principe, il ne devrait rien se passer car il n’y a rien dans le code du bouton Valider de l’userform « modif ».

C’est ce que je t’ai signalé dans un précédant message :

gmb a écrit :

Tu ne dis pas ce que doit faire la macro quand tu cliques sur le bouton Valider de la boite de dialogue. Ce sera donc à toi d’écrire le code.

Il y a, à mon avis, 2 possibilités : Soit modifier la ligne correspondante de DataBL soit y ajouter une nouvelle ligne avec les modifications apportées dans la boite de dialogue.

Ton dernier message me laisse penser que c’est la première solution que tu souhaites. Si tu confirmes, je peux te le faire…mais dis-moi bien comment tu arrives à insérer une ligne vide.

A te lire

Bye !

re

dans le fichier joint je clique sur valider la ligne (j'y ai ajouter un code) mais attention comme j'ai dis précédemment je suis nul de chez nul je cherche a comprendre (sourire) mais ce n'est pas gagné

bien sur je vois que tu avais compris si je clique sur le bouton valider de "modifier un lot" je veux que les modifs soit apporter a la ligne et non pas en crée une autre

amicalement

18tracabilite-v2.xlsm (51.03 Ko)

Et voici la version 3, à tester.

Il y a encore des boutons sans code mais tu ne m’as pas dit à quoi ils doivent servir, ex : addition de poids.

A te lire

Bye !

59tracabilite-v3.xlsm (60.07 Ko)

re

je te remercie bcp cela fonctionne

pour ce qui et de l'addition de poids j'ai la macro qui déclenche un userform pour additionner les poids mais j'aurais certainement bcp de chose a demander encore.....

car pour remplir la listbox je ne sais pas faire mais je persiste je cherche je recherche et bientôt je n'aurais plus de cheveux (sourire) déjà que j'en ai pas bcp

mais grâce a vous tous amis du forum j'ai déjà bcp progressé sur excel

maintenant je m'attaque a un gros morceau les macro ect... et la c'est une autre histoire

mais encore un grand merci

bonjour le forum

j'avance pas a pas dans mon projet

mais je cale sur plusieurs points

1) quand je remplis mon userform j'obtient une erreur a cette ligne

If T7 > 0 Then T10 = T3 - T7[code] qand je valide la ligne certainement un manque de logique de ma part mais je ne trouve pas de solution

2) quand mon userform(la listbox) et remplis de plusieurs lignes je cherche a mettre la colonne entière dans une cellule de ma BD colonne 1 en G colonne 2 en H ect et sur la ligne correspondant au produit et la je cale compétemment mes connaissance ne me permette pas de trouver même après plusieurs recherche sur le net

amicalement

Bonjour

Pour le 1) , fais tourner la macro pas à pas et tu verras que lorsque la macro arrive à cette instruction, elle a déjà effacé le contenu des T3 , T7 et T10. D’où le bug !

Pour le 2) je regarde…

Bye !

re

(Pour le 1) , fais tourner la macro pas à pas et tu verras que lorsque la macro arrive à cette instruction, elle a déjà effacé le contenu des T3 , T7 et T10. D’où le bug !)

je l'avais déjà fait mais comment le contourner le but etant d'avoir le nombre restant une fois la ligne validé

@++

Bonjour

Il te faut ruser !

Avant d’effacer T7, mets sa valeur dans une variable :

            C3 = ""
    NbColis = T7
    For i = 6 To 9
        Controls("T" & i) = ""
    Next i
        End Sub
Private Sub Bt4_Click()

Et lorsque tu fais ton test, au lieu de prendre T7 qui a été effacé, tu prends cette variable :

Private Sub T7_Change()
  If NbColis > 0 Then T10 = T3 - NbColis
   If T10 < 0 Then MsgBox "Il y a une erreur, trop de produits ont été sorti de ce lot", vbCritical, "ERREUR": Exit Sub
End Sub

Bye !

Re Bonjour

J’ai regardé un peu plus en détail ton userform «TRACABILITE » et les macros qu’il contient.

Avant d’aller plus loin et ne pas faire fausse route, j’aimerais que tu me répondes à quelques questions.

Quand tu es dans la boite de dialogue « Traçabilité » et que tu as choisi une N° de lot dans le menu déroulant,

1 - La macro renseigne plusieurs contrôles sur la boite de dialogue mais pas celui de T2 . Est-ce voulu ?

2 - Quand on a cliqué sur « Valider la ligne, la date, le NB colis et le nom du client s’inscrivent dans la list box. OK . Mais pourquoi le Stock restant qui s’inscrit dans un contrôle est-il modifiable puisqu’il est calculé en fonction d’autres données ?

3 - Ne serait-il pas plus judicieux qu’il s’inscrive dans un contrôle non modifiable quand on écrit le NB colis ?

4 - Et toujours après le même clic, (Validez la ligne) pourquoi toutes les données ne sont-elles pas effacées ? Les 2 combobox et les données qui en dépendent restent affichées. Est-ce voulu ?

5 - Quand on a validé la ligne et qu’on a choisi un autre produit et un autre lot, le stock restant de la saisie précédente reste affiché : c’est gênant et peut induire en erreur. Non ?

Quant à ce que j’ai vu de la macro « Valider la feuille », l’idée y est, même s’il faut revoir un peu et compléter.

A te relire

Bye !

re

bonjour gmb

je répond a tes interrogations

1) en t2 c'est la date d'arrivage si elle a bien été rentré en rentrant le lot elle doit s'afficher

2) le stock restant et une infos pour l'utilisateur et je voulais y mettre un textbox pour ne pas sortir plus de produits que l'on en a rentrer éviter les erreurs il et calculé T10=T3-T5 et c'est la qu'il y a une erreur qui apparait même en faisant ce que tu m'as indiquer plus haut

[3 - Ne serait-il pas plus judicieux qu’il s’inscrive dans un contrôle non modifiable quand on écrit le NB colis ?] je ne voit pas ce que tu veux dire mais je suis ouvert a toutes propositions

[4 - Et toujours après le même clic, (Validez la ligne) pourquoi toutes les données ne sont-elles pas effacées ? Les 2 combobox et les données qui en dépendent restent affichées. Est-ce voulu ?] non du tout cela doit s'effacer pour pouvoir éventuellement continuer la saisie pour d'autre clients

[5 - Quand on a validé la ligne et qu’on a choisi un autre produit et un autre lot, le stock restant de la saisie précédente reste affiché : c’est gênant et peut induire en erreur. Non ?] oui tout a fait on saisie sur un lot on valide la ligne autant de fois qu'il a de clients puis on valide la feuille pour enregistrer sur le lot concerné puis "rest" la feuille et totalement vierge et on peut sélectionner un autre produit et autre lot

je te joint la derniere version

amicalement

Bonjour

Ci-joint une nouvelle version à tester. J’y ai un peu remaniée l’userform « Archives » mais si cela ne te convient pas, change

J’ai encore quelques questions :

1 - Comment se calcule la perte qui doit s’inscrire en T11 et en colonne L sur la feuille DataBL ?

J’ai supposé que c’était en faisant Poids du produit arrivé moins poids du produit expédié. Est-ce correct ?

2 – Pourquoi y a-t-il une ligne vide sous la ligne des titres de DataBL ? Je l’ai supprimée mais s’il le faut, je peux la remettre

3 – Que doit faire la macro quand on clique sur « Valider la feuille » ? Il ne reste affiché que les 4 valeurs de la ListBox : Date( d’expédition), Nb Colis (expédiés), <nom du cient (Expédition) Poids expédié) ? C’est insuffisant pour savoir où reporter ces valeurs dans DataBL …

4 – Et pour mon info :

4-1 Pourquoi appeler « Archives » l’Userform qui sert à créer un nouveau produit ?

4-2 Qu’est-ce que le « Poids Blanc » ?

A te relire

bonjour

pour repondre aux questions que tu te pose

1 - Comment se calcule la perte qui doit s’inscrire en T11 et en colonne L sur la feuille DataBL ?

J’ai supposé que c’était en faisant Poids du produit arrivé moins poids du produit expédié. Est-ce correct ? oui tout a fait mis a part que c'est soit le poids arrivé soit le poids a blanc suivant quelle textbox et rempli

2 – Pourquoi y a-t-il une ligne vide sous la ligne des titres de DataBL ? Je l’ai supprimée mais s’il le faut, je peux la remettre (non elle ne sert a rien )

3 – Que doit faire la macro quand on clique sur « Valider la feuille » ? Il ne reste affiché que les 4 valeurs de la ListBox : Date( d’expédition), Nb Colis (expédiés), <nom du cient (Expédition) Poids expédié) ? C’est insuffisant pour savoir où reporter ces valeurs dans DataBL …elles doivent se reporter sur la feuille databl dans les colonnes G a L mais la je cale je n'ai pas l'idée

pour pouvoir la rappeler et éventuellement la compléter au fur et a mesure des départs

4 – Et pour mon info :

4-1 Pourquoi appeler « Archives » l’Userform qui sert à créer un nouveau produit ? il fallait lui donner un nom et vu que une fois saisie cela s'archive....

4-2 Qu’est-ce que le « Poids Blanc » ? le poids a blanc c'est quand on fabrique le fromage quand il a deux jours le fromage et tout blanc (d'où le nom poids a blanc) la coloration de la croute se fait au fur et a mesure de l'affinage

alors que le textbox poids c'est pour du fromage que nous rentrons déjà semi affiné

espérant avoir répondu a tes questions

amicalement

Bonjour

Tu écris :

elles doivent se reporter sur la feuille databl dans les colonnes G a L

A mon avis, tel que se présente ton userform Traçabilité, ce n’est pas possible. Il faudrait pouvoir le modifier pour que l’on puisse retrouver dans la listbox les données nécessaires à retrouver le produit et son lot dans DataBL . C’est-à-dire y ajouter 2 colonnes.

Il faudrait ensuite que sur DataBL on ait une colonne pour identifier le fournisseur, et une autre qui serait celle du client. Si cette dernière colonne existe, la première fait défaut. N’est-ce pas l’objectif de la traçabilité que savoir d’où est venu un produit et où il est allé ?

La colonne fournisseur serait (toujours à mon avis) à renseigner lors de l’entrée d’un nouveau lot : il vient bien de quelque part !. D’où la nécessité de créer un nouveau contrôle dans l’userform Archive.

Il restera encore un problème à régler : s’il existe un stock restant sur DataBL pour un produit et son lot, il faudra créer, le cas échéant, une autre ligne, avec les mêmes renseignements d’origine et les données d'une nouvelle expédition, jusqu’à ce que le stock soit nul. Mais ce n’est pas insurmontable…

Qu’en dis-tu ?

A te lire.

re

Il faudrait ensuite que sur DataBL on ait une colonne pour identifier le fournisseur non du tout pas besoin de cela

l’objectif de la traçabilité que savoir d’où est venu un produit si bien sur mais surtout de savoir ou il a été vendu

Il restera encore un problème à régler : s’il existe un stock restant ( la c'est clair que le total du lot peut partir en plusieur fois voir une centaine de ligne etalé sur plusieurs semaines

@+

Rechercher des sujets similaires à "base donnee userform"