Créer message box au démarrage avec fonction si
Résolu
Audrey
-
Audrey -
Audrey -
Bonjour,
Je cherche à créer une message box lors de l'ouverture d'un fichier, mais pas une simple message box.
Je vous explique, j'ai incorporé une fonction si dans mon fichier pour mettre en avant les retards de production et j'aimerais que s'affiche le nom des clients (en retard de production) dans le message au demarrage.
C'est possible?
Je cherche à créer une message box lors de l'ouverture d'un fichier, mais pas une simple message box.
Je vous explique, j'ai incorporé une fonction si dans mon fichier pour mettre en avant les retards de production et j'aimerais que s'affiche le nom des clients (en retard de production) dans le message au demarrage.
C'est possible?
2 réponses
-
Bonjour,
Quel langage svp ??-
-
-
-
-
michel_m
Habituellement le message qui s'affiche est un message pré-défini, "bonjour"...
Ce que j'aimerais c'est que mon message alerte l'utilisateur qui ouvre le fichier que tels et tels clients sont en retard de production, en fonction de ce qui s'affiche dans mon dossier.
Je ne sais pas si c'est possible
-
-
Et voilà!
Option Explicit Const Retard As String = "attention retard commande!" Private Sub Workbook_Open() Dim Derlig As Byte, Nbre As Byte, Cptr As Byte, Lig As Byte, Liste As String 'MsgBox "Ca marche" With Sheets(1) Derlig = .Columns("B").Find("", .Range("B2"), xlValues).Row - 1 'nbre de retard Nbre = Application.CountIf(.Range("K3:K" & Derlig), Retard) If Nbre = 0 Then MsgBox "aucun retard de commande" Exit Sub Else Lig = 2 For Cptr = 1 To Nbre 'recherche "retard" Lig = .Columns("K").Find(Retard, .Cells(Lig, "K"), xlValues).Row 'compile la liste de clients en retard Liste = Liste & .Cells(Lig, "B") & "; " Next 'enlève le dernier "; " Liste = Left(Liste, Len(Liste) - 2) MsgBox "Clients en retard commande: " & vbLf & Liste, vbExclamation End If End With End Sub
-
-
-
-
Option Explicit Const Retard As String = "attention retard commande!" Private Sub Workbook_Open() Dim Feuille As Byte, Derlig As Byte, Nbre As Byte, Cptr As Byte, Lig As Byte, Liste As String For Feuille = 1 To ThisWorkbook.Sheets.Count With Sheets(Feuille) Derlig = .Columns("B").Find("", .Range("B2"), xlValues).Row - 1 'nbre de retard Nbre = Application.CountIf(.Range("K3:K" & Derlig), Retard) If Nbre = 0 Then MsgBox "aucun retard de commande" Exit Sub Else Lig = 2 For Cptr = 1 To Nbre 'recherche "retard" Lig = .Columns("K").Find(Retard, .Cells(Lig, "K"), xlValues).Row 'compile la liste de clients en retard Liste = Liste & .Cells(Lig, "B") & "; " Next End If End With Next 'enlève le dernier "; " Liste = Left(Liste, Len(Liste) - 2) MsgBox "Clients en retard commande: " & vbLf & Liste, vbExclamation End Sub -
-