Bouton de validation périodique

Bonjour à tous,

Je viens vers vous car j'ai aucune connaissance avec les boutons excel ou autre fonctionnalité.

Mon problème est le suivant, Sur chaque boutons "Maintenance" j'aimerais que le bouton soit vert pendant 7 jours, et après cette période le bouton passe au rouge. Pour que le bouton repasse au vert j'aimerais juste cliquer dessus et ça relance la période de 7 jours.

J’espère avoir étais claire, je vous joint mon Document.

Merci de votre aide !!

Bonjour,

Il faut commencer par choisir des boutons ActiveX pour faire ça.

Cordialement.

doublon

bonjour,

D'accord merci je vais essayer en changeant les boutons.

j'entre ça comme code mais je sais pas si c'est bon ni si ça correspond a mon attente.

" Private Sub CommandButton1_Click()

Dim message As String, Title As String

Dim Default As VbMsgBoxStyle

Dim Response As VbMsgBoxResult

message = "Veuillez confirmer la validation de l'entretien."

Title = "Demande confirmation"

Default = vbYesNo + vbQuestion

Response = MsgBox(message, Default, Title)

lannée = Range("B4").Value

newentretien = jour + 7

Select Case Response

Case vbNo

Exit Sub

Case vbYes

MsgBox "Bonjour " & Application.UserName & " bouton va devenir inactif et le prochain entretien en : " & newentretien, vbInformation

CommandButton1.BackColor = vbGreen

CommandButton1.Enabled = False

End Select

End Sub "

Cordialement

Non ! Ça n'ira pas, il faut enregistrer la date pour vérifier le temps chaque jour, et les procédures pour gérer l'ensemble sont à mettre dans ThisWorkbook.

Commence par remplacer tes boutons... on verra après (pour l'instant je dois partir...)

j'ai modifier tout mes boutons par des ActiveX !

Tu remets pas de fichier ?

Si le voilà !

Excusez moi

Bonsoir,

Le dispositif que je propose : les boutons Maintenance, pareillement nommés (cbMaint) renvoient à une macro unique (située en Module1) en lui passant de nom de feuille (machine). La procédure demande confirmation comme tu l'avais prévu et si confirmé inscrit la date de nouvel entretien en I3, désactive le bouton et le colore en vert.

Une procédure (dans ThisWorkbook) interviendra tous les jours à l'ouverture du classeur pour vérifier les dates de nouvel entretien sur toutes les feuilles, si la date est atteinte (ou dépassée), elle réactive le bouton et le colore en rouge. Elle affiche la liste des machines avec les dates d'entretien prévue dans un message ("Aucun entretien prévu" s'il n'y en a pas).

J'ai également au passage remplacé tes diverses macros de déplacement par une seule sur laquelle pointent tous les boutons...

Cordialement.

Bonjour,

Un grand merci tout correspond je pense, par contre je n'arrive pas a rejoindre les page "wt 300" et "unimab" sinon vous avez fait exactement se que je souhaité faire au début donc merci

C'est bon, mes nom de page étaient pas identique parfaite au case ou je cliquais, merci encore de votre travail !

C'est juste que les noms doivent être rigoureusement identiques :

WT300 <=====> WT 300

UNIMAB <=====> UNIMAB 400

Cordialement.

Une question, j'ai vu avec mon responsable, et donc il me demande si avec le tableur excel, si nous faisons la maintenance 1 jour avant et que nous cliquons sur le bouton les 7 jours sont relancé ? Car des fois il peut avoir 1 ou 2 jour de décalage mais il ne voudrait pas revenir 1 jour après pour cliqué ?

Merci de votre aide

Cordialement

Bonjour,

Pour l'instant, tu as prévu que le bouton n'était pas disponible avant 7 jours... si tu veux pouvoir l'utiliser un jour avant, il faut un dispositif pour pouvoir le faire.

Exemple : on peut rendre le bouton actif un jour avant l'échéance...

Ensuite, dans le cas où maintenance un jour plus tôt, il faut décider si l'entretien suivant doit être à 7 jours de l'entretien effactué en avance, ou à 7 jours de la date prévue (initialement pour le lendemain donc).

Il faut définir des règles précises pour pouvoir les traduire en code qui exécutera ces décisions...

Cordialement.

Bonjour,

Alors on voudrait faire en sorte que le bouton soit actif tout le temps et qu'a chaque clique sur le bouton, cela relance les 7 jours peut importe du jour. Mais si les 7 jour sont dépassé alors le bouton est rouge. Car mon supérieur veut qu'au maximum cela soit fait a 7 jours d'intervalle mais moins c'est mieux donc il faudrait que le cycle de 7 jour soit possible a relancer 1 ou 3 jour avant(par exemple) la date prévus et alors les 7 jours seraient compter a partir du nouveau clique.

Dites moi si vous avez compris et merci.

Cordialement

On peut laisser le bouton actif tout le temps si tu le souhaites ?

Oui avoir le bouton actif tout le temps mais du coup si il est actif faut que la période de 7 jours soit possible à relancer chaque jour si on le souhaiterais

Modification fort simple, il suffit de supprimer la désactivation et la réactivation du bouton...

Dans Maintenance (Module1), remplacer :

        With .cbMaint
            .BackColor = vbGreen
            .Enabled = False
        End With

par :

        .cbMaint.BackColor = vbGreen

et dans Workbook_Open (ThisWorkbook), remplacer :

                    With Sh.OLEObjects("cbMaint").Object
                        .Enabled = True
                        .BackColor = vbRed
                    End With

par :

                    Sh.OLEObjects("cbMaint").Object.BackColor = vbRed

Cordialement.

Je vous avoue que je ne sais même pas faire ça car quand j'ai changé, si je clique sur un bouton vert j'ai un message d'erreur..

Fichier où c'est fait.

Rechercher des sujets similaires à "bouton validation periodique"