Message box qui alerte une liste des actions qui dépassent la da
lthuy_811
-
lthuy_811 -
lthuy_811 -
Bonjour à tous,
Je suis en train de travailler sur un fichier de suivi pour les actions à mettre en place suite à un problème qualité. Pour cela, j'ai créé le code suivant pour obtenir un "message box" alertant les actions "overdue" ( celles qui dépassent la date limite) quand j'ouvre mon fichier Excel :
Private Sub Workbook_open()
Dim relance As Range
For Each relance In ActiveSheet.Range("QNrelance")
valeur = Cells(relance.Row, 1)
If relance = "Y" Then
MsgBox "QN ref" & valeur & " need to be relaunched", vbCritical
Else
End If
Next
End Sub
Donc Range "QNrelance" est la colonne où se trouve mes valeurs "Y" ou "N" ( Y = il faut relancer, N = pas besoin de relancer)
La valeur = cells(relance.Row,1) est la référence des actions ( se trouve dans la colonne A) qui correspond à "Y" ( se trouve dans la colonne K).
Le résultat est donc : A chaque fois j'ouvre mon fichier excel, j'ai une message box qui s'affiche pour chaque action à relancer ( 2 actions = 2 message box)
J'aimerais vous demander s'il existe une méthode pour grouper les actions dans une seule message box. Par exemple si aujourd'hui j'ai 2 actions à relancer, ca va afficher une seule fenêtre avec une liste qui contient ces 2 actions, mais pas 2 fenêtres dont chaque fenêtre pour 1 action.
Je vous remercie beaucoup pour votre réponse, en espérant que je n'ai pas très mal expliqué ma situation.
Bonne journée à vous tous,
Je suis en train de travailler sur un fichier de suivi pour les actions à mettre en place suite à un problème qualité. Pour cela, j'ai créé le code suivant pour obtenir un "message box" alertant les actions "overdue" ( celles qui dépassent la date limite) quand j'ouvre mon fichier Excel :
Private Sub Workbook_open()
Dim relance As Range
For Each relance In ActiveSheet.Range("QNrelance")
valeur = Cells(relance.Row, 1)
If relance = "Y" Then
MsgBox "QN ref" & valeur & " need to be relaunched", vbCritical
Else
End If
Next
End Sub
Donc Range "QNrelance" est la colonne où se trouve mes valeurs "Y" ou "N" ( Y = il faut relancer, N = pas besoin de relancer)
La valeur = cells(relance.Row,1) est la référence des actions ( se trouve dans la colonne A) qui correspond à "Y" ( se trouve dans la colonne K).
Le résultat est donc : A chaque fois j'ouvre mon fichier excel, j'ai une message box qui s'affiche pour chaque action à relancer ( 2 actions = 2 message box)
J'aimerais vous demander s'il existe une méthode pour grouper les actions dans une seule message box. Par exemple si aujourd'hui j'ai 2 actions à relancer, ca va afficher une seule fenêtre avec une liste qui contient ces 2 actions, mais pas 2 fenêtres dont chaque fenêtre pour 1 action.
Je vous remercie beaucoup pour votre réponse, en espérant que je n'ai pas très mal expliqué ma situation.
Bonne journée à vous tous,
A voir également:
- Message box qui alerte une liste des actions qui dépassent la da
- Liste déroulante excel - Guide
- Recuperer message whatsapp supprimé - Guide
- Fausse alerte mcafee - Accueil - Piratage
- Message absence thunderbird - Guide
- Message supprimé whatsapp - Guide
1 réponse
Bonjour,
Essaie avec
A+
Essaie avec
Private Sub Workbook_open()
Dim relance As Range
Dim Msg As String
Msg = "Actions qui doivent être relancées : " & Chr(10)
For Each relance In ActiveSheet.Range("QNrelance")
If Cells(relance.Row, 1).Value = "Y" Then
Msg = Msg & Cells(relance.Row, 11) & Chr(10)
End If
Next
MsgBox Msg, vbCritical
End Sub
A+
Cela a marché parfaitement quand j'ai changé la ligne " if cells(relance.row,1).value = "Y" en " if relance = "Y" ( car mes valeur Y se trouve dans les cellules "relance" de la colonne QNrelance) comme on a déterminé.
Et j'ai changé aussi à la fin sur cells(relance.row,11) en cells(relance.row,1).
Merci encore une fois !!
Bon week end à vous.