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 :

[VBA] Test entre deux dates + affichages


Sujet :

Macros et VBA Excel

  1. #1
    titocv723
    Invité(e)
    Par défaut [VBA] Test entre deux dates + affichages
    Bonjour,

    Je cherche à créer une macro pour mon fichier excel sur une comparaison entre 2 dates.
    En gros, j'ai une colonne de date (colonne Q de ma sheet "Liste") qui contienne des dates à ne pas dépasser. J'aimerais créer une macro qui à l'ouverture du fichier excel, teste si les dates contenues dans cette colonnes sont dépassées et si Oui m'affiche un pop up avec la valeur de la cellule E correspondante dans la sheet "Liste (si la date G5 est dépassée pop up avec le texte contenu dans la cellule E5). J'aimerais que s'il y a plusieurs dates dépassées il affiche dans le même pop up toutes les cellules E correspondantes.
    Est ce faisable ? Et si oui pouvez vous m'aider?

    Merci de votre aide.

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Cela devrait ressembler à :
    Code à insérer dans un module standard : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub TEST()
    Dim x As String, i As Integer
     
    With Sheets("liste")
        '7 = colonne G, remplacer 7 par 17 si colonne Q
        For i = 2 To .Cells(Rows.Count, 7).End(xlUp).Row
            If .Cells(i, 7) < Date Then x = x & Chr(10) & .Cells(i, 5).Value
        Next
    End With
     
    MsgBox "Dates dépassées :" & Chr(10) & x
     
    End Sub
    Code à insérer dans l'objet ThisWorkbook : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    TEST
    End Sub
    Dans ton message tu dis que les dates sont situées en colonne Q et ensuite tu dis qu'elles sont en colonne G...donc à vérifier et adapter si nécessaire
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  3. #3
    Membre actif
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Points : 246
    Points
    246
    Par défaut
    Bonjour

    Je ne comprends pas bien tes références colonnes alors pour l'exemple ci dessous, j'ai placé à partir de A2 les dates à tester et à partir de B2 les dates limites. Je considère qu'il n'y a pas de cellules vides dans ta liste de dates de la colonne A.
    Place ce code dans "ThisWorkbook" de ton 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
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub Workbook_Open()
        Lig = 2
        Col = 1
        Msg = ""
     
        Do
            DateTest = Cells(Lig, Col).Value
            If DateTest = "" Then Exit Do
     
            DateRef = Cells(Lig, Col + 1).Value
            If DateTest > DateRef Then
                Msg = Msg & DateTest & " ligne= " & Lig & Chr(10)
            End If
            Lig = Lig + 1
        Loop
        If Msg <> "" Then
            Beep
            MsgBox (Msg)
        Else
            MsgBox ("R.A.S !")
        End If
    End Sub
    à plus

  4. #4
    titocv723
    Invité(e)
    Par défaut
    Merci Fring, c'était exactement ce que je voulais.

Discussions similaires

  1. Test entre deux dates faux
    Par samgratt dans le forum QlikView
    Réponses: 3
    Dernier message: 23/10/2014, 14h11
  2. vba tri entre deux dates et valeur oui/non
    Par david29170 dans le forum IHM
    Réponses: 4
    Dernier message: 08/06/2011, 10h52
  3. VBA: Différence entre deux dates
    Par csilas dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/06/2008, 20h57
  4. [VBA] Différence entre deux dates
    Par Julien42 dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/04/2007, 16h13
  5. [VBA] Calculer la différence entre deux dates
    Par T'chab dans le forum Access
    Réponses: 13
    Dernier message: 11/05/2006, 15h12

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