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?
A voir également:
- Créer message box au démarrage avec fonction si
- Ordinateur lent au démarrage - Guide
- Fonction si et - Guide
- Reinitialiser pc au demarrage - Guide
- Forcer demarrage pc - Guide
- Comment créer un groupe whatsapp - Guide
2 réponses
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
j'aimerais que s'affiche le nom des clients (en retard de production) Je suppose que ces noms sont dans une plage de cellules.
j'ai incorporé une fonction si dans mon fichier Formule ou code VBA ??
A+
quelle différence ?
Je cherche à créer une message box lors de l'ouverture d'un fichier, mais pas une simple message box.
La fonction Si est insérée en formule dans mon fichier
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