Plusieurs problèmes sur une Gestion de stock adaptée

Bonjour à tous,

J’ai une souci dans une application Excel de Gestion de Stock. J’essaye de la faire évoluer mais sans rien casser de son fonctionnement, (mais c’est pas gagné) je balbutie sur VBA.
Je vous explique :
J’ai un fichier Excel de Gestion de stock qui comporte plusieurs onglets dont les onglets INVENTAIRE , ENTREES , SORTIES, TECHNICIEN, CARACTERISTIQUES et le petit dernier STOCKAGE que j’ai créé.
Ce fichier est une récupération sur le Net qui me semblait très bien adapté à mon contexte. Je suis responsable d’un service Achats pour un petite compagnie forestière certifiée au Gabon (d’où mon pseudo 241).

La création de mon Entité stockage à mis le désordre dans le code VBA.
Le STOCKAGE est en relation avec INVENTAIRE, ENTREES et SORTIES

1er Problème, lors de l’insertion d’une nouvelle entrée de Stock, cette erreur survient :


Certainement due à ceci :

Je n’ai pas pu la solutionner

2eme problème, lors de la suppression d’une sortie, impossible d’effectuer la suppression

Les pièces en stock peuvent être stockées sous +sieurs références identiques mais dans des stockages différents. Lors de la sortie d’une pièce d’un stock particulier, j’aurais souhaité que le comptage des pièces en stock se fasse sur le lieu de stockage demandé . je ne vous pas comment faire. Voici le contenu VBA

3 ème probléme (et certainement pas le dernier), il est impossible de créer un stockage.
Deux erreurs lors de l’exécution du code VBA


Merci de l’aide qu’une bonne âme (ou plusieurs) pourra m’apporter, je suis censé mettre cette appl en production lundi prochain.
Je vous joins le fichier en question.
Merci encore
Philippe
Gestion de Stock EGG V3.xlsm (500,2 Ko)

Hello

là, à mon humble avis, c’est mort !
parce qu’il faut pour la personne qui t’aiderait, commencer par analyser tout le code vba, puis trouver une solution, la mettre en application, vérifier si ça fonctionne etc… et tout cela en 1 WE !

Bonjour
Pour déjà le premier point :

1er Problème, lors de l’insertion d’une nouvelle entrée de Stock, cette erreur survient :

GESTION DE STOCK - UF-ENTREES création d’une entrée PB 2 dès l’insertion868×353 34.7 KB

Cela provient de la dernière ligne de code modifiée ici :

Sub Initialiser_UF_Entrées()
With UF_Entrées
    .TB_Date.SelStart = 0
    .TB_Référence.SelStart = 0
    .TB_Quantité.SelStart = 0
    .TB_PUHT.SelStart = 0
    .TB_Observations.SelStart = 0

    .TB_Date.SelLength = Len(.TB_Date.Value)
    .TB_Référence.SelLength = Len(.TB_Référence.Value)
    .TB_Quantité.SelLength = Len(.TB_Quantité.Value)
    .TB_PUHT.SelLength = Len(.TB_PUHT.Value)
    .TB_Observations.SelLength = Len(.TB_Observations.Value)
    
    .CB_Pièce.RowSource = "Liste_Pièces"
    .CB_Fournisseur.RowSource = "Liste_Fournisseurs"
    .CB_Stockage.RowSource = "Liste_Stockages"    'Modif du 10/04/2024

End With

Et plus précisément :

.CB_Stockage.RowSource = "Liste_Stockages"    'Modif du 10/04/2024

Celle-ci a été modifiée selon son commentaire en date du 10/04/2024 pour cibler le contenu de la combobox « CB_Stockage » du formulaire « UF_Entrées » sur une liste dénommée « Liste_Stockages » qui aurait dû être créée ici :

Celle présente surlignée a été intégrée par mes soins car inexistante à l’identique des listes des lignes de code précédentes qui fonctionnent car elles étaient et sont existantes :

.CB_Pièce.RowSource = "Liste_Pièces"
.CB_Fournisseur.RowSource = "Liste_Fournisseurs"

mais sur sa colonne concernée

Et bingo plus cette anomalie

Testes et dis moi

Gestion de Stock EGG V3.xlsm (431,8 Ko)

Pour le 2° point :

2eme problème, lors de la suppression d’une sortie, impossible d’effectuer la suppression

cela concerne ces lignes de code :

MaCellule = "E" & ActiveCell.Row
'Interdire la suppression d'une cellule verrouillée :
If Worksheets("Sorties").Range(MaCellule).Locked = True Then
    Réponse = MsgBox("Suppression de cette ligne non autorisée !", vbOKOnly, "Contrôle de suppression")
    Exit Sub
End If

Les cellules de la colonne « E » sont verrouillées donc conformément à cette partie de code la suppression ne peut s’effectuer

Pour les 2 autres points il faudrait des précisions quant au contexte de mise en oeuvre (Données sources cibles conditions et déclenchement)
Le déterminer sur la base d’un traitement qui de surcroit dysfonctionne pas simple de l’appréhender correctement

1 « J'aime »

Bonsoir FFO,

Tout d’abord , Merci de vous intéresser à mes problèmes.

Je viens donc de tester le point 1 , ça marche. Je vous remercie. Je verrais plus tard comment créer une entité dans le gestionnaire de noms . Merci de m’avoir indiquer la source de mon erreur.

S’agissant du point 2 et concernant le verrouillage des cellules, la première version téléchargée marchait pour la suppression sauf s’il ne restait qu’une ligne dans la feuille, et je n’ai fait aucune modification à ce niveau.

Je vous réponds pour le point 3

Merci encore
Philippe

Je raconte des bêtises, j’ai bien verrouiller la cellule E de SORTIES afin d’éviter que les utilisateurs modifie cette donnée, je vais enlever les lignes de code concernées.

Merci pour ce retour
Je te joins pour le point 1 une nouvelle version car pour la liste créée « Liste_Stockages » je n’ai pas fais mention du bon onglet à savoir l’onglet « Stockage » et de la bonne colonne dans cet onglet « A:A »
La combobox « CB_Stockage » ne présente aucune liste
C’est corrigé dans ce nouveau fichier :

Gestion de Stock EGG V3.xlsm (432,5 Ko)

Pour le point 2 fais un essai en supprimant le verrouillage des cellules de la colonne « E » tu constateras que la suppression de la ligne en rapport s’effectue sans l’anomalie

Pour cela tu ôtes d’abord la protection de la feuille ainsi :

Cliques droit sur le nom de l’onglet puis sélectionner « Ôter la protection de la feuille »

Puis sélectionnes la cellule colonne « E » de la ligne à supprimer cliques droit dessus tu obtiens ceci :

Choisis « Format de la cellule »

Tu obtiens cet écran :

Choisis sur le bandeau du haut l’onglet « Protection » pour obtenir ceci :

Décoche la case « Verrouillée »

Puis « OK »

Réalises la suppression de la ligne concernée

Fais des essais sur plusieurs d’entre elles en suivant tout ce déroulement

1 « J'aime »

Merci pour toutes ces précisions et ces corrections.
J’ai donc fait un test pour les Entrées (+sieurs) et ça marche bien , j’ai bien ma liste de valeurs pour STOCKAGE
Merci
En ce qui concerne les Sorties, je me questionne pour maintenir ou enlever ce blocage de suppression de lignes. Dans la première application , le stockage était une donnée non figée et maintenant elle est référencée dans un onglet. Je vais voir.

Je vous reviens pour le 3ème problème.

Merci encore

Bon , j’ai donc supprimé le blocage de suppression sur cellule verrouillée, je rencontrais le même problème sur les Entrées

On avance …

J’arrive pour le point 3

Re Bonsoir @FFO,
Je viens de régler plein de petits problèmes de formules de sommation

S’agissant du point 3 'Création d’un lieu de STOCKAGE’j, e ne sais pas quoi vous dire de plus pour que vous puissiez y voir plus clair.
Lorsque que j’actionne le bouton pour une nouvelle écriture, je reçois le message « La méthode ‹ Range › de l’objet ‹ _Worksheet › a échoué ».
J’ai lancé la modification de la macro exécutée par ce bouton. Une fois dans VBA, j’ai lancé le débugueur Pas à Pas détaillé, et la macro se « plante » dès la ligne :
« Maligne = Range(« Stockage »).Row + 1) »
et sort en erreur.

C’est grave Docteur ?
Merci

Gestion de Stock EGG V3_modifiée_V3.xlsm (488,9 Ko)
Je vous joint mon dernier fichier modifié

Euréka ! J’ai trouvé !

Comme Liste_Stockages, je n’avais pas crée Stockage dans le gestionnaire de noms.

Merci

Je continue à évoluer

Bonsoir
Dans cette ligne de code le mot « Stockage » doit correspondre à l’intitulé d’une colonne d’un tableau
Est-ce bien la bonne appellation du nom de cette colonne
Sinon la remplacer pour par exemple la colonne « A » si celle concernée :

Maligne=Range("A" & rows.count).EndXlup.row+1

A essayer

Il est tard j’ai mon PC éteint
Demain je pourrai me pencher dessus pour statuer
La nuit aussi porte conseil
Un peu de patience donc
J’espère que tu en as

Bonne soirée donc et merci encore pour ton aide

Bonjour
Si je comprends bien tu as fais des merveilles
Bravo bientôt tu sera un champion en VBA
Juste une remarque concernant la liste « Stockage » ajouté
la formule n’est pas dynamique et donc ne pourra suivre la fluctuation des libellés à utiliser
Inspires toi de celle de la liste que j’ai créée « Liste_Stockages » en l’adaptant de l’onglet et de la colonne à considérer
Si tout est OK pour toi valides ma toute dernière proposition un plus appréciable
Au plaisir de tendre une main secourable à nouveau

Bonjour @FFO,

« un champion en VBA », ce n’est pas gagné …

A froid, je n’ai pas tout compris sur ta remarque sur la liste STOCKAGE. Une fois que j’aurais évacué cette Gestion de Stock, je vais m’appesantir sur ton conseil pour le comprendre et le mettre en œuvre dans la version n de l’appli ou d’autres.
Pas de souci pour les validations.

J’ai travaillé très tard hier soir à peaufiner les tests et j’ai un nouveau souci que je vais t’exposer dans un nouveau sujet.

En tout cas un Grand Grand merci pour ton aide très appréciable.

Philippe