Bonjour amies et amis Excellistes,
N'ayant que des connaissances sommaires en programmation VBA, je vous sollicite.
J'ai un problème avec "Application.WorksheetFunction" car j'ai un message le message d'erreur suivant: "Erreur définie par l'application ou par l'objet".
"Application.WorksheetFunction" fonctionne avec la fonction CountIf (ci-dessous) dans une autre macro
NbSheets = Application.WorksheetFunction.CountIf(Sheets("sol2").range(Cells(12, 36), Cells(14, 41)), 1).
QUESTION: Est-ce que "Application.WorksheetFunction" est compatible avec des fonctions ne se trouvant pas dans le catalogue proposé par Microsoft comme NbColor2 (en bas) ou y a-t'il une astuce pour que cela fonctionne?
la fonction nbcolor2 a été trouvée sur internet et n'est pas au catalogue mais fonctionne parfaitement dans les feuilles Excel.
Voici le code qui pose problème:
Sub NbVert ()
Dim Nbnum as Integer
Nbnum = Application.WorksheetFunction.NbColor2(Sheets(feuil1).range(Cells(1, 1), Cells(1, 20)), 4)
End Sub
(Nbnum est le nombre de cellules de couleur verte).
Les cellules vertes sont colorées par macro.
-----------------------------------
Function NbColor2(ByRef Plage As range, ByRef Couleur As Byte) As Long
Application.Volatile
Dim c As range
Dim nb As Long
nb = 0
For Each c In Plage
If c.Interior.ColorIndex = 4 Then
nb = nb + 1
End If
Next c
NbColor2 = nb
End Function
Merci d'avance pour votre aide,
Cordialement