Re
Comprenez qu'ils n'est pas possible, pour nous, de revenir encore sur EXCEL.
Je n'ai pas trop compris. VBA est utilisé pour les applications Office et donc Excel
Mais bon avec le temps vous verrez qu'éviter VBA est aussi éviter pas mal de soucis notamment pour les mises à jour
Pour votre demande en VBA
En fait si vous regardez la formule que je vous ai données vous voyez directement l'erreur
- Votre code mentionne la première ligne en ligne 12. Là vous êtes en ligne 2
- vous devez répéter la plage pour chaque condition de date
C'est pour cette raison que je vous disais qu'il vaut mieux passer par les formules que par VBA quand cela est possible et pour des cas simples
Essayez en remplaçant tout votre code comme ceci
Option Compare Text
Sub Comparaison()
Dim startdate As Date, endDate As Date
startdate = "01/01/2021"
endDate = "31/12/2025"
'1-4 Ans - Femmes (+)
Sheets("INDEX").Range("e7") = Application.CountIfs(Worksheets("LISTE PATIENTS").Range("d2:d100"), "F", _
Worksheets("LISTE PATIENTS").Range("g2:g100"), "Nouveaux cas consultés référés", _
Worksheets("LISTE PATIENTS").Range("h2:h100"), "Cas consultés", _
Worksheets("LISTE PATIENTS").Range("e2:e100"), ">=" & CLng(startdate), _
Worksheets("LISTE PATIENTS").Range("e2:e100"), "<=" & CLng(endDate))
End Sub
De cette sorte vous avez toutes les solutions
Rem :
- Avec VBA évitez toujours les accents et espaces dans le nom des feuilles. Cela n'apporte que des soucis
- en E2 veillez à avoir le même format de date que les cellules suivantes --> 29-08-2022 (là vous avez 29/08/2022)
Attention que si vous passez vos tableau au format structuré, tous vos codes seront à changer
Si ok, pensez à cloturer le fil
Cordialement