Créer message box au démarrage avec fonction si
Résolu/Fermé
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
- Message - Guide
- Fonction si et - Guide
- Pc lent au démarrage - Guide
- Reinitialiser pc au demarrage - Guide
- Créer un compte google - Guide
2 réponses
f894009
Messages postés
17240
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 février 2025
1 713
29 juil. 2013 à 17:51
29 juil. 2013 à 17:51
Bonjour,
Quel langage svp ??
Quel langage svp ??
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
30 juil. 2013 à 11:48
30 juil. 2013 à 11:48
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
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
Modifié par michel_m le 30/07/2013 à 17:45
Modifié par michel_m le 30/07/2013 à 17:45
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
30 juil. 2013 à 06:47
30 juil. 2013 à 08:28
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+
30 juil. 2013 à 08:50
quelle différence ?
Je cherche à créer une message box lors de l'ouverture d'un fichier, mais pas une simple message box.
30 juil. 2013 à 09:14
La fonction Si est insérée en formule dans mon fichier
Modifié par Audrey le 30/07/2013 à 09:37
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