Correction de calcul sur date VBA

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 !

fb62840

XLDnaute Impliqué
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) :
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
 

Pièces jointes

- 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

Réponses
4
Affichages
362
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
79
Réponses
5
Affichages
490
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Réponses
3
Affichages
240
Réponses
4
Affichages
147
Réponses
2
Affichages
405
Retour