Bonjour à toutes et à tous,
Je cherche à corriger une ligne de code qui me permet de sélectionner l'onglet sur lequel les données seront à recopier en fonction d'un calcul de date (si le retard est inférieur à 1 mois, données seront sur R1, entre 1 et 3 mois sur R2, au delà sur R3)
Voici le code (donné par l'un des membres, HASCO) :
J'arrive à obtenir le placement sur l'onglet R1 des données qui conviennent,
Sur l'onglet R2 j'ai la surprise de constater qu'un enregistrement n'est pas convenablement reporté
Sur l'ongle R3 rien n'est reporté
Merci beaucoup pour votre aide
Je cherche à corriger une ligne de code qui me permet de sélectionner l'onglet sur lequel les données seront à recopier en fonction d'un calcul de date (si le retard est inférieur à 1 mois, données seront sur R1, entre 1 et 3 mois sur R2, au delà sur R3)
Voici le code (donné par l'un des membres, HASCO) :
Code:
With shSource.Cells(lig, 7)
If IsDate(.Value) Then
'établir un index de nom de feuille suivant la valeur de dif
dif = Date - .Value
idxFeuille = (((dif <= 0) * 1) + ((dif >= 1 And dif <= 30) * 1) + ((dif >= 31 And dif <= 90) * 2) + ((dif > 90) * 3)) * -1
'Récupérer la feuille destination en fonction de son index
Set shDest = GetSheet("R" & idxFeuille, ThisWorkbook, False)
If Not shDest Is Nothing Then
shDest.Cells(Rows.Count, 1).End(xlUp)(2).Resize(, 8).Value = shSource.Cells(lig, 1).Resize(, 8).Value
End If
End If
End With
J'arrive à obtenir le placement sur l'onglet R1 des données qui conviennent,
Sur l'onglet R2 j'ai la surprise de constater qu'un enregistrement n'est pas convenablement reporté
Sur l'ongle R3 rien n'est reporté
Merci beaucoup pour votre aide