XL 2010 comparaître des date en vba

zozo

XLDnaute Occasionnel
Le Bonjour à tous les membres du forum,
Je viens de réaliser un programme en vba dont fichier joint, ce dernier doit me faire ressortir les enregistrement liés à ma condition de date, qui est relative à une période bien déterminée.
Malheureusement, je n'obtiens aucun résultat sans atteindre la solution à mon problème.
Je vous remercie de me venir en aide.
 

Pièces jointes

  • Permis.xlsm
    19.3 KB · Affichages: 12

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour zozo, le forum
[édition: bonjour à toi aussi @JHA ]

zozo, il y a un bug là
Code:
Cells(lgne2, 1) = np
un autre ici
Code:
np = Cells(ligne, 1)
un aussi là je pense
Code:
ligne = 6
un autre ici je pense aussi
Code:
If date1 >= .Cells(ligne, 2).Value And date2 <= .Cells(ligne, 2).Value Then
et la condition date1 >= .Cells(ligne, 2).Value ne peut de toute façon jamais être remplie puisque ce n'est le cas d'aucune de tes valeurs, date1=01/01/2021, la première valeur est au 02/01/2021
Changes ta date de début au 02/01/2021 pour tester le code joint.
Aussi, pour les comparaisons de date, il vaut mieux utiliser value2 qui renverra la date en valeur
Value renvoie Date, Currency, String ou Double
Value2 renvoie uniquement String ou Double
Et un option explicit au début de ton code t'aurait permis d'éliminer d'entrée certains bugs

Bien cordialement, @+

Code:
Sub rap_hebdo()
'
' rap_hebdo Macro
'
Dim date1, date2, deliv, expir As Date
Dim np As String
ligne2 = 6
With Worksheets("RAPPORT")
   date1 = Cells(2, 2).Value2
   date2 = Cells(2, 4).Value2
End With

With Worksheets("TABLE")
    nbr = .Range("A" & .Rows.Count).End(xlUp).Row
    For ligne = 2 To nbr
        If date1 >= .Cells(ligne, 2).Value2 And date2 <= .Cells(ligne, 3).Value2 Then
            np = .Cells(ligne, 1).Value
            deliv = .Cells(ligne, 2).Value
            expir = .Cells(ligne, 3).Value
            With Worksheets("RAPPORT")
                 Cells(ligne2, 1) = np
                 Cells(ligne2, 2) = deliv
                 Cells(ligne2, 3) = expir
                 ligne2 = ligne2 + 1
            End With
         End If
    Next ligne
End With
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel