Bonjour
Je laisse gmb continuer le VBA
Cependant il y a des anomalies sur ton classeur : les formules des feuilles VA sont inutilement compliquées et en matriciel pour la colonne A ce qui va pénaliser le temps de calcul.
De façon générale, tes tests avec NBCAR sont inutiles : par défaut tu auras 0 si vide donc, pour la colonne A, masque les 0 par un format de nombre approprié
Dans la mesure où tu utilises des formules pointant sur BD1, le tri suit automatiquement celui de BD1 sauf si le code insère des lignes au lieu d'écrire en fin de tableau
Les tableaux structurés doivent être nommés de façon signifiante : on ne garde pas les noms automatiques de type Tableau 1
Cela évite, entre autres, des formules peu lisibles et pas maintenables comme
=SIERREUR(Tableau9[@colle1]+Tableau99[@colle1]+Tableau9913[@colle1]+Tableau991318[@colle1];"VA")
Pour ceux qui servent de référence, onglet Sources, ils ne doivent pas contenir de ligne vide : le code, se référant au Databodyrange de ces ListObjects, pourra être simple et suivre l'évolution du nombre de lignes
Juxtaposer des tableaux structurés comme tu le fais dans BD1 me parait une mauvaise idée : soit les lignes doivent être synchronisées et ce doit être un seul tableau, sinon séparer les tableaux par une colonne même très étroite.
Les MFC de Recap sont à optimiser :
pour les week end
=ET(D$9<>"";OU(JOURSEM(D$8;2)>5))
pour les JF
=NB.SI(Sources!$M$3:$N$612;D$8)
pour le rouge une seule MFC
=OU(D11="VA";D11<0)
et optimiser les plages d'aplication pour ne pas déboubler une même MFC