• Initiateur de la discussion Initiateur de la discussion e_x0
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

e_x0

XLDnaute Nouveau
Bonjour à tous.

Je viens de faire sous excel un petit tableau qui me permet de gerer mes stocks

C'est un petit fichier excel tres simple

Fournisseur / date de reception / code du produit / N° de serie / client / Nom du technicien / date vente

Le probleme que je rencontre c'est que je dois rentrer le N° de serie manuellement.

J'aimerais rentrer tous les N° de series lors de la reception du materiel et faire sorte qu'à chaque placement, le N° de serie ne soit plus utilisable dans le menu deroulement.

Ci joint le fichier que je viens de creer

Merci d'avance pour votre aide
 

Pièces jointes

Dernière édition:
Re : Gestion des Stocks

Bonsoir e_xO et Bienvenue sur le forum,

J'ai ouvert ton fichier et je n'ai pas trouver de "menu deroulement"... ni de menu déroulant..... d'ailleurs,

Peux-tu préciser un peu plus ?

Le Zip, ça existe sous windows.... et c'est moins lourd....
 
Re : Gestion des Stocks

Bonjour e_x0, jeanpierre 🙂

En fonction de ce que j'ai compris

2 plages nommées, evolutive

Plage Ref qui contient toute les references produit
plage liste qui contient toutes les references non utilisées (colonne G) de l feuille ref

Cette colonne est construite à l'aide d'une formule matricielle (validation par Ctrl + Shift + Entrée)

Liste de validation =liste
 

Pièces jointes

Re : Gestion des Stocks

re:

le plus gros du travail c'est la formule matricielle : en G1 feuille Ref

Code:
=SI(ESTERREUR(INDEX($A$1:$A$25;PETITE.VALEUR(SI(NB.SI(test!$F$9:$F$37;Ref!$A$1:$A$25)=0;LIGNE(Ref!$A$1:$A$25);9^9);LIGNE())));"";INDEX($A$1:$A$25;PETITE.VALEUR(SI(NB.SI(test!$F$9:$F$37;Ref!$A$1:$A$25)=0;LIGNE(Ref!$A$1:$A$25);9^9);LIGNE())))

Formule matricielle veut dire que l'on travaille sur des matrices (des plages)

Code:
SI([COLOR="Red"]NB.SI(test!$F$9:$F$37;Ref!$A$1:$A$25)[/COLOR]=0;LIGNE(Ref!$A$1:$A$25);9^9)

Nb.si en rouge, va donner le nombre de chacune des valeurs de la plage Ref!A1:A25 qui se trouve dans la plage test!F9:F37
si Nb.si est = 0 alors je garde la reference sinon je la rejete
la reference que je garde c'est ligne(Ref!A1:A25) c'est a dire le n° de ligne correspondant à la reference
Quand je rejete, je met 9^9 soit 9 puissance 9 qui sera utile dans son temps
En realite, je cree alors une nouvelle matrice qui contient les n° de ligne valides et des 9^9

Cette nouvelle matrice est utilisée par petite.valeur

Petite.Valeur(nouvelle matrice; ligne())
Ligne() me donne le n° de ligne ou se trouve la formule
Petite.valeur(nouvelle matrice,ligne()) va me donner au fure et a mesure des lignes, les differentes valeurs (matrice ligne)

Avec Index(Ref!A1:A25;Petite.valeur(nouvelle matrice;ligne()) va me donner la correspondance de la valeur de la base reference en fonction du n° de ligne trouvé

La le 9^9, par contre va provoquer une erreur (Fin de la selection) mais valeur trop grande pour la base, Don je teste si toute ma formule provoque une erreur
Si(EstErreur(Index(Petite.V.......................));"";Index(Petite.valeur..........))

en esperant avoir ete assez clair
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
20
Affichages
776
Réponses
3
Affichages
861
Retour