Planification : Écrire 1 en comparant 2 cases contenant des dates

Bonjour le Forum,

Je vous joint le fichier en pièce jointe pour mieux visualiser mon problème (celui ci est réduit, il compte normalement plus de 20 000 lignes).

Je cherche à écrire le chiffre 1 dans la case de la semaine correspondant à chaque date de Prog ou de Reprog (la Date Butée n'est pas concernée) pour chaque ligne de mon tableau. J'ai déjà essayé avec une macro utilisant la formule =SI("S" & NO.SEMAINE.ISO($D2) & " " & ANNEE($D2)=J$1;"1";SI("S" & NO.SEMAINE.ISO($E2) & " " & ANNEE($E2)=J$1;"1";SI("S" & NO.SEMAINE.ISO($F2) & " " & ANNEE($F2)=J$1;"1";SI("S" & NO.SEMAINE.ISO($G2) & " " & ANNEE($G2)=J$1;"1";SI("S" & NO.SEMAINE.ISO($H2) & " " & ANNEE($H2)=J$1;"1";SI("S" & NO.SEMAINE.ISO($I2) & " " & ANNEE($I2)=J$1;"1";"")))))) dans chaque case de mon tableau mais celle ci est bien trop lourde et la macro est irréalisable vu le nombre de cases à compléter. Je cherche donc à remplacer mon système de SI dans chaque case par une macro bien plus efficace et faisant la même chose donc qui écrit le chiffre 1 dans la case correspondant à l'année et la semaine correspondant à chaque Prog ou Reprog.

P.S : Il est inutile de planifier les lignes ou la date Prog est supérieur à 2 ans à partir d'aujourd'hui ce qui peut permettre d'améliorer la vitesse d'exécution de la macro.

Merci d'avance pour vos réponses !

Pierre

16classeur1.xlsx (192.51 Ko)

Excusez moi, petite rectification, le bon fichier est en pièce jointe de ce message !

9classeur1.xlsx (485.45 Ko)

Bonjour Pierrooo,

Le traitement est un peu long (~1 minute) mais ça fonctionne, a tester :

Cordialement,

Merci beaucoup ca marche parfaitement ! Je clos le sujet

Rechercher des sujets similaires à "planification ecrire comparant cases contenant dates"