Récupère une ligne sur 2 à cause du format date

Bonjour,

J'ai une macro qui fonctionne à 90% correctement cependant un problème survient quand j'ai 2 lignes avec le même mois de paie - il ne récupère que la 1ère ligne et pas la 2ème.

Le problème semble venir du format qui ne lui convient pas car quand je force en supprimant la formule cela fonctionne.

Pour exemple dans le fichier au lien ci-dessous :

Sur l'onglet TEST1 dans la période d'absence si je laisse la formule, il ne prend que la 1ère ligne dans l'onglet RESUME en lancant la macro

Sur l'onglet TEST 2 en forcant la période manuellement, cela fonctionne, il prend les 2 lignes.

J'avoue être perdu sur ce problème

Merci d'avance pour le coup de main !

Cédric

Bonjour,

La macro ne prend pas la 2e date, car elles sont différentes.

Ce qui est trompeur, c'est que tu as appliqué un masque (mois / année) pour l'affichage dans les cellules et la macro, elle, tient compte des jours.

En fait, DatePaie = 01 février 2020

.Range("AK" & i).Value2 égale le 01 février 2020 pour la 1re date et 20 février 2020 pour la 2e date.

Une façon ...

Modifie le test de comparaison pour ne tenir compte que du mois et de l'année

Une 2e façon ...

Donne le premier jour du mois à .Range("AK" & i).Value2, ainsi, le résultat de la comparaison sera Vrai.

ric

Hello Ric,

Effectivement, je n'avais pas fait attention la solution était très simple finalement

Je viens d'appliquer la fonction date à ma cellule pour avoir le 1er jour a chaque fois et cela fonctionne parfaitement

=IF(B4="";"";EOMONTH(B4;-1)+1)

un grand merci pour ton aide précieuse

bonne journée

Cédric

ric

Rechercher des sujets similaires à "recupere ligne cause format date"