Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Comparaison de dates

  • Initiateur de la discussion Initiateur de la discussion GGPS58
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

GGPS58

XLDnaute Occasionnel
Bonjour à tous.

Mon soucis : J'essayes de comparer deux dates mais je n'arrive jamais à avoir le résultat que je souhaites malgré ce qui est affiché.
Par exemple je lui fais comparer "09/06/2009" avec le paramètre "Date" en VBA, mais il ne trouve jamais d'égalité alors que la date est bien la même.
Je vous joins un document pour plus de clarté.
Mes recherches sur le forum, m'ont permis de trouver une piste (voir fichier joint), mais je n'arrive pas à réaliser quelque chose qui fonctionne, malgré mes multiples tentatives.

D'avance merci de vos conseils.
 

Pièces jointes

Re : Comparaison de dates

Bonjour,

Essais ce code


Code:
Sub Macro1()

Dim Ligne As Integer
Dim Reponse As Integer

last_Ligne = Sheets("Décompte").Range("g1000").End(xlUp).Row

'J'ai l'impression que l'erreur vient de la ligne suivante ...
jour = Mid(Now, 1, 10)

For Ligne = 4 To last_Ligne
    If CDate(Cells(Ligne, 7)) = jour Then
    
        MsgBox "A priori, l'enregistrement éxiste déjà, voulez-vous continuer ?", vbYesNo, "ATTENTION"
        If Reponse = vbYes Then
            Range("g" & Ligne + 1) = Format(CDate(Date), "DD/MM/YYYY")
            Range("h" & Ligne + 1) = Range("e20").Value
        End If
        
        If Reponse = vbNo Then
            Exit Sub
        End If
    Else
            
    End If
Next
Range("g" & Ligne) = CDate(jour)
Range("h" & Ligne) = Range("e20").Value

End Sub
 
Re : Comparaison de dates

Bonjour GGPS58, Pyrof,

Je n'ai pas testé le code de Pyrof, mais la ligne
Code:
If CDate(Range("g" & Ligne).Value) = Date And Range("h" & Ligne) = Range("E20") Then
fonctionne, pour autant que la date en G4 ou G5 soit bien le 09/06/2009 et non le 06/09/2009.
En tout cas ça fonctionne jusqu'à l'affichage du message d'avertissement !
... après, il y a encore un peu de "ménage à faire" (tu testes la valeur de Reponse, sans lui en donner préalablement !?)

En pièce jointe, ton code original avec quelques modifs

Modeste
 

Pièces jointes

Re : Comparaison de dates

Bonjour,
Merci PYROF et merci MODESTE pour vos éclairages.
J'avoues que vos codes n'ont pas fonctionné (ou du moins cela ne faisait pas ce que je souhaitais). Mais par contre cela m'a permis de trouver mon erreur, et maintenant cela fonctionne parfaitement.
Encore merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…