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 SubC'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