VBA COUTIFS Probleme

Hello à tous,

J'ai ce bout de code qui fonctionne tres bien mais qui est tres lent :

With Worksheets("CRM")

Range("F7") = Application.CountIfs(.Range("G20:G20000"), "NMA", .Range("B20:B20000"), "<=" & Format(Date, "dd/mm/yyyy"))

End With

Ce que je voudrais faire c'est pouvoir cumuler les COUNTIFS mais dès que j'en mets un deuxiemme ca fait planter excel ...

Je voudrais arriver a un code qui fasse ceci :

With Worksheets("CRM")

Range("F7") = Application.CountIfs(.Range("G20:G20000"), "NMA", .Range("B20:B20000"), "<=" & Format(Date, "dd/mm/yyyy"))

Range("E7") = Application.CountIfs(.Range("G20:G20000"), "ADU", .Range("B20:B20000"), "<=" & Format(Date, "dd/mm/yyyy"))

Range("G7") = Application.CountIfs(.Range("G20:G20000"), "CCA", .Range("B20:B20000"), "<=" & Format(Date, "dd/mm/yyyy"))

End With

Voilà

Merci bcp

Nico

Bonjour,

essayer sans la mise en forme date,

With Worksheets("CRM")
Range("F7") = Application.CountIfs(.Range("G20:G20000"), "NMA", .Range("B20:B20000"), "<=" Date) 
End With

Hello SABV,

J'ai essayé mais ca ne change rien.

Dès que je met une deuxième occurence de countifs ca fait planter excel ...

Y a t'il un autre moyen en VBA d'arriver au meme resultat ?

Bonjour,

pouvez-vous faire le test sur ce fichier ? (voir Feuil2)

se produit il la même erreur ?

Ok j'ai trouvé d'ou cela venait.

Ca bouclait infiniment à cause du OnWorskheetChange.

J'ai rajouter un IF comme ceci :

If Range("F7") <> Application.WorksheetFunction.CountIfs(.Range("G20:G2000"), "NMA", .Range("B20:B2000"), "<=" & Format(Date, "dd/mm/yyyy")) Then

Range("F7") = Application.WorksheetFunction.CountIfs(.Range("G20:G2000"), "NMA", .Range("B20:B2000"), "<=" & Format(Date, "dd/mm/yyyy"))

Cela evite la boucle .

Erreur de débutant ..

Merci bcp en tout cas

Rechercher des sujets similaires à "vba coutifs probleme"