Excel : affichage msg à l'ouverture feuille

Fermé
Myth - 21 juin 2011 à 20:59
 Myth - 21 juin 2011 à 23:07
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
21 juin 2011 à 21:12
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
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
21 juin 2011 à 21:36
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
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 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
21 juin 2011 à 23:01
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
Merci beaucoup Eric, je vais tester ça, je te dirai si je m'en sors ^^
0