Comment déclencher un bon de commande par fournisseur d'après une liste de prod.

Fermé
Cissou - 14 avril 2020 à 16:21
 Cissou - 29 avril 2020 à 14:23
Bonjour à tout le monde,
Je ne sais pas si je suis au bon endroit mais j'aurais besoin d'aide pour mettre en place un fichier Excel.
J'ai une liste de produits (en stock ou que je commande régulièrement) avec les colonnes suivantes : Nom du fournisseurs, Désignation, Taille, Référence, Prix, Quantité , Quantité minimum, Signalement (j'ai mis une formule me permettant d'inscrire dans cette colonne "A commander" si la quantité de produit est inférieure à la quantité minimum); ça c'est fait !

Je souhaiterais que la ligne, comprenant les informations : fournisseur, désignation, taille, référence et prix, soit basculée dans la feuille "Commande à faire" pour me permettre de passer ma commande sans avoir à tout réinscrire ou copier/coller pour commander. Pourrait-il être envisageable de faire cela par fournisseurs (avec une feuille "Liste de produits" par fournisseur qui déclencherait un bon de commande juste pour ce fournisseur) ou de garder une liste de produits pour tous les fournisseurs et qu'un bon de commande soit généré par fournisseur avec leurs coordonnées.

Je vous remercie d'avance pour l'intérêt que vous manifesterez à mon projet car moi je m'y casse la tête depuis plusieurs semaines sans résultat !! :( ::o

Bonne journée,
Cissou
A voir également:

13 réponses

yclik Messages postés 3725 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 4 janvier 2025 1 523
14 avril 2020 à 17:20
Bonjour
une piste à adapter

Formule en D2
=SI(ET(C2=0;B2=$G$1);LIGNE();"")


Formule en H2
=SI(ESTERREUR(PETITE.VALEUR($D$2:$D$9;LIGNE()-1));"";INDEX($A$2:$B$9;EQUIV(PETITE.VALEUR($D$2:$D$9;LIGNE()-1);$D$2:$D$9;0);1))


1
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738
14 avril 2020 à 17:58
Bonjour Cissou

Un exemple à adapter, en rajoutant une colonne dans la 1ere feuille
https://cjoint.com/c/JDop6me55MH

Cdlmnt
Via
1
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738
15 avril 2020 à 13:11
Bonjour Cissou

Effectivement 2003 ne connait pas NB;SI.ENS ni SIERREUR, j'ai donc modifié les formules en conséquence et enregistré en version 2003
https://cjoint.com/c/JDplhNtexHH

Dans la formule :
=SI(ESTERREUR(INDEX(BDD!B:B;EQUIV("Fourni A"&LIGNE()-6;BDD!$I:$I;0)));"";INDEX(BDD!B:B;EQUIV("Fourni A"&LIGNE()-6;BDD!$I:$I;0)))
LIGNE() renvoie le n° de la ligne courante
LIGNE()-6 renvoie donc 1 en ligne 7, 2 en ligne 8 etc
ce qui permet de retrouver dans le premier tableau FourniA1, Fourni A2 etc

Cdlmnt
Via
1
yclik Messages postés 3725 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 4 janvier 2025 1 523
Modifié le 15 avril 2020 à 16:16
Bonjour
retour avec formule décomposée sur feuille commande neworto sur le principe donné par Via55

Formule finale pour "désignation" en A10 feuile "NEW ORTHO Commande à faire"

=SI(ESTERREUR(EQUIV($B$1&LIGNE()-9;$'Liste produits'.I1:I2000;0));"";INDEX($'Liste produits'.A1:I2000;EQUIV($B$1&LIGNE()-9;$'Liste produits'.I1:I2000;0);2))
1
Bonjour,
Super ! Merci infiniment.
J'ai fait une modification sur la formule : je ne peux pas bloquer comme ceci : $'Liste produits'.I1:I2000 aussi j'ai bloqué comme ça : 'Liste produits'!$I$1:$I$2000 et ça fonctionne car j'ai essayé de rajouter un produit dans la liste, de ranger mes produits par fournisseurs et de commander un produit supplémentaire.
La colonne I est-elle indispensable ? ne peut on pas demander par une formule que quand il y A commander dans la colonne H le nom du fournisseur soit recherché sur la ligne et la colonne A et reporté dans la feuille du fournisseur correspondant ?
Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738
Modifié le 15 avril 2020 à 16:29
Re,

Ton fichier avec les formules adaptées
https://www.cjoint.com/c/JDpoDytZOEH

Il fallait modifier les noms fournisseurs et les adresses de colonnes, ainsi que le LIGNE() - pour adapter

Cdlmnt
Via

1
Bonjour,

Super ! Merci infiniment.

La formule est un peu différente de celle de yclik, dans celle-là je dois changer le nom du fournisseur dans chaque feuille. Qui plus est ça fonctionne car j'ai essayé de rajouter un produit dans la liste, de ranger mes produits par fournisseurs et de commander un produit supplémentaire.

La colonne I est-elle indispensable ? ne peut on pas demander par une formule que quand il y A commander dans la colonne H le nom du fournisseur soit recherché sur la ligne et la colonne A et reporté dans la feuille du fournisseur correspondant en allant chercher le nom du fournisseur dans sa feuille?

J'ai rajouté une colonne J dans la feuille Liste de produits pour que cela calcule automatiquement la quantité à commander, j'ai mis en J2 cette formule :
=Si(H2<>"",G2-F2+5,"") bien sûr le 5 sera à modifier selon les produits

et pour transmette l'info dans la feuille du fournisseur en E10 j'ai mis la formule :
=SI(ESTERREUR(INDEX('Liste produits'!J:J,EQUIV("NEW ORTHO"&LIGNE()-9,'Liste produits'!$I:$I,0))),"",INDEX('Liste produits'!J:J,EQUIV("NEW ORTHO"&LIGNE()-9,'Liste produits'!$I:$I,0)))

Apparemment ça fonctionne...

En fait je n'ai pas compris le ESTERREUR et INDEX et EQUIV mais j'ai essayé d'adapter.
J'ai un vilain défaut : j'aime bien comprendre ce que je fais... est-ce qu'il serait possible de me transcrire en mots la formule ?
Cordialement,
Cissou
0
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738
16 avril 2020 à 14:07
Bonjour

Oui la colonne I est indispensable (mais peut être masquée) car sinon il faudrait passer par de formules matricielles très gourmandes en ressources et comme tu as un tableau assez long et plusieurs feuilles fournisseurs... ou alors il faut faire une macro en VBA

Tu as bien raison de vouloir comprendre donc
INDEX('Liste produits'!J:J;EQUIV("NEW ORTHO"&LIGNE()-9;"Liste produits'!$I:$I,0)))
INDEX fonctionne selon la syntaxe =INDEX(matrice;n° ligne;n° colonne)
INDEX va chercher dans la plage J:J la valeur se trouvant sur la ligne équivalente à celle où se trouve "NEW ORTHO"&LIGNE()-9 dans la plage I:I; le rang de "NEW ORTHO"&LIGNE()-9 étant donné par le EQUIV, le 0 en fin exigeant une correspondante exacte
Puisque on recherche dans une plage à une seule colonne le n° de colonne n'est pas indiqué dans la fonction EQUIV
donc en ligne 10 EQUIV("NEW ORTHO"&LIGNE()-9,'Liste produits'!$I:$I,0 recherche "NEW ORTHO"1", s'il le trouve par ex en ligne 42 la fonction INDEX renverra la valeur en J42
mais si il n'y a pas de correspondance (lorsqu'on on a dépassé le nombre de produits à commander pour ce fournisseur) il renverrait le code erreur #N/A donc pour éviter ce renvoi disgracieux on vérifie avec un ESTERREUR l'existence d'une erreur et dans ce cas on renvoie du vide (les "") sinon on applique la fonction INDEX

Voilà en espérant avoir été assez clair

Cdlmnt
Via
1
Bonjour,

Je reviens vers vous car je voudrais garder en mémoire mes commandes par fournisseurs et lorsque je fais un copier/coller de la feuille du fournisseurs dans un nouveau fichier cela copie également les liaisons.
Je voudrais que cela copie tout sauf les liaisons, est-ce possible ?
J'ai essayé de faire un copier/coller Collage spécial en sélectionnant Largeurs de colonne puis Collage spécial Valeurs et formats de colonne mais cela supprime mes formules de calcul du total du produit commandé et du total de la commande !

Pourriez-vous m'aider s'il vous plaît ?
Cordialement,
0
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738 > Cissou
29 avril 2020 à 11:47
Bonjour

Je ne comprends pas
1) dans le fichier envoyé il n'y avait pas de formules de calcul
2) si tu fais un collage spécial valeur les formules de calculs sont remplacées par les résultats donc tu as bien ta commande intégrale
Poste à nouveau ton fichier actuel si nécessaire

Cdlmnt
Via
0
Cissou > via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025
29 avril 2020 à 12:33
Merci pour votre retour.
Ci-joint le fichier : https://www.cjoint.com/c/JDDkxSstcV1

En fait je veux garder "en archive" la commande effectuée aujourd'hui à Saniswiss : donc je fais un clic droit sur l'onglet de la feuille du fournisseur "Saniswiss com à faire", je sélectionne "Déplacer" dans un nouveau classeur. Lorsque je vais dans le nouveau classeur dans la colonne Désignation apparaît bien le nom du produit mais il est en liaison avec le classeur "Liste de produitsCD". J'ai essayé plusieurs techniques mais aucune n'est satisfaisante soit cela m'efface toutes les liaisons et donc même les calculs dans la colonne Montant et pour le Total de la facture, soit il y a les liaisons. En effet si je change une information dans ma liste de produit de ce fournisseur cela va modifier ce classeur là aussi alors que je voudrais le garder comme trace pour mes commandes et je ne veux pas l'imprimer.
J'espère que c'est plus clair maintenant.

Je viens de trouver quelque chose qui peut solutionner ma demande en faisant Edition Liaisons Rompre la liaison. Qu'en pensez-vous ?

Cordialement,
Cissou
0
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738 > Cissou
29 avril 2020 à 13:10
Tu as les liaisons car tu fait déplacer dans un nouveau classeur
Mais si tu copies les colonnes et que tu fait un collage spécial Valeurs et format tu ne devrais pas avoir les liaisons

Mais pour déplacer tu as trouvé la solution en faisant rompre les liaisons

Cdlmnt
Via
0
Cissou > via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025
29 avril 2020 à 14:23
Effectivement je peux faire un copier/collage spécial mais cela me fait 3 manipulations de collage spécial (pour les largeurs de colonnes, les valeurs et les formats) car je ne peux pas sélectionner ces 3 choix en 1 seule fois.

Je trouve quand faisant rompre les liaisons c'est plus rapide.
Merci d'avoir pris le temps de me répondre.
Bonne fin de journée,
Cissou
0
Bonjour yclik,

Votre réponse me parait un peu compliquée vu mon niveau d'Excel mais je la testerai demain matin et je reviendrais vers vous pour vous dire si cela peut s'adapter à ce que je souhaite.
Je suis désolée je n'ai pas mis de fichier en pièce jointe, est-ce que ça vous aiderez ?

Cordialement,
Cissou
0
Bonjour yclik,

Je viens d'essayer tes formules :
- la 1ère fonction mais je ne comprend pas à quoi correspond les chiffres (pour ton exemple :les chiffres de la colonne D),
- la 2ème formule ne fonctionne pas pourtant je l'ai vérifiée 2 fois mais étant donné qu'elle est longue...je retourne essayer.
J'ai la version Excel 2003, donc peut être que ta 2ème formule n'est pas compatible à cette version.
Peux-tu m'expliquer à quoi correspond : LIGNE() ?
Merci encore pour tes réponses.
0
yclik Messages postés 3725 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 4 janvier 2025 1 523
15 avril 2020 à 14:32
Bonjour
en col D
la formule =SI(ET(C2=0;B2=$G$1);LIGNE();"") permet d'avoir un N° de ligne si le stock est 0 et le fournisseur col B identique à cellule G1
les N° servent ensuit à être lu par la fonction petite valeur
PETITE.VALEUR($D$2:$D$9;LIGNE()-1)
Ligne permet d'avoir la 1ère plus petite valeur et jusqu'à la nème valeur en H2 > 1, en H3 > 2 , H..>...
Ensuite la fonction :
EQUIV permet d'avoir le N° de ligne correspondant du tableu de données A1:D9
INDEX permet de donner l'info nécessaire
SI ESTERREUR permet de ne pas afficher #VALEUR ! si pas de correspondance trouvée

La proposition de Via55 que je salue au passage fonctionne sur le même principe mais la plage par colonne BDD!B:B ne fonctionne peut être pas sur excel 2003 ( de mémoire, je suis sur Open office)
0
Bonjour Via55,

Je n'arrive pas pas à ouvrir votre fichier, est-ce parce que j'ai une version antérieure à la vôtre ?

Pourtant j'y suis arrivée hier soir lorsque j'ai vu votre message et je pensais qu'il s'était sauvegardé sur mon ordi.

Pouvez-vous me le renvoyer s'il vous plaît?
Cordialement,
0
Bonjour Via55,

Dans ton tableau il y a des =NOM? dans toutes les cellules de Fourni A et Fourni B.
Quand j'applique à mon tableau ta formule "I2 dans la feuille BDD" il y a "=NOM?" qui s'affiche sur les lignes où il y a "A commander" dans la colonne Signalement.
J'ai la version Excel 2003 donc je pense que ta formule ne s'adapte pas à ma version.
Est-ce que ça t'aiderait que je t'envoie une ébauche de mon fichier ?
Pourrais-tu me la détailler par écrit pour que je trouve un équivalent dans ma version 2003 s'il te plaît ?
En te remerciant pour le temps que tu passes à m'expliquer et à m'aider à résoudre ce projet.

Cordialement,
Cissou
0
Merci pour vos réponses.

Après essai des formules, celle-ci : =SI(ESTERREUR(INDEX(BDD!B:B;EQUIV("Fourni A"&LIGNE()-6;BDD!$I:$I;0)));"";INDEX(BDD!B:B;EQUIV("Fourni A"&LIGNE()-6;BDD!$I:$I;0))) génère une erreur avec en surbrillance LIGNE.

Je ne lâche rien !! mais ça m'énerve quand je ne comprend pas gggrrrrrr!

En plus en regardant le fichier de Via55 je constate que c'est tout à fait ce que je souhaite.
Bon je vais encore y passer 1/2 heure et après je vais prendre l'air...

Je joins mon fichier pour voir si vous pouvez faire quelque chose directement dessus et surtout si ça fonctionne.
https://www.cjoint.com/c/JDpnJACvTB1

Cordialement,
Cissou
PS : merci encore pour le temps que vous m'accordez
0
Wow ! C'est un peu compliqué à comprendre vu mon niveau mais je trouve ça passionnant, macro en VBA c'est un peu comme du "chinois" pour moi... ;-)

En tous les cas j'apprécie énormément cette explication et tout votre travail pour m'aider sur ce projet et je tiens à vous remercier.

Merci infiniment à tous les 2 pour vos réponses et votre patience.
Vous êtes au top, ne changez rien.

Prenez bien soin de vous pendant ce confinement.

Cordialement,
Cissou
0
Bonjour à tous les 2,

Je reviens vers vous car je voudrais garder en mémoire mes commandes par fournisseurs et lorsque je fais un copier/coller de la feuille du fournisseurs dans un nouveau fichier cela copie également les liaisons.
Je voudrais que cela copie tout sauf les liaisons, est-ce possible ?
J'ai essayé de faire un copier/coller Collage spécial en sélectionnant Largeurs de colonne puis Collage spécial Valeurs et formats de colonne mais cela supprime mes formules de calcul du total du produit commandé et du total de la commande !

Pourriez-vous m'aider s'il vous plaît ?
Cordialement,
0