Message d'alerte "conditionnel" à l'ouverture du fichier - besoi
Résolu/Fermé
HIBISCUS988
Messages postés
31
Date d'inscription
jeudi 9 février 2017
Statut
Membre
Dernière intervention
15 mars 2018
-
9 févr. 2017 à 01:10
HIBISCUS988 Messages postés 31 Date d'inscription jeudi 9 février 2017 Statut Membre Dernière intervention 15 mars 2018 - 9 févr. 2017 à 12:40
HIBISCUS988 Messages postés 31 Date d'inscription jeudi 9 février 2017 Statut Membre Dernière intervention 15 mars 2018 - 9 févr. 2017 à 12:40
A voir également:
- Message d'alerte "conditionnel" à l'ouverture du fichier - besoi
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Recuperer message whatsapp - Guide
- Message d'absence thunderbird - Guide
7 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
9 févr. 2017 à 08:17
9 févr. 2017 à 08:17
Bonjour,
1-
Place dans un de tes modules la fonction suivante :
Que tu appelles, dans le module ThisWorkbook par :
2-
choix 1 : Ta MFC peut être restreinte à moins de 65000 cellules comme c'est le cas actuellement
choix 2 : tu peux la remplacer par une macro événementielle.
1-
Place dans un de tes modules la fonction suivante :
Function Alerte(What As String) As Double Alerte = WorksheetFunction.CountIf(Sheets("reservations").Columns(8), What) End Function
Que tu appelles, dans le module ThisWorkbook par :
Private Sub Workbook_Open() Dim Msg As String Dim NbTerm As Double, NbRequis As Double, NbEcheance As Double NbEcheance = Alerte("échéance à surveiller") If NbEcheance > 0 Then Msg = "Vous avez " & NbEcheance & " réservation(s) en cours, échéance à surveiller" & vbCrLf NbRequis = Alerte("réquisition à faire") If NbRequis > 0 Then Msg = Msg & "Vous avez " & NbRequis & " réquisition(s) à faire et à transmettre à la compagnie aérienne concernée" & vbCrLf NbTerm = Alerte("terminé") If Msg = "" And NbTerm > 0 Then Msg = "Vous n’avez pas de réservations en cours" Else Msg = Msg & "Vous avez " & NbTerm & " réservations terminées" End If MsgBox Msg, vbInformation End Sub
2-
choix 1 : Ta MFC peut être restreinte à moins de 65000 cellules comme c'est le cas actuellement
choix 2 : tu peux la remplacer par une macro événementielle.
HIBISCUS988
Messages postés
31
Date d'inscription
jeudi 9 février 2017
Statut
Membre
Dernière intervention
15 mars 2018
1
9 févr. 2017 à 11:14
9 févr. 2017 à 11:14
Bonjour, et Merci infiniment Pijaku pour tes explications, je viens de tester et il y a 2 ou 3 petits détails qui ne vont pas, mais c’est de ma faute, dans la précipitation, j’ai oublié certains détails d’importance.
Dans la feuille réservations, dans la colonne G, j’ai 3 niveaux d’alertes automatiques :
1 : pour « réquisition à faire » Message d’alerte à l’ouverture du fichier : « vous avez nbre réquisitions à faire …..» + icône rouge critical
2 : pour « réservation en cours, échéance à surveiller » Message d’alerte à l’ouverture du fichier « Vous avez nbre réservations en cours, échéances à surveiller » + icône jaune exclamation
3 : pour « terminé » Message d’alerte à l’ouverture du fichier « Vous n’avez pas de réservations en cours » + icône information Uniquement si aucune autre alerte (1) et (2) en cours
Pour la MFC, je vais essayer de trouver une macro événementielle et tester ça sur mon fichier.
- Je te présente toutes mes excuses en espérant que tu pourras encore m’aider avec ces précisions (si c’est possible). Ca serait vraiment génial. Merci d’avance.
Dans la feuille réservations, dans la colonne G, j’ai 3 niveaux d’alertes automatiques :
1 : pour « réquisition à faire » Message d’alerte à l’ouverture du fichier : « vous avez nbre réquisitions à faire …..» + icône rouge critical
2 : pour « réservation en cours, échéance à surveiller » Message d’alerte à l’ouverture du fichier « Vous avez nbre réservations en cours, échéances à surveiller » + icône jaune exclamation
3 : pour « terminé » Message d’alerte à l’ouverture du fichier « Vous n’avez pas de réservations en cours » + icône information Uniquement si aucune autre alerte (1) et (2) en cours
Pour la MFC, je vais essayer de trouver une macro événementielle et tester ça sur mon fichier.
- Je te présente toutes mes excuses en espérant que tu pourras encore m’aider avec ces précisions (si c’est possible). Ca serait vraiment génial. Merci d’avance.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
9 févr. 2017 à 11:21
9 févr. 2017 à 11:21
Tu veux donc 2 ou 3 MsgBox.
Ok.
Ok.
Private Sub Workbook_Open() Dim NbRequis As Double, NbEcheance As Double NbEcheance = Alerte("échéance à surveiller") If NbEcheance > 0 Then MsgBox "Vous avez " & NbEcheance & " réservation(s) en cours, échéance à surveiller", vbExclamation NbRequis = Alerte("réquisition à faire") If NbRequis > 0 Then MsgBox "Vous avez " & NbRequis & " réquisition(s) à faire et à transmettre à la compagnie aérienne concernée", vbCritical If NbRequis + NbEcheance = 0 Then MsgBox "Vous n’avez pas de réservations en cours", vbInformation End Sub
HIBISCUS988
Messages postés
31
Date d'inscription
jeudi 9 février 2017
Statut
Membre
Dernière intervention
15 mars 2018
1
9 févr. 2017 à 11:41
9 févr. 2017 à 11:41
Merci pijaku, je viens de tester, le message à l'ouverture me dit que je n'ai pas de réservation en cours, alors que j'en ai une avec échéance au 15 février (alerte 2 ne fonctionne pas). Merci pour ton aide.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
9 févr. 2017 à 11:47
9 févr. 2017 à 11:47
Chez moi ça fonctionne avec le fichier que tu nous as transmis.
Vérifie les saisies dans les cellules (attention aux espaces supplémentaires, majuscules etc)
Vérifie les saisies dans les cellules (attention aux espaces supplémentaires, majuscules etc)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
HIBISCUS988
Messages postés
31
Date d'inscription
jeudi 9 février 2017
Statut
Membre
Dernière intervention
15 mars 2018
1
9 févr. 2017 à 11:54
9 févr. 2017 à 11:54
Effectivement, j'ai enlevé la majuscule de "Echéance à surveiller", et ça fonctionne. Mais du coup je ne comprends pas, car ça fonctionne pour l'alerte 3 avec une majuscule à "Terminé". En tous cas merci infiniment pour ton aide, je me lance dans la macro événementielle pour mon dernier objectif.
HIBISCUS988
Messages postés
31
Date d'inscription
jeudi 9 février 2017
Statut
Membre
Dernière intervention
15 mars 2018
1
9 févr. 2017 à 12:10
9 févr. 2017 à 12:10
Pijaku, je suis un peu perfectionniste, et en rajoutant plusieurs échéances avec des niveaux d'alerte 1 et 2, les messages d'alerte à l'ouverture suivent l'ordre des cellules, donc il m'affiche le message d'alerte 2 avant les messages d'alerte 1. Aurais tu une astuce pour que les alertes 1 s'affichent en premier (réquisition à faire). Désolée d'abuser de ton temps, et d'avance un grand merci pour ton aide, je galère depuis pas mal de temps et toi tu me donnes la solution en 5 minutes.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 741
Modifié par pijaku le 9/02/2017 à 12:24
Modifié par pijaku le 9/02/2017 à 12:24
Toi, tu n'as rien compris au code...
Private Sub Workbook_Open() Dim NbRequis As Double, NbEcheance As Double NbRequis = Alerte("réquisition à faire") If NbRequis > 0 Then MsgBox "Vous avez " & NbRequis & " réquisition(s) à faire et à transmettre à la compagnie aérienne concernée", vbCritical NbEcheance = Alerte("échéance à surveiller") If NbEcheance > 0 Then MsgBox "Vous avez " & NbEcheance & " réservation(s) en cours, échéance à surveiller", vbExclamation If NbRequis + NbEcheance = 0 Then MsgBox "Vous n’avez pas de réservations en cours", vbInformation End Sub
HIBISCUS988
Messages postés
31
Date d'inscription
jeudi 9 février 2017
Statut
Membre
Dernière intervention
15 mars 2018
1
9 févr. 2017 à 12:40
9 févr. 2017 à 12:40
Tu as tout compris pijaku, je n'y comprends pas grand chose .... Mais je ne demande qu'à apprendre ... Je te remercie encore et encore pour ton aide ça fonctionne super bien. Allez, je retourne dans mes macros événementielles ... Pas finie la galère :)