Bonjour à tous,
Je rencontre actuellement un soucis pour comparer 2 dates. L'une est une date lue d'un planning, l'autre est une "manipulation savante" qui suit la démarche suivante :
- Une fonction VBA me trouve les jour fériés dynamiquement en fonction de l'année.
- Je change le format des cellule en type date via excel pour qu'il m'affiche le résultat de type jj/mm/aaaa
La fonction des jours fériés est la suivante :
	
	
	
	
	
		
Me demandez pas ce que la fonction ci-dessus fait, elle marche très bien pour trouvé les jours indexés sur Paques.
Cette derniere me renvoi une variable de type Long (donc convertie dans la cell excel en date jj/mm/aaaa).
Le souci est que je la compare avec une variable de type string appelée Day avec la fonction suivante :
	
	
	
	
	
		
J'ai testé les valeurs lues par la macro, elles sont bien au même format (c.a.d jj/mm/aaaa)
Mais la fonction me retourne toujours FAUX après comparaison.
Quelqu'un peut-il m'aider à comprendre ceci ?
Merci d'avance
	
		
			
		
		
	
				
			Je rencontre actuellement un soucis pour comparer 2 dates. L'une est une date lue d'un planning, l'autre est une "manipulation savante" qui suit la démarche suivante :
- Une fonction VBA me trouve les jour fériés dynamiquement en fonction de l'année.
- Je change le format des cellule en type date via excel pour qu'il m'affiche le résultat de type jj/mm/aaaa
La fonction des jours fériés est la suivante :
		Code:
	
	
	Function Paques(Yr As Integer) As Long
  Dim Century As Integer
  Dim Sunday As Integer
  Dim Epact As Integer
  Dim Golden As Integer
  Dim LeapDayCorrection As Integer
  Dim SynchWithMoon As Integer
  Dim N As Integer
  Golden = (Yr Mod 19) + 1
  Century = Yr \ 100 + 1
  LeapDayCorrection = 3 * Century \ 4 - 12
  SynchWithMoon = (8 * Century + 5) \ 25 - 5
  Sunday = 5 * Yr \ 4 - LeapDayCorrection - 10
  Epact = (11 * Golden + 20 + SynchWithMoon - LeapDayCorrection) Mod 30
  If Epact < 0 Then Epact = Epact + 30
  If (Epact = 25 And Golden > 11) Or Epact = 24 Then Epact = Epact + 1
  N = 44 - Epact
  If N < 21 Then N = N + 30
  N = N + 7 - ((Sunday + N) Mod 7)
  Paques = DateSerial(Yr, 3, N)
End Function
	Me demandez pas ce que la fonction ci-dessus fait, elle marche très bien pour trouvé les jours indexés sur Paques.
Cette derniere me renvoi une variable de type Long (donc convertie dans la cell excel en date jj/mm/aaaa).
Le souci est que je la compare avec une variable de type string appelée Day avec la fonction suivante :
		Code:
	
	
	Private Function isFerie(Day As String) As Boolean
    Dim JF As Object
    Worksheets("Configuration").Activate
    
    Range("G14:G24").Select
    
    For Each JF In Selection
        
        'MsgBox JF.Value
        
        If JF.Value = Day Then
            isFerie = True
        Else
            isFerie = False
        End If
    Next
    
    'MsgBox JF.Value & "; " & Day & "; " & isFerie
    
    Worksheets("Extraction_Planning").Activate
End Function
	J'ai testé les valeurs lues par la macro, elles sont bien au même format (c.a.d jj/mm/aaaa)
Mais la fonction me retourne toujours FAUX après comparaison.
Quelqu'un peut-il m'aider à comprendre ceci ?
Merci d'avance
			
				Dernière édition: