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

3 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. 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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
    2. 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
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    1. Myth
       
      Merci beaucoup Eric, je vais tester ça, je te dirai si je m'en sors ^^
      0