Alerte messageBox

Bonjour,

A cours de compétences , je bloque sur les messages box.

Pouvez-vous m'aider à afficher un message d'alerte ( 30 jours avant la date d'échéance) sur le fichier joint,

"Attention"

Prochaine échéance !

DURAND Alain

le 20/02/2017

et

"Attention"

Date dépassée !

DUVAL Pierre

Le fichier de 5 noms, en contient en réalité 50, et, est évolutif.

Merci d'avance.

Bonjour Brindille,

loin de moi l'idée de vouloir minimiser tes besoins mais ces alertes sont déjà clairement affichées!

Que désires-tu exactement?

A+

Bonsoir,

en ce moment j'utilise une application du type PROSPER (voir ma signature)

Mais elle a une "fonction" supplémentaire :

lorsque je me rend sur la feuille accueil, un "scan" est fait sur tout le personnel, et le code VBA crée un commentaire lié à la cellule Nom-Prénom du personnel avec en texte (pour exemple) :

opération 1 : dépassée depuis le 09/01/2017

opération 4 : en limite avec une date butée au 17/02/2017

opération 7 : pas encore effectuée

Et un simple survol sur la cellule nom-prénom, le commentaire s'affiche

Ce système est jumelé avec une mise en couleur de la cellule Nom-Prénom :

blanc = OK

Jaune = au moins une opération est en limite

Rouge = au moins une opération est dépassée

Parce que votre système de MSGBOX me semble un "lourd" si il doit y en avoir un pour chaque personnel, car 50 x 5 = 250 messages... bien que ce soit rare

@ vous de voir

@ bientôt

LouReeD

Merci de me répondre si rapidement.

Oui, vous avez raison. Est-ce qu'une alerte par ligne soit par nom, sur la feuille "État" serait envisageable ?

J'ai vu grand pour les 50 noms, pour le moment nous sommes que 25.

La feuille "État" a en réalité, quelques colonnes de plus. Pour la lisibilité immédiate, une "alerteBox" me semblait une solution.

Je vais regarder ton application LouReed.

Encore une fois merci à tous.

Bonsoir,

quelques jours plus tard....

ci dessous le code de mon application qui gère la mise à jour des commentaires à l'activation de la feuille "Accueil" qui ressemble à votre feuille :

Sub Init_Commentaires()
    Application.ScreenUpdating = False
    Worksheets("Accueil").Unprotect
    Worksheets("Accueil").Range("A8:A" & [nb_personnels] + 7).ClearComments
    Dim liste_opération As String, hauteur, texte As String
    ' scan de toutes les feuilles du personnel
    début = [décalage] + 2
    fin = [décalage] + [nb_opérations] + 1
    ' nombre de feuilles dans le classeur
    nb_feuille = Worksheets.Count
    ' nombre de feuille autre que fiche de suivi personnel
    nb_feuille_sys = [nb_feuilles_system]
    ' on boucle toutes les feuilles de suivi
    For onglet = nb_feuille_sys + 1 To nb_feuille
        liste_opération = ""
        hauteur = 0.2
        texte = ""
        For operation = début To fin
            ' si l'opération est suivi par ce personnel
            If Worksheets(onglet).Cells(operation, 24).Value = True And (IsDate(Worksheets(onglet).Cells(operation, 11).Value) Or Worksheets(onglet).Cells(operation, 11).Value = "") Then
                ' si l'opération est périmée
                If Worksheets(onglet).Cells(operation, 27).Value = True Then
                    texte = " - dépassée depuis le " & Worksheets(onglet).Cells(operation, 13).Value
                ' si l'opération est limite
                ElseIf Worksheets(onglet).Cells(operation, 26).Value = True Then
                    texte = " - limite de validitée le " & Worksheets(onglet).Cells(operation, 13).Value
                ' si l'opération n'est pas faite
                ElseIf Worksheets(onglet).Cells(operation, 11).Value = "" Then
                    texte = " - Non effectuée"
                Else
                    texte = ""
                End If
                ' si il ya a un commentaire sur cette opération on agrandit la zone commentaire
                If texte <> "" Then
                    liste_opération = liste_opération & texte & " - " & Worksheets(onglet).Cells(operation, 9).Value & Chr(10)
                    hauteur = hauteur + 0.2
                End If
            End If
        Next operation
        For i = 1 To [nb_personnels]
            If Worksheets("Accueil").Cells(7 + i, 1).Value = Worksheets(onglet).Name And liste_opération <> "" Then
                ' ajout du commentaire et mise en forme
                Worksheets("Accueil").Cells(7 + i, 1).AddComment
                Worksheets("Accueil").Cells(7 + i, 1).Comment.Visible = True
                Worksheets("Accueil").Cells(7 + i, 1).Comment.Text Text:=liste_opération
                Worksheets("Accueil").Cells(7 + i, 1).Comment.Visible = False
                Worksheets("Accueil").Cells(7 + i, 1).Comment.Shape.ScaleWidth 8#, msoFalse, msoScaleFromTopLeft
                Worksheets("Accueil").Cells(7 + i, 1).Comment.Shape.ScaleHeight hauteur, msoFalse, msoScaleFromTopLeft
            End If
        Next i
    Next onglet
    Worksheets("Accueil").Protect
    Application.ScreenUpdating = True
End Sub

C'est surtout pour vous montrer le principe...

@ bientôt

LouReeD

Merci LouReeD,

C'est bien au-delà de mes compétences et de mes espérances.

J'apprécie beaucoup votre site pour sa richesse et les services que vous pouvez apporter

à de vieux novices tel que moi.

A bientôt

Brindille84120

Salut tout le monde,

Brindille, VIEUX novice?

Vieille branche, oui!

A+, collègue!

Bonsoir,

voici votre fichier modifié :

Maintenant, s'il y a un triangle rouge sur le nom du personnel c'est qu'il y a une alerte.

Il suffit de "glisser" le curseur de la souris sur le nom du personnel et le commentaire s'affiche avec la liste des butées dépassée ou arrivant en limite ou bien encore non effectuée.

@ bientôt

LouReeD

Rechercher des sujets similaires à "alerte messagebox"