Excel : affichage msg à l'ouverture feuille

Myth -  
 Myth -
Bonjour,

Je souhaite afficher un message lors de l'ouverture d'une feuille sur Excel.
Ce message va être en fonction du contenue de la feuille, C'est à dire il va vérifier si une condition est vrai pour lancer le message (condition sur contenue des cellules).

Je ne sais pas si je me suis bien exprimer, sinon je peux ré expliquer mon problème

A voir également:

3 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Tu as bien dit feuille et non classeur...
A mettre donc dans la feuille concernée :
Private Sub Worksheet_Activate()
    If [A1] = "" Then MsgBox ("Tu vas remplir A1 oui ????")
End Sub

eric
0
Myth
 
Merci Eric pour ta réponse,
C'est que j'ai un classeur de plusieurs feuille, et je dois vérifier le contenu de plusieurs cellules.
pour toutes les feuilles j'aurai la même condition qui sera de:
Si [la date dans la cellule (C1, C2 .... Cn) - Date d'aujourd'hui] < à "machin" afficher le message!

Normalement je vais faire comme suit :

Private Sub Worksheet_Activate()
If [C1] - 'date d'aujourdhui' < "10" Then
MsgBox ("la date va bientôt expirer")
End Sub

mais pour toutes les cellules? ^^

Merci d'avance
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Et pourquoi pas tout dire tout de suite ???

pour toutes les feuilles...
réellement toutes ?

Si [la date dans la cellule (C1, C2 .... Cn) - Date d'aujourd'hui] < à "machin" afficher le message!
machin est fixe dans le code ? variable ? dans une cellule de la feuille ? ou d'une feuille particulière ?

Et s'il y a 3 dates qui répondent au critères, on laisse chercher l'utilisateur ? on les liste ? on les met en rouge ? ou...

eric
0
Myth
 
Oui toutes les feuilles ;) je suis pas doué donc excuse mon ignorance.
ça serai parfait s'il colorise les dates (les cellules) qui vont bientôt expiré ^^ ça serai mieux je pense, sinon si c'est un peux compliquer qu'il les liste :D (si ça demande beaucoup d'expérience)
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Re,

à mettre dans thisworkbook :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim lig As Long
    Application.ScreenUpdating = False
    For lig = 2 To [C65536].End(xlUp).Row
        If IsDate(Cells(lig, 3)) And (Cells(lig, 3) - Date) < 10 Then
            Cells(lig, 3).Interior.ColorIndex = 38
        Else
            Cells(lig, 3).Interior.ColorIndex = xlNone
        End If
    Next lig
    Application.ScreenUpdating = True
End Sub

eric
0
Myth
 
Merci beaucoup Eric, je vais tester ça, je te dirai si je m'en sors ^^
0