Microsoft 365 macro qui s'adapte selon liste déroulante

virdg

XLDnaute Nouveau
bonjour à tous , tout d'abord un grand merci a fanch55 qui m'a bcp aidé a faire ce que je veux ne voulant pas abuser , je suis presqu'a la fin de mon projet.
je suis "créateur" de teintes a partir de plusieurs encres , dans le fichier que je fourni il y a sur la première page la fiche couleur on est explique comment ca fonctionne.
le soucis c'est que j'ai des autres fournisseurs d'encres dont j'ai rajouté les références des nouvelle teintes que j'ai créées sur une autre feuille (qui porte le nom du fabricant) je voudrais modifier la macro pour qu'elle s'adapte a ma liste déroulante quand je choisi tel ou tel fabriquant. bref je crois que ce sera plus clair quand vous ouvrirez le fichier .
si qqun a une solution (de dont je ne doute pas :)...
 

Pièces jointes

  • Teintes VBA.xlsm
    211.4 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Virdg,
Un essai avec en colonne D :
VB:
=SIERREUR(INDIRECT($H$6&"!B"&EQUIV(B11;INDIRECT($H$6&"!A:A");0));"Couleur inconnue chez "&$H$6)
mais je n'ai pas compris pourquoi il y avait 5 lignes pour les Encres. Que doit on y mettre ?
 

Pièces jointes

  • Teintes VBA.xlsm
    200.6 KB · Affichages: 3

virdg

XLDnaute Nouveau
Bonjour Virdg,
Un essai avec en colonne D :
VB:
=SIERREUR(INDIRECT($H$6&"!B"&EQUIV(B11;INDIRECT($H$6&"!A:A");0));"Couleur inconnue chez "&$H$6)
mais je n'ai pas compris pourquoi il y avait 5 lignes pour les Encres. Que doit on y mettre ?
ah oui , et bien dans la colonne rose on rentre le numero de la teinte (du tableau de la feuille DIC et la formulation se met automatiquement
 

Pièces jointes

  • aze.JPG
    aze.JPG
    53.3 KB · Affichages: 11

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
ok.
1679480392646.png

Mais dans votre exemple vous trouvez RED 20400 TO-4407.
Le 20400 correspond à la colonne, mais où trouvez vous que c'est RED, et où trouvez vous TO-4407 ?
 

virdg

XLDnaute Nouveau
Re,
ok.
Regarde la pièce jointe 1166473
Mais dans votre exemple vous trouvez RED 20400 TO-4407.
Le 20400 correspond à la colonne, mais où trouvez vous que c'est RED, et où trouvez vous TO-4407 ?
il y a un code dans chaque ligne de la colonne D :

=SI(I11="40413";"YELLOW 40413 TO-2400";
SI(I11="20400";"RED 20400 TO-4407";
SI(I11="70400";"VIOLET 70400 TO-6400";
SI(I11="60403";"BLUE 60403 TO-5402";
SI(I11="60400";"BLUE 60400 TO-5425";
SI(I11="50403";"GREEN 50403 TO-7400";
SI(I11="41413";"YELLOW 41413 TO-2408";
SI(I11="40407";"YELLOW 40407 TO-2405";
SI(I11="40401";"YELLOW 40401 TO-2402";
SI(I11="30403";"ORANGE 30403 TO-3404";
SI(I11="21425";"RED 21425 TO-4423";
SI(I11="20420";"RED 20420 TO-4406";
SI(I11="20413";"RED 20413 TO-4402";
SI(I11="81400";"BLACK 81400 TO-9426";
SI(I11="RHT";"RED TO-4408";
SI(I11="OHT";"ORANGE TO-3426";
SI(I11="91400";"BROWN 91400 TO-8420";
SI(I11="91404";"SILVER 91404 TO-0400";
SI(I11="1327";"WHITE TONED TO-1327";
SI(I11="10404";"WHITE 10404 TO-1400";
SI(I11="1660";"WHITE TU-1660 ";
SI(I11="laque";"CLEAR TO-1402";
""))))))))))))))))))))))
dans l'onglet "fiche couleur" je rentre un numero de teinte (1 jusqu' a.... la fin) ca me donne le nom de la teinte ex :
N° 45 : donne la teinte : P187-504D100 avec les proportions des encres (ligne 1 de l'onglet DIC) le nom de ces encres sont affichées en colonne I de l'onglet "fiche couleur" mais sont renvoyé a un autre nom plus complique que je ne pouvais pas mettre dans les colonne du t
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Un essai en PJ.
le nom de ces encres sont affichées en colonne I de l'onglet "fiche couleur"
Sauf que le fichier la colonne I est vide, donc pas tout compris.
Cependant dans la PJ :
1- La liste déroulante en colonne B change lorsqu'on modifie le fabricant en H6.
2- J'en ai profité par mettre une fonction perso en colonne D au lieu de votre grande formule.
C'est pareil mais plus simple à maintenir. ( syntaxe : =Encre(I11) )
3- Une fonction perso "Proportion" qui les le tableau pour en extraire les valeurs ( colonne E )
3- Une fonction perso "Indications" qui les le tableau pour en extraire les entêtes de colonne ( colonne F )
 

Pièces jointes

  • Teintes VBA (1).xlsm
    211.8 KB · Affichages: 3

virdg

XLDnaute Nouveau
PS:
Par contre je viens de m'apercevoir que la formule qui était en "Encres" ne concernait que "DIC"
donc quand on choisit autre chose il faut continuer cette macro avec les autres fabricants.
merci de vous être penché su mon problème mais j'ai du mal m'exprimer car vous n'avez pas compris le fonctionnement de ma "fiche couleur"
la seule chose a faire est de rentrer un numéro dans la colonne saumon : explications :
1- onglet "DIC" : trouver le numéro (colonne A) de la teinte (colonne B) que je vais utiliser dans mon travail
2- onglet " fiche couleur" entrer ce même numéro dans la partie saumon
3- la formulation de l'encre ainsi que ses proportions s'affichent automatiquement
tout cela ne fonctionne qu'avec l'onglet "DIC" et moi je voudrais modifier la macro pour que cela fonctionne avec les autres onglets en fonction de ma liste déroulante (H6, onglet "fiche couleur")
en tous cas c'est super sympa d'essayer de m'aider ;)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
car vous n'avez pas compris le fonctionnement de ma "fiche couleur"
Sorry,
Dans votre fichier les formules en colonne D réfèrent à la colonne I qui est vide. J'ai posé la question, je n'ai pas eu de réponse, donc j'ai fait au mieux.
Le titre de ce post est "macro qui s'adapte selon liste déroulante", c'est ce qui est fait. En fonction du fabricant la liste déroulante en colonne B change.
Donc donnez au moins pour quelques lignes l'attendu. Que devrait il y avoir en colonne B, I ? Et en fonction du fabricant quelles références cela devrait appeler.
( car si en colonne B il y a juste un N° alors inutile de changer la liste déroulante en colonne B puisque ce sera toujours la même liste de nombres de 1 à xx )
 

virdg

XLDnaute Nouveau
Sorry,
Dans votre fichier les formules en colonne D réfèrent à la colonne I qui est vide. J'ai posé la question, je n'ai pas eu de réponse, donc j'ai fait au mieux.
Le titre de ce post est "macro qui s'adapte selon liste déroulante", c'est ce qui est fait. En fonction du fabricant la liste déroulante en colonne B change.
Donc donnez au moins pour quelques lignes l'attendu. Que devrait il y avoir en colonne B, I ? Et en fonction du fabricant quelles références cela devrait appeler.
( car si en colonne B il y a juste un N° alors inutile de changer la liste déroulante en colonne B puisque ce sera toujours la même liste de nombres de 1 à xx )
les formules en colonne D réfèrent a la colonne I qui est vide tant que l'on a pas renter de numeros en colonne A
la liste déroulante en H6 réfère aux onglets "DIC", "SUN", "AKZO" et donc aux tableaux qui vont avec (pour l'instant ma macro ne permet de lien qu'avec l'onglet "DIC" d'où ma demande)
l'attendu : on ne met rien en colonne B , on ne rempli que les cases saumon en colonne A,
Essayez de mettre un chiffre en A11 par exemple 154 et vous verrez la teinte P1807-504D100 apparaitre avec ses composants
normalement la colonne I je la masque car cela ne me sert pas de la voir elle sert juste a la macro et au code de la colonne D
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Une toute dernière PJ si la seule évolution est d'avoir une liste déroulante en H6 et de référencer correctement la colonne Couleurs , il faut référencer la feuille de recherche avec H6 :
VB:
Feuille = Range("H6")
Dim Lob As ListObject: Set Lob = Worksheets(Feuille).ListObjects(1)
Cela marche bien pour la colonne B mais évidemment reste inefficient pour la colonne D puisque la formule ne fait intervenir que des paramètres DIC.
 

Pièces jointes

  • Teintes VBA (4).xlsm
    204 KB · Affichages: 3

virdg

XLDnaute Nouveau
Re,
Une toute dernière PJ si la seule évolution est d'avoir une liste déroulante en H6 et de référencer correctement la colonne Couleurs , il faut référencer la feuille de recherche avec H6 :
VB:
Feuille = Range("H6")
Dim Lob As ListObject: Set Lob = Worksheets(Feuille).ListObjects(1)
Cela marche bien pour la colonne B mais évidemment reste inefficient pour la colonne D puisque la formule ne fait intervenir que des paramètres DIC.
 

virdg

XLDnaute Nouveau
ah déjà on avance ;) , j'ai les teintes akzo qui apparaissent, et bien comment faire maintenant pour la composition des encres AKZO viennent automatiquement dans la colonne E et I ... c'est tout mon problème ,peut être aurait il fallut mettre la macro dans un module et faire intervenir les modules en fonctions de la liste déroulante mais je ne sais pas faire.
merci déjà ,
pour la colonne D je ferai une autre formule AKZO comme pour celle de DIC
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 871
dernier inscrit
Maïmanko