XL 2013 Mon projet de gestion de stock : Vos avis? Quelques beugs

Toofastt

XLDnaute Nouveau
Bonjour la communauté XLD
J'ai créé un projet de gestion de stocks (des EPI distribués aux salariés d'une entreprise), avec quelques formulaires. Et une recherche multicritères pour faire des extractionsde données dans la base.
Je suis intéressé par vos remarques et avis, et pour ceux d'entre vous qui sont à l'aise en VBA, j'ai quelques beugs. Par exemple, mes listes dans les formulaires sont vides alors que jusqu'ici ça fonctionnait au poil. Je trouve ça bizarre car certaines listes comportent des lignes vides et d'autres non, enfin maintenant les listes se limitent aux deux premières lignes ou sont vides.
Si vous avez des suggestions d'amélioration je suis preneur aussi.

Bien à vous
Toofastt
 

Pièces jointes

  • AD EPI 2 (1).xlsm
    115.7 KB · Affichages: 43

fanfan38

XLDnaute Barbatruc
Bonjour
Ci joint ma solution
Remarques:
On utilise select case quand il y a plusieurs conditions
Pourquoi mettre un find (qui est source d'erreur)
J'evite d'utiliser with car source d'erreur et quand tu l'utilises il faut mettre un point devant les range correspondant...
with sheets("Stock")
.range("B1").value="OUI"
end with
Pour les rowsource il vaut mieux utiliser des plages nommées dynamiques
A+ François
 

Pièces jointes

  • AD EPI 2 (1).xlsm
    103.8 KB · Affichages: 23

Toofastt

XLDnaute Nouveau
Coucou:)

Merci pour tous ces conseils!!
J'ai bossé cet aprem sur l'amélioration de l'interface, la correction des bugs grâce à ce que vous m'avez envoyé.
Oui désolé, j'ai posté l'autre concernant un problème spécifique mais tu as raison on s'y perd. Je vais clôturer l'autre.

J'avais hâte de terminer, j'ai la tête comme un ballon mais je suis content de pouvoir poster le projet mis à jour. Qu'en pensez-vous?

PS J'avais d'autres idées d'amélioration mais trop compliquées, dans ce cas j'ai supprimé les boutons.
 

Pièces jointes

  • AD EPI 5.xlsm
    128.3 KB · Affichages: 12

JM27

XLDnaute Barbatruc
bonjour
Essaye d'inscrire un nom bidon dans les salariés et regardes ce qui se passe ( voir le style dans les propriétés)
Comment fais tu pour sortir le coupe vent ligne 31 ou 33 ou 35 ou 37
Pourquoi avoir mis dans la combobox item les entêtes de la liste de la feuille stocks
Cela ne sert a rien sauf à te créer des pb lors de la validation.
l'ordre de tabulation n'est pas correcte ( clic sur l'userform et ordre de tabulation)
Pourquoi hide dans le bouton annuler.
J'aurais plutôt vu unload me.
nota: le hide masque l'userform , mais celle ci n'est pas déchargée
pourquoi dans le RAZ les index à 0 au lieu de -1
index-1 = combo vide
 
Dernière édition:

fanfan38

XLDnaute Barbatruc
Bonjour
J'aime bien.. mais
With Sheets("Personnel")
drlig = .Range("b2").End(xlDown).Row
For lig = 3 To drlig
saisie.personnel.AddItem .Range("B" & lig)
Next lig
End With
c'est beaucoup plus long qu'un rowsource avec une plage nommée dynamique
liste personne =DECALER(PERSONNEL!$B$2;;;NBVAL(PERSONNEL!$B:$B)-1;1)...
Dans le gestionnaire de noms les 2 plages nommées avec le même noms (items) à éviter...
Bien l'idée d'afficher le stock en même temps que l'article...
A+ François
 

JM27

XLDnaute Barbatruc
Bonsoir
un dernier conseil
Utilise l'indentation ( décalage de ligne comprise entre des for , next ,,, if , end if,,,, with, end with par exemple.
comme cela par exemple
VB:
With Sheets("stock")
  For Each Cellule In .Range("b2:b" & .Range("b" & Rows.Count).End(xlUp).Row)
    On Error Resume Next
    Coll.Add Cellule, CStr(Cellule)
        If Err = 0 Then
            saisie.item.AddItem (CStr(Cellule))
            saisie.item.List(item.ListCount - 1, 1) = Cellule.Offset(0, 1)
        End If
    On Error GoTo 0
  Next Cellule
End With

le code que tu as inscris est très difficilement dépannable et très difficile à lire.
Tu verras le bien fait que cela va te procurer ( mais c'est toi qui vois)
mais cela n'est qu'un conseil.
 

Toofastt

XLDnaute Nouveau
Merci à tous les deux pour vos remarques ! Effectivement Jm, je tente corriger tout ça...

JM27
Essaye d'inscrire un nom bidon dans les salariés et regardes ce qui se passe ( voir le style dans les propriétés)
Oui je viens de tester, il s'ajoute bien à la liste... J'ai fait quelques essais mais je ne vois pas ce qui coince?
Comment fais tu pour sortir le coupe vent ligne 31 ou 33 ou 35 ou 37
C'est corrigé, merci :)
Pourquoi avoir mis dans la combobox item les entêtes de la liste de la feuille stocks
Cela ne sert a rien sauf à te créer des pb lors de la validation.
J'ai mis les entêtes en pensant à mon chef qui va se demander à quoi correspondent ces chiffres à droite, je ne serai pas seul à utiliser le fichier. J'ai fait en sorte d'envoyer un messagebox si on sélectionne l'entête. Crois-tu que ce soit gênant?
l'ordre de tabulation n'est pas correcte ( clic sur l'userform et ordre de tabulation)
Je ne parviens pas à trouver le souci, je cherche...
Pourquoi hide dans le bouton annuler.
J'aurais plutôt vu unload me.
nota: le hide masque l'userform , mais celle ci n'est pas déchargée
Merci, je viens de corriger, en fait je ne m'étais même pas posé la question...
pourquoi dans le RAZ les index à 0 au lieu de -1
index-1 = combo vide
Oui, là aussi ça va mieux comme ça! MERCI MERCI

FANFAN38
Oh c'est génial! J'ai fait des recherches à propos des plages nommées dynamiques sans parvenir à combiner les deux formules DECALER et NBVAL. J'ai donc refait mes pkages nommées dynamiques, et j'ai viré les doublons et autres plages mal nommées ou nommées en double.
Là où ça coince, c"est qu'ensuite, je n'arrive pas à charger la plage nommée liste_personnel dans ma combobox (nommée saisie) de mon userform (nommé personnel).
Ca renvoie des erreurs différentes à chaque fois. J'ai laissé mes brouillons en vert dans le code, mais en gros j'ai remplacé mon code que tu cites par une ligne :
saisie.personnel.list=range("liste_personnel").value
J'ai tenté plein de variantes sans succès
J'avais une liste étendue au classeur qui a un moment donné m'a renvoyé la bonne plage d'une mauvaise feuille. Mais ensuite j'ai refait ma plage nommée liée à ma feuille Personnel, et depuis ça renvoie des erreurs.
Mais MERCI aussi à toi car j'ai progressé déjà sur les plages dynamiques

JM27
Yes! Je viens de te lire pour le décalage du code. Je pensais à sauter des lignes mais pas à tabuler. Ce sera ma prochaine étape. J'ai une panne de PC qui m'impose de jongler avec un Chromebook; d'où mon retard, mais je m'y mets dès demain. Je remets le fichier à jour avec ce que j'ai pu faire. Encore un grand MERCI:)
 

Pièces jointes

  • AD EPI 6.xlsm
    128.7 KB · Affichages: 19

JM27

XLDnaute Barbatruc
bonsoir
l'ordre de tabulation n'est pas correcte ( clic sur l'userform et ordre de tabulation)
quand l'utilisateur utilise la touche de tabulation tu passes d'une zone de saisie à une autre dans n'importe quel ordre.
il faut y mettre de l'ordre
Essaye d'inscrire un nom bidon dans les salariés et regardes ce qui se passe ( voir le style dans les propriétés)
Dans ta boite de dialogue tu peux saisir n'importe quel nom : normal ?

Après validation : tu mets hide ; plutôt unload me

pour les tabulations : tu as ceci dans le ruban de l'éditeur VBA ( en ayant la barre d'outils "sélection" validée
Capture.JPG


Pourquoi ne pas utiliser l'appli que je t'ai proposé sur l'autre post ? ;)
 
Dernière édition:

Toofastt

XLDnaute Nouveau
Salut JM et merci pour ces précisions car je ne parvenais pas à modifier.
l'ordre de tabulation n'est pas correcte ( clic sur l'userform et ordre de tabulation)
C'est fait, je ne connaissais pas la fonction, super!
Essaye d'inscrire un nom bidon dans les salariés et regardes ce qui se passe ( voir le style dans les propriétés)
C'est fait, j'ai changé le style de la combobox, impeccable :)
Après validation : tu mets hide ; plutôt unload me
Je viens de faire un CTRL+F sur "Hide", j'en ai trouvé encore un, brrr, c'est corrigé.
Peut-on d'ailleurs afficher sur la console l'ensemble du code en un bloc, car le CTRL+F doit être fait plusieurs fois, je trouve ça peu pratique...
pour les tabulations...
Yes, idem, qu'est-ce que c'est pratique!! Merci!
Pourquoi ne pas utiliser l'appli que je t'ai proposé sur l'autre post ? ;)
C'est prévu, j'ai regardé le code mais je n'ai pas bien tout pigé, je m'y repenche au calme dqp

Je ne sais pas comment vous remercier encore mais j'ai enfin l'impression de progresser (un peu), donc encore MERCI pour tous vos conseils et désolé si je mets du temps à comprendre ce que vous me dites :)
 

Toofastt

XLDnaute Nouveau
Salut JM27 et Salut tout le monde!
Suivant les conseils de JM27 et parce que sa boîte de dialogue est BEAUCOUP mieux que la mienne, grâce notamment à la possibilité de faire une correction de stock (inventaire, réassort etc.) j'ai voulu ajouter son formulaire à mon projet.
Je galère depuis ce matin, rien n'y fait, j'ai une erreur 9, ça ne passe pas.
Je joins le projet, si quelqu'un a une idée?
Merci merci!)
 

Pièces jointes

  • AD EPI 6 BETA.xlsm
    139.7 KB · Affichages: 3

Toofastt

XLDnaute Nouveau
Jm27, mais comment fais-tu? C'est super! Ton userform est purement génial !
Il bug un peu du fait des références dans mon classeur, mais justement ça me permet de tenter de remanier un peu le code, surtout pour le comprendre. Je bosse un peu dessus et je réposte le projet dès qu'il a avancé.
 

Discussions similaires

Statistiques des forums

Discussions
311 741
Messages
2 082 055
Membres
101 882
dernier inscrit
XaK_