IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

créer un pop up avertissement vba excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 89
    Par défaut créer un pop up avertissement vba excel
    Salut tous le monde


    Dans mon document excel, je veux créer en vba un popup qui m'avertir si un permis de conduire est expiré pour un chauffeur et cela, à l'ouverture du fichier excel.

    Dans la colone A, ce trouve le nom du chauffeur et dans la colone D ce trouve la date d'expiration.

    comment faire?


    Merci.



  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour


    tu peux tester cette procédure
    L'evenement workbook_open est déclenché lors de l'ouverture du classeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub workbook_open()
        Dim Dt As Range
        Dim Ws As Worksheet
     
        Set Ws = Worksheets("StatutPermis")
     
        For Each Dt In Ws.Range("D8:D" & Ws.Range("D65536").End(xlUp).Row)
            If Dt < Date Then _
                MsgBox "La date a expiré pour " & Dt.Offset(0, -3) & " '" & _
                Dt & "'", _
                vbExclamation, " message d'alerte "
        Next Dt
     
    End Sub

    michel

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 89
    Par défaut
    Merci beaucoup pour la formule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub workbook_open()
    Dim Dt As Range
    Dim Ws As Worksheet
     
    Set Ws = Worksheets("Permis")
     
    For Each Dt In Ws.Range("D7:D137")
      If Dt < Date Then _
          MsgBox "LE PERMIS A EXPIRÉ POUR " & Dt.Offset(0, -3) & " " & " , " & _
          Dt & " ", _
          vbExclamation, " RENOUVELER LE PERMIS "
    Next Dt
     
    End Sub


    Par contre, je dois finir la liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each Dt In Ws.Range("D7:D137")
    D137 car sinon tous les autres case qui sont vides par la suite, fait apparaitre le message d'alerte.

    Comment faire pour éviter qu'une case vide fait apparaitre le message d'alerte?

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    je ne suis pas sur d'avoir bien compris mais tu peux essayer


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      If Dt < Date And Dt <> "" Then

    Tu peux aussi redéfinir la plage D7 : Dxx, pour ne pas prendre en compte les cellules vides.



    michel

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 89
    Par défaut
    re bonjour,

    j'ai essaié ce que tu me propose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Private Sub workbook_open()
    Dim Dt As Range
        Dim Ws As Worksheet
     
        Set Ws = Worksheets("Permis")
     
        For Each Dt In Ws.Range("D7:D137")
                  If Dt < Date And Dt <> "" Then
                MsgBox "LE PERMIS A EXPIRÉ POUR " & Dt.Offset(0, -3) & " " & " , " & _
    Dt & " ", _
                vbExclamation, " RENOUVELER LE PERMIS "
        Next Dt
     
        'Masque directement la feuille si cette derniere est visible
    If Sheets("Utilisateurs").Visible = True Then Sheets("Utilisateurs").Visible = False
     
     
    'Rend la feuille visible si mot de passe OK
    If InputBox("MOT DE PASSE POUR L'ACCÈS AUX UTILISATEURS", vbCritical) = "test" Then
       Sheets("Utilisateurs").Visible = True
    End If
     
    With ActiveWindow
            .DisplayHeadings = False
            .DisplayWorkbookTabs = False
        End With
     
           UserForm1.Show
     
    End Sub
    Mais il me donne comme message : erreur de compilation: Next sans for.



    Je dois descentre plus bas dans la feuille excel car je rajoute des noms de chauffeurs régulièrement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each Dt In Ws.Range("D7:D65000")
    merci encore


  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    il faut ajouter un underscore après l'instruction Then

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If Dt < Date And Dt <> "" Then _
    michel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-Excel] Créer un événement à partir d'une cellule excel
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2007, 11h36
  2. [VBA-Excel] Message d'avertissement "You must select a shape"
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/11/2006, 17h01
  3. Réponses: 3
    Dernier message: 31/08/2006, 10h22
  4. [VBA-Access]Pop-up avertissant un rendez-vous imminent
    Par DomBourti dans le forum Access
    Réponses: 5
    Dernier message: 11/05/2006, 22h01
  5. [VBA Excel] Créer plusieurs contrôles dynamiquement
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/12/2005, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo