Je suis en train d'essayer de créer une application Excel pour planifier des Ordres de Fabrication et j’aurais souhaitez utiliser une listview
pour alimenter des textbox qui elles alimenterai mon fichier excel
Mon problème est que je n'y connais rien en listview ; J'ai bien trouvé des exemples sur le forum mais ca me génère a chaque fois des erreurs !
L'objectif serait d'alimenter la listview via la feuille "Gamme OF CMS" avec la colonne A a F et quand je clique sur une ligne sa alimenterait directement les textbox
Mais la ou ca se complique est que je souhaiterais filtré les donnés
=> j'aimerais chargé que les lignes qui sont non planifié ( NON en colonne G)
=>ET filtrer selon valeur case a cocher les dates
- SI CheckBox3 est coché : Afficher que les OF dont la date ( colonne F ) est inférieur a aujourd'hui
- SI CheckBox4 est coché : Afficher que les OF dont la date ( colonne F ) est a faire dans le mois en cours
- SI CheckBox5 est coché : Afficher tous les OF
J'ai bien conscience que ma demande est un peu lourde Mais si Quelqu'un pourrait m'aiguiller ca serait super sympa !!!
Bonjour,
Boire ou conduire il faut choisir ! Tu ne peux pas piloter ton UserForm avec une ListView ET avec un Combo.
Bon j'ai pas mal restructuré ton truc pour piloter ton Listview et pour qu'il alimente les TextBox (et même le combo qu'il faudrait supprimer...)
C’est pas tout fini car in fine... je suis un peu septique sur la possibilité de piloter ton planning en décalant des lignes de cette manière, mébon j'ai juste répondu à la possibilité d'alimenter le ListView de manière correcte...
Ah... aussi tes Checkbox c'est pas top pour piloter le truc non plus en fait j'ai fait un petit subterfuge pour que l'activation de l'un désactive les autres, mébon... ça reste un peu... olé-olé !
A+
Bonsoir le Fil
Une suggestion, si je peux me permettre
Pourquoi ne pas utiliser des OptionButton plutôt que des CheckBox ?
autre question
Pourquoi Cette Ligne
VB:
i = 5 To iLR
5 étant la première ligne de la Boucle et iLR étant la dernière , alors que le DataBodyRange du Tableau structuré commence à la Lgne 1 ou 2 (si l'on considère la plage plutôt que le Tableau structuré)
Bonne fin de Soirée
Jean marie
Bonjour ChTi,
Pourquoi cette ligne ? Heu parce que elle y était dans le fichier d'origine !
J'avoue que je ne sais pas trop travailler avec ce genre de programmation. Alors il y avait tellement de chose à reprendre que j'ai fait l'impasse sur pas mal de trucs... Mais c'est clair que notre ami à fait en méli-mélo entre la feuille planning et la feuille Datas. D'ailleurs même dans la prog j'ai un peu de mal à discerner entre l'une et l'autre entre les ActiveCell et ActiveSheet j'ai eu souvent un peu de peine à voir de quoi on parlait.
En bref je ne me suis intéressé qu'à la partie Nourrissage/Filtrage de la ListView sans trop me soucier de la cohérence de l'ensemble. D'ailleurs même la notion de dernière ligne est un peu flou dans le code d'origine et pour l'instant je ne peux garantir que mon adaptation est rigoureuse...
Cela nécessiterait une remise à plat complète de ce UserForm, J'y travaille, mais en l'état c'est trop le foutoir.
Donc je préfère repartir de zéro que de m'adapter à l'existant.
Bien d'accord également sur les OptionButton,.. Mais je n'en dirai pas plus tant en l'état je n'ai produit qu'une approche approximative : Le Listview fonctionne et il est est filtré plus ou moins bien et il manque les 3 premières lignes, mais ce n'est qu'une piste de travail...
Je tacherai de produire quelque chose de plus convaincant ultérieurement mais je ne fais pas de miracle... Avec le fichier actuel, j'ai juste essayé de suggérer des pistes de travail...
A+
Voici une version plus aboutie ou seules les formules ont été ignorées car elles ne fonctionnent pas toutes eu égard à mes transformations (liens rompus, incohérences...) mébon ça doit pouvoir se corriger facilement après quelques explications... En particulier je ne comprend pas l’intérêt de formuler des calculs dans cette situation et de faire ensuite un collage spécial Formulas !
Normalement les transferts fonctionnent quel que soit le filtre et soit en fin de planning, soit avant la sélection dans le combo.
EDIT: En fait je comprend l'idée sous-jacente avec ces formules cependant elles semblent n'avoir aucun intérêt à être insérées par VBA, autant calculer le résultat en dur Non ?
De toute façon des formules posées ainsi avec FormulaR1C1 en VBA pour moi c'est sans intérêt : Fournir une bout de tableau ou les formules sont opérationnelles et je verrai ce que j'en fais.
A+
Merci,
L'idée c'est de repartir de vos formules dans le tableau (pas à partir de VBA) et de traiter tous ces calculs dans la foulée, mais il faut partir des formules sur le tableaux. A partir des formules en VBA ça me provoque trop d'erreurs surtout avec le R1C1.
Notez toutefois que même si j'envisage une hypothèse sans formules (Tant qu'à programmer autant jouer le jeu à fond !), il est aussi possible de laisser subsister les formules dans le tableau : Comme elles se propagent d'elle-même au fur et à mesure des ajouts, il n'y a même pas à y toucher. (Peut-être moyennant quelques retouches à la conception, mébon après on est tranquille...)
Il y a aussi des formules mixtes, mais dans tous les cas, chez moi le R1C1 est bannit !
Je n'ai pas compris le "Tout" aussi j'ai fait OUI et NON, mais c'est à préciser. Dans tous les cas de toutes façons pour les améliorations c'est vous qui avez le besoin. On ne rajoute pas des trucs pour le plaisir, ça doit se passer en fonctions du besoin...
Après sur ce type de construction on peut envisager beaucoup de choses :Toutes les sub du USF sont factorisées donc on peut les reprendre peu ou prou par bribes pour traiter des questions combinées, enchaînées... Par exemple utiliser le même USF pour les déplacements à l'intérieur du planning. Ça demanderait sans doute une 'tite retouche de conception, mébon... Je trouve ça chouette et comme vous êtes parti sur une structure pas trop déconnante, ça fait plaisir des fois de cogiter un peu !
Je n'ai pas compris l'intérêt du "La Gamme CMS de l'OF " & OF & " à déja été cloturée !" ? Bon je suppose que s'il y en a vraiment besoin vous saurez vous expliquer...
Merci encore pour votre retour ; J'ai lu attentivement votre réponse
Concernant les formules , c'est des formules pour calculée la date de fin selon une fonction ... Je n'ai pas a ce jour trouver d'autres options que passé par des formules pour répondre a mon besoin ... Je copie colle les formules car je pensais que çà permettrait d’allégé le fichier mais sans doute la meilleur idée que j'ai eu !
Il faudrait mieux d'après vous donc garder toutes les formules qui incrémenterait ? Par contre , quand je remonte ou descend un OF les formules ne suivent pas du à l'insertion d'une ligne ... et c'était la mon problème
Le "tout" me sert dans le cas ou j'ai besoin de voir toute la liste au cas ou ... mais en effet , je ne suis pas vraiment sur de l'utilité même ...
Pour le type de construction , vous parlez que l'on pourrait faire des déplacement à l"intérieur du planning
Cela grâce à la listeview? Pourriez-vous m’aiguillez car en effet c’a serait une chouette option ! et rendrait l'outil encore plus dynamique !!
"les formules ne suivent pas du à l'insertion d'une ligne" oui je sentais venir un truc comme ça.
Donc il faut faire calculer VBA : ça ne doit pas être monstrueux car je ne pense pas que vous ayez des dizaines de milliers de lignes dans ce planning... Ces formules là elle me "cacatent" : Ça casse un peu l'exploitation du Tableau...
Je vais être un peu pris aujourd'hui et demain mais je vais tacher de trouver un moment pour adapter le UserForm au 2 feuilles : Comme elles ont la même structure, comme ça à vu de nez ça parait une évidence. Aprés dès qu'on commence à coder le plus dur c'est de faire simple...
EDIT : Quel devrait être selon toi le mode par défaut du UserForm (celui que tu utiliseras le plus souvent) Modification Planning ou Ajout OF ?
A+
J'ai pratiquement terminé... Dans mon esprit il ne s'agit pas de passer les formules en VBA mais de calculer.
Bon déjà si vous me donnez des formule en mode Formula au lieu de R1C1 ça sera déjà pas mal...
J'éprouve un eu de difficulté à traduire car je manque d'exemple et en plus je suppose que si votre truc est issu de 365, ça perturbe mon système...
J'ai également besoin pour faire des teste d'un planning un peu plus étoffé (une dizaine de ligne maxi) Si en plus il y a les formules natives au lieu du résultat "en dur" ça serait parfait.
Merci pour le temps passé ... Je pense que cette applicatif va être top !!
Veuillez trouver en Pièce jointe le fichier que vous m'avez envoyé avec les formules
Au niveau des temps de Fabrication , l'idée étant selon le choix de la case cocher est de
trouver le temps de fabrication selon la ligne de fabrication 1 ou 2 (cadence de fabrication différente)
et de trouver le 1er créneau disponible selon choix ligne et donc la fin de fab. calculé
Aujourd'hui , je passe par la table TDatas colonne AA et AC qui sont calculé via POWER QUERY
Si besoin je peux vous fournir mon fichier définitif qui est plus complet mais qui contient des datas confidentiel
que je dois purger ...
J'avais une petite question complémentaire : est-ce qu'il est possible a partir du moment ou un OF a été ajouté en planification de le retirer de la listeview ? qui permet a l'opérateur d'avoir une liste qui diminue au fur a mesure de l’ordonnancement
Re...
Je te donne l'état actuel de ma réflexion.
En l'état actuel tout n'est pas parfait mais je pense que ça mouvemente correctement soit à partir des Datas soit dans le planning.
Malheureusement je ne pense pas pouvoir aller plus loin Les MAXIFS et autres POWER QUERY sont bloquant pour moi (MAXIF est exclusif de 365 et je ne dispose que de 2016 et PQ ne m'intéresse pas...) ces derniers ne sont pas gênants puisque c'est une requête indépendante : Y a juste à reprendre les données crachées je suppose. Par contre MAXIF pour moi bloque toute évolution du prog... donc tu seras obligé de passer par des copier coller tant que tu n'auras pas trouvé des calculs de substitution.
En ce qui concerne ces formules "ALAKON" il y aurait probablement une solution : Je ne sais pas si tu sais faire, ce sont les formules nommées... : Tu sélectionnes une cellule avec une formule barbare, tu copies la formule, tu échappe et toujours à partir de cette cellule tu crées un nom peu importe lequel (POMME POIRE ou PAPILLON...) et dans ce nom tu colles la formules Refers To : "= MAXIFS(blabla...)" Enfin dans la cellule source tu remplace la formule native par la formule nommée : "= PAPILLON" par exemple.
Ce qui fait que tu sous-traites à Excel la charge d'évaluer la formule et coté VBA c'est encore plus simple par ce que ça va te faire un VBA du genre
VB:
Range("TPlan[Date début]").Formula = "="PAPILLON"
Ce qui est nettement plus confortable au niveau de la prog...
Je ne sais pas si tu me suis : Regarde la colonne M dans la démo FRMCaps moi elle me sort en erreur, toi il est bien possible qu'elle ressorte correctement sous 365. De toute façon c'est l'idée de base pour l'utilisation de toute formule alambiquée dans VBA...
Je te mets aussi le Userform dans son état actuel. Bien sur très améliorable. Là c'est encore un peu au stade brouillon.
On peut même en faire un USF de Saisie / Recherche / Modif très léché pour tes OFF. Après c'est une question de compétence de Dispo, et de Soft...
EDIT : Pour répondre à la suggestion d'éliminer les OF déjà versées au planning, cela suppose que ta colonne de filtrage intègre cette donnée d'une manière ou d'une autre. Cela peut se faire sur la colonne G ou sur une autre colonne... Dans tous les cas c'est une condition de filtre supplémentaire.
Pour une réflexion plus générale sur ce sujet, c'est un peu traité à la manière "usine à gaz" : On part d'un truc, on rajoute un machin puis un autre...
Ce n'est pas une critique juste pour critiquer, c'est une manière de faire qu'on retrouve souvent... Le résultat est souvent... une usine à gaz.... qu'on démoli et on en reconstruit une autre et...
La bonne démarche eut été de partir du Userform de saisie des OF. (Heu... Un bon usf hein qui te fasse à la fois la saisie, recherche, modification, transferts... Parce que là maintenant que je suis bien parti du planning pour l'actualiser l'idéal serait de tout redémonter et repartir des OF.
Ce ne serait pas bien gênant, le usf actuel à une architecture qui se prêterait bien à une telle transformation. Cependant je ne m'en chargerai pas si l'on ne trouve pas une solution crédible (à mon niveau) au calcul de la date de début.
...Mais pitêtre bien qu'un autre intervenant équipé 365 sera tenté de repartir sur ses propres bases... Chacun à souvent ses propres habitudes et c'est souvent bien plus difficile de reprendre le travail des autres...
A+
Super travail ! le resultat est top
Par contre , je pensais a une option que j'ai trouvé sur le forum pour les deplacement
Que penserez-vous de l'idée d'utiliser une listview avec scrollbar ? Mais j'ai bien bien trouvée des exmples mais ca modifie que la list view et pas la feuille ... Du coup je ne sais pas si c'est une bonne idée ?
Ça ne me semble pas terrible dans votre cas de figure car cela est valable quand vous déplacez des données "en dur" or le problème c'est que dans la ligne, vous trainez des tas de formules à recalculer. Si vous ne parvenez pas à trancher le cordon entre les formules Excel et le recalcul par VBA je ne pense pas que ce soit faisable.
La priorité de trancher le cordon : Comprenez recalculer la "Date début" en VBA. Les autres formules semblent plus simples à recalculer...
Avez vous testé le FRMCaps et fonctionne-t-il chez vous ? Comprenez la dernière ligne affiche-telle bien la date ou #NOM? (ou une valeur d'erreur.
Etes-vous capable de reformuler votre fichier #12 d'hier 15:05 de cette manière ? Si oui alors on peut très facilement faire tous les déplacements sans tout ce jargon de copier-coller.
Mais dans l'immédiat je ne peut rien faire, le N° de semaine dépend de cette date, la colonne suivante également... Je n'ai pas regardé le reste mais les RECHERCHEV ne devraient pas poser de problème :Une fonctions perso devrait permettre de calculer ça facilement.
En regardant à nouveau ce fichier ( #12 ), je viens de comprendre d’où sort cette date. Je pense être capable de la recalculer d'une autre manière. En attendant il serait bon que vous le travaillez sur le modèle de FRMCaps : Peut-être qu'après tout il ne serait pas mauvais de conserver cette formule originale, une fois débarrassé de la contrainte du jargon R1C1...
EDIT : Au fait pourquoi tes N° de semaine sont-ils faux ?