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 macroNbSheets = 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
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 macroNbSheets = 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