Bonjour à tous les deux,
Lorsqu'on valide la plage choisie (dates), le fichier "Banque.xlsx" n'est pas ouvert. Il est donc normal que vous ne puissiez pas utiliser une feuille de ce fichier. C'est votre erreur 9. Pour la corriger, vous devez commencer par ouvrir le fichier Banque.xlsx.
A la 1ère erreur, remplacez :
With Workbooks("C:\CPF\Banque.xlsx").Sheets("Banque")
par :
Dim wS As Worksheet
Workbooks.Open "C:\CPF\Banque.xlsx"
Set wS = ActiveWorkbook.Sheets("Banque")
wS.Activate
With wS
etc.
Ensuite, faites la même chose sur les 4 procédures où on trouve la même erreur, mais puisque le fichier banque est déjà ouvert, sans la ligne :
Workbooks.Open "C:\CPF\Banque.xlsx"
Pour terminer modifiez également votre code à la fermeture du classeur.
Le plus important :
Plusieurs remarques sur votre code qu'il faudrait que vous corrigiez au plus vite pour ne pas prendre de mauvaises habitudes.
1) paramétrez votre interface de développement VBE en cochant "Déclaration obligatoire des variables". Cela signifie que tout votre code est à re-écrire. C'est long, mais vous serez gagnant sur la ligne d'arrivée.
2) vous avez déclaré une quantité astronomique de variables comme "Public". C'est ce qu'il y a de pire, parce que les variables ne se vident jamais de leur dernier contenu. Catastrophe assurée parce que les résultats peuvent être faux sans que vous le sachiez.
3) Puisque j'ai trouvé votre erreur dans 6 procédures, cela signifie que vous avez tapé votre code au kilomètre. Il faut progresser "en tirailleur", pas à pas, et corriger les erreurs immédiatement avant de passer à la suite.