Macros appel procédure

Lol... ne prenez pas mal mon message précédent. Je sais que je suis nul en vba alors je vous demande au moins de ne pas réagir comme si je vous montrais du doigt alors que je suis bien loin de le faire....

Vous êtes de toute évidence bien calé sur ce sujet mais si je vous évoque une chose, ce n'est pas pour vous blâmer mais pour juste pour rappeler combien même mon usine de codage vous a interpellé, voire fait rire et autres, j'ai accepté toutes vos remarques et moqueries sans broncher. Surtout qu'à la base, je ne souhaitais qu'obtenir un tout petit bout de programme et ce avant même d'avoir envoyé ce fichier que vous améliorez certes mais dont je ne fais prends pas référence ou copie.

Je vous ai envoyé ce fichier parce que cela m'a été demandé et donc si cela gêne quiconque tant dans sa structure bancale, illogique, et j'en passe, peu m'importe, je n'ai jamais demandé que l'on travaille sur ce sujet, je le répète, je ne demandais qu'un bout de code appeler une procédure colorant un bouton en fonction d'une date dépassée ou non. Je vous demande donc cesser de travailler sur ce sujet de peur que je ne vous froisse encore par un mail tout ce qu'il y a de plus normal.

Considérez ce sujet clos

Bah... A mon âge on ne se froisse plus beaucoup ! Et il n'y avait pas l'ombre d'une moquerie dans mes propos, même s'ils ont pu te sembler désagréable... Je conçois bien que se faire dire qu'on a fait tout ce travail en pure perte ait pu te paraître désagréable...

Mais il faut appeler un chat : un chat.

On ne peut pas faire "un petit bout de programme" pour résoudre votre problème avec votre fichier. Pas plus qu'on ne peut greffer un turbo sur une brouette. (sans vouloir vous offenser)

Le fichier joint répond parfaitement à votre question et corrobore également les quelques autres interventions... C'est pourquoi je vous ai montré comment il faut envisager la chose dans ce cas de figure :

Pour faire suite aux petites corrections apportées dans ma réponse précédente...

Les couleurs vert et bleu ne sont pas mémorisées pour l'instant.

Cela s'explique par le fait que la couleur des boutons est évaluée en fonction de la date de la prochaine maintenance.

Si cela à vraiment un intérêt il faut mémoriser aussi la couleur dans une colonne supplémentaire pour qu'elle ressorte le jour même ou à J+1 par exemple. Mais je suis plus que sceptique sur l'utilisation de OnTime : Je ne me hasarderais pas sur une prog de ce type...

Il me semble qu'une mémorisation à J+1 devrait suffire.

Je n'ai pas réfléchi non plus à la colonne F... (devenue G maintenant) car je n'ai pas compris la condition :

If Sheets("FeuilGroupe7").Range("F2,F45") = 1 Then...

...qui selon moi est absurde : il faudrait expliquer exactement ce que tu veux faire... Comment est remplie cette colonne 7...

De même lancer un OnTime toutes les secondes pour rafraichir la Date me laisse ...dubitatif !

Bon enfin, TOUSSA juste pour donner un peu d'idée sur ma manière de voire les choses... A vous mais aussi à ceux qui consulteront ce sujet même s'il est clos !

Adésias mon ami !

A+

Bonsoir,

Djhez a écrit :

Lol... ne prenez pas mal mon message précédent. Je sais que je suis nul en vba alors je vous demande au moins de ne pas réagir comme si je vous montrais du doigt alors que je suis bien loin de le faire....

Vous êtes de toute évidence bien calé sur ce sujet mais si je vous évoque une chose, ce n'est pas pour vous blâmer mais pour juste pour rappeler combien même mon usine de codage vous a interpellé, voire fait rire et autres, j'ai accepté toutes vos remarques et moqueries sans broncher. Surtout qu'à la base, je ne souhaitais qu'obtenir un tout petit bout de programme et ce avant même d'avoir envoyé ce fichier que vous améliorez certes mais dont je ne fais prends pas référence ou copie.

Je vous ai envoyé ce fichier parce que cela m'a été demandé et donc si cela gêne quiconque tant dans sa structure bancale, illogique, et j'en passe, peu m'importe, je n'ai jamais demandé que l'on travaille sur ce sujet, je le répète, je ne demandais qu'un bout de code appeler une procédure colorant un bouton en fonction d'une date dépassée ou non. Je vous demande donc cesser de travailler sur ce sujet de peur que je ne vous froisse encore par un mail tout ce qu'il y a de plus normal.

Considérez ce sujet clos

Désolé, mais ce sujet me semble intéressant, travailler dessus me... passionne. Avec tout le respect sur votre décision de le clôturer, je poursuis mon élan , et si je ne peux poster l'idée (voir idées) ici, je pense le partager sur un nouveau sujet.

Mais mon intention première, non moqueuse mais surpris d'un tel travail que vous avez fait, était et est encore, de vous aider : dans la compréhension et le partage.

très bien alors je vous prie de m'excuser d'avoir mal interprété vos messages... Je suis ravi que vous veniez à me secours lol !!

Pour vous répondre au sujet des 1 dans la colonne F n'est autre que j'avais prévu de faire cela pour tous les userforms. afin de conserver l'état de la maintenance anticipative après fermeture du fichier, à la réouverture via workbook_open, si un 1 est dans telle ou telle cellule, alors le bouton cliqué avant fermeture du fichier sera en bleu ciel. En effet, sans mettre 1 dans une cellule, les couleurs de boutons réapparaissent en gris ( les dates de prochaines maintenance sont ok ) d'où l'intérêt de considérer valeur 1 dans cellules de colonne F. Bien évidemment, cela a été fait pour quelques tests car ceci je ne l'avais pas terminé mais fonctionnel

Bonsoir,

Sans vous froisser, je suis sur une idée différente.

Mon objectif est de répondre à une attente avec un visuel qui se rapproche au mieux du votre. Mais aussi et surtout une architecture des données facile d'accès pour modifications et consultations, et un fichier léger.

Il est actuellement inférieur à 50K au lieu de 500...

Voici une première ébauche sur la ré-organisation des données, sur un seul onglet, avec quelques colonnes supplémentaires...

Ne pas regarder la Feuill3, elle est en travaux, rien de figé, mais cela avance.

Etudiez, n'hésitez pas à poser des questions, toutes vos remarques sont les bienvenues.

(Cela n’empêche qu'une autre solution peut mieux répondre à votre attente)

très bien je vous remercie de votre travail et merci de m'indiquer ce que je dois connaitre en vba pour être plus constructif et efficace

Re,

nous y viendrons quand le code sera avancé.

Dans le dernier exemple, un petit code est présent, vous pouvez y 'jeter' un œil...

Djhez a écrit :

très bien alors je vous prie de m'excuser d'avoir mal interprété vos messages... Je suis ravi que vous veniez à me secours lol !!

Pour vous répondre au sujet des 1 dans la colonne F n'est autre que j'avais prévu de faire cela pour tous les userforms. afin de conserver l'état de la maintenance anticipative après fermeture du fichier, à la réouverture via workbook_open, si un 1 est dans telle ou telle cellule, alors le bouton cliqué avant fermeture du fichier sera en bleu ciel. En effet, sans mettre 1 dans une cellule, les couleurs de boutons réapparaissent en gris ( les dates de prochaines maintenance sont ok ) d'où l'intérêt de considérer valeur 1 dans cellules de colonne F. Bien évidemment, cela a été fait pour quelques tests car ceci je ne l'avais pas terminé mais fonctionnel

Je vais y réfléchir. Bon Dimanche.

Dans cette version la couleur bleu est mémorisée automatiquement dans la colonne G par un "1"

Cependant elle n'est jamais effacée.

Comme je l'ai déjà dit je ne suis pas favorable à l'utilisation de OnTime dans ce cas de figure.

Donc pour supprimer la mémorisation il faut supprimer le "1" dans la feuille...

Sinon il y a la possibilité de la laisser subsister à J+1 et la supprimer à J+2 ?

Qu'en pense -tu ?

en fait, il est important de laisser cette couleur en bleu ciel. Et le seul moment ou celle-ci n'est plus à l'état 1 c'est au moment où le couleur jaune, orange ou rouge apparait, soit environ 120 jours plus tard. Il est impératif de laisser cette couleur pour faire le distingo entre les maintenances effectuées par anticipation pour communiquer d'un simple coup d'oeil avec la production, la maintenance et la direction. cela est vraiment important de laisser cette couleur fonctionnelle

La gestion des dates est délicate. Il faudra bien tester car j'ai fait un peu speed...

Je pense néanmoins être pas loin du compte...

Je n'ai testé que sur le Groupe 7...

Pas assez visiblement puisque le copier/coller à fait des siennes pour les autres groupe.

Fichier beugué supprimé

Voir la correction réponse suivante...

Pas mal d'erreurs sur cette version 3.

Cela est du au fait que je n'ai testé que le Groupe 7 les autres comme ils sont censés être identiques par Copier/coller... ben il ont tous planté car le End Sub manque.

Bon j'ai réparé ça : C'était somme toute un problème anodin.

Ce qui me taquine le plus c'est la subsistance du bleu jusqu'au prochain J-7... J'ai bien compris le problème et j'ai trouvé 90% de la solution .

Par contre les 10% restant sont plus compliqué à traiter ; Maintenir le bleu jusqu' J +7 pas de problème...

Par contre maintenir le bleu le jour même de la maintenance (si on rouvre le formulaire) ça c'est plus compliqué !

Il faut que je retravaille ça...

Je donne quand même le fichier partiellement corrigé... Je pense qu'il me faudra au moins une semaine de test pour vérifier l'affichage des couleurs à J et dans les autres cas.

A+

Bon. Finalement cela semble avoir été relativement simple...

Je pense que ma gestion des couleurs est aux petits oignons. J'ai corrigé quelques bugs d'affectation (mais là je ne suis sûr de rien : il faudra absolument vérifier un par un que les N° iD correspondent bien au numéro de bouton et Label correspondant. Malgré tout mon soin j'en ai encore décelé 2 qui étaient interverti (dans le Groupe 4)

Incidemment je signale que bien que les iD s'affichent 701, 702, 703 ou 501, 502, 503... selon les feuilles, en réalité les numéros des équipements (dans la barre de formule et dans VBA) sont écrits et lus comme 1, 2, 3...dans toutes les feuilles.

Les codes centaines ne sont que visuels pour bien rappeler à l'opérateur qu'on est dans le groupe 7 ou 5,4,3... En réalité Excel et VBA ne s'intéressent qu'au numéro effectif de l'engin :

Ainsi si l'on rajoute une machine dans le groupe 7, celle-ci devra être enregistré sous le N° 45 mais s'affichera 745 dans la feuille.

Dans le Userform il faudra créer (par Copier/Coller) un bouton et un label puis les renommer CommandButton45 et Label45 pour que les contrôles correspondent à l'iD de l'équipement.

J'ai peaufiné quelques détails de construction et de finition...

Maintenant je te laisse le plus gros du boulot : détecter les bugs.

Attention si tu décèles une erreur Il ne faudra pas me dire ça bug dans le "groupe 2"

Je veux pouvoir trouver exactement l'erreur :

Il faudra m'expliquer que l'équipement 212 (par exemple) se colore en jaune au lieu de bleu avec les dates des colonnes D, F et le status colonne G = 1...

Attention le système évalue la colonne G comme vide et pose un "1" en cas de maintenance anticipé... et il efface le 1 automatiquement quand on arrive<= à J+7 . Ne pas mettre de 0 qui serait évalué comme non vide et = 1 !!!

Le délai entre maintenance et prochaine maintenance est évalué colonne E ("vide" est interprété comme 120) pour modifier le délai il suffit d'inscrire un autre nombre (Exemple : Le 701 est à 300 jours)

Bon, Ben... bon courage pour les vérifications !

Incidemment je t'encourage à lorgner également du coté de Thihii qui semblait avoir aussi des idées sur la question.

Je n'ai rien dit sur le moment car c'est plus compliqué de gérer plusieurs interlocuteurs en même temps : Il faut alors penser à préciser à qui l'on répond sinon ça devient vite incompréhensible (et dans ce cas moi je me casse pas la tête...)

Je t'engage donc éventuellement à démarrer un autre fil avec Thihii (ou avec quiconque peut apporter d'autres idées...

A+

Bonjour tout le monde,

galopin01 a écrit :

Bon. Finalement cela semble avoir été relativement simple...

Je pense que ma gestion des couleurs est aux petits oignons. J'ai corrigé quelques bugs d'affectation (mais là je ne suis sûr de rien : il faudra absolument vérifier un par un que les N° iD correspondent bien au numéro de bouton et Label correspondant. Malgré tout mon soin j'en ai encore décelé 2 qui étaient interverti (dans le Groupe 4)

Incidemment je signale que bien que les iD s'affichent 701, 702, 703 ou 501, 502, 503... selon les feuilles, en réalité les numéros des équipements (dans la barre de formule et dans VBA) sont écrits et lus comme 1, 2, 3...dans toutes les feuilles.

Les codes centaines ne sont que visuels pour bien rappeler à l'opérateur qu'on est dans le groupe 7 ou 5,4,3... En réalité Excel et VBA ne s'intéressent qu'au numéro effectif de l'engin :

Ainsi si l'on rajoute une machine dans le groupe 7, celle-ci devra être enregistré sous le N° 45 mais s'affichera 745 dans la feuille.

Dans le Userform il faudra créer (par Copier/Coller) un bouton et un label puis les renommer CommandButton45 et Label45 pour que les contrôles correspondent à l'iD de l'équipement.

J'ai peaufiné quelques détails de construction et de finition...

Maintenant je te laisse le plus gros du boulot : détecter les bugs.

Attention si tu décèles une erreur Il ne faudra pas me dire ça bug dans le "groupe 2"

Je veux pouvoir trouver exactement l'erreur :

Il faudra m'expliquer que l'équipement 212 (par exemple) se colore en jaune au lieu de bleu avec les dates des colonnes D, F et le status colonne G = 1...

Attention le système évalue la colonne G comme vide et pose un "1" en cas de maintenance anticipé... et il efface le 1 automatiquement quand on arrive<= à J+7 . Ne pas mettre de 0 qui serait évalué comme non vide et = 1 !!!

Le délai entre maintenance et prochaine maintenance est évalué colonne E ("vide" est interprété comme 120) pour modifier le délai il suffit d'inscrire un autre nombre (Exemple : Le 701 est à 300 jours)

Bon, Ben... bon courage pour les vérifications !

Incidemment je t'encourage à lorgner également du coté de Thihii qui semblait avoir aussi des idées sur la question.

Je n'ai rien dit sur le moment car c'est plus compliqué de gérer plusieurs interlocuteurs en même temps : Il faut alors penser à préciser à qui l'on répond sinon ça devient vite incompréhensible (et dans ce cas moi je me casse pas la tête...)

Je t'engage donc éventuellement à démarrer un autre fil avec Thihii (ou avec quiconque peut apporter d'autres idées...

A+

Je n'ai eu, ni le temps de tout lire, ni le temps d'avancer, j'étais occupé ailleurs...

galopin01, même si je n'ai pas tout compris, mon idée va bientôt être en ligne, cela n'empêche de mettre les tiennes, comme tout autre internaute.

Je suis partie sur une idée peu ordinaire, elle devrait en 'dérouter plus d'un'...

C'est également l'occasion de partager une vision différente, les UserForm ne sont pas forcément adaptés à ce que nous recherchons, du moins, c'est ce que je pense...

Dans la soirée, voir tard, dès que la lune sera très haute dans le ciel, je devrais poster une première maquette...

Bonsoir Thihii

Tu devrais peut-être ouvrir un fil "Gestion maintenance" (par exemple) sur ce sujet et ne mettre que le lien ici.

Sinon ça va devenir une pagaille ingérable entre nos échanges...

Bonsoir,

galopin01 a écrit :

Bonsoir Thihii

Tu devrais peut-être ouvrir un fil "Gestion maintenance" (par exemple) sur ce sujet et ne mettre que le lien ici.

Sinon ça va devenir une pagaille ingérable entre nos échanges...

peut être as-tu raison, j'ouvre un nouveau fil...

voici le lien : https://forum.excel-pratique.com/excel/exemples-de-gestion-de-maintenance-t99266.html

Le lien de Thihii ouvre la voie à toute une gamme de solutions un peu différentes dans la mesure ou on dispose d'une marge de manœuvre dans la conception de l'interface visuelle.

Dans cette hypothèse il est certain qu'une base de donnée unique pour tous les groupes, quelques filtres et un jeu de mise en formes conditionnelles ou/et quelques macros de mise en forme résoudraient également le problème de manière élégante et pratique.

Par contre si la hiérarchie est chatouilleuse ou si l'ergonomie est jugée insuffisante par les utilisateurs...

A+

Rechercher des sujets similaires à "macros appel procedure"