Bonjour a tous,
Veuillez m'excuser pour les accent, j'utilise un QWERTY.
J'ai un fichier, ou je souhaite faire un pourcentage (par ligne) du nombre de cellules Jaunes qui sont remplie.
J'ai une fonction qui me calcule le nombre de cellules jaunes dans la ligne, et je fais un counta pour calculer le nombre de cellules non-vides.
Or le CountA calcule egalement les cellules remplies qui ne sont pas jaunes.
Ma question est donc, comment faire pour ce pourcentage de cellules jaunes remplie sans prendre en compte celles qui sont remplies mais blanches?
Voici ma macro:
Merci d'avance pour votre aide.
Cordialement,
Delux
Veuillez m'excuser pour les accent, j'utilise un QWERTY.
J'ai un fichier, ou je souhaite faire un pourcentage (par ligne) du nombre de cellules Jaunes qui sont remplie.
J'ai une fonction qui me calcule le nombre de cellules jaunes dans la ligne, et je fais un counta pour calculer le nombre de cellules non-vides.
Or le CountA calcule egalement les cellules remplies qui ne sont pas jaunes.
Ma question est donc, comment faire pour ce pourcentage de cellules jaunes remplie sans prendre en compte celles qui sont remplies mais blanches?
Voici ma macro:
Code:
Sub Percentage_of_Attributes()
Dim mySource As Range
Dim myCible As Range
Dim Cel As Range
Dim dl As Integer
Dim dc As Byte
On Error Resume Next
Application.ScreenUpdating = False
Sheet1.Select
dl = Sheet1.Range("A65489").End(xlUp).Row 'derniere ligne remplie en se basant sur la colonne A
dc = Sheet1.Range("A3").End(xlToRight).Column 'derniere colonne remplie en se basant sur la ligne 4
Set mySource = Sheet1.Range(Cells(4, 3), Cells(dl, dc)) 'definit la source en utilisant les dernieres cellules remplies
Set myCible = Sheet1.Range(Cells(4, dc + 2), Cells(dl, dc + 2)) 'definit la cible
For Each Cel In myCible
If Sheet1.Range("C" & Cel.Row).Interior.ColorIndex = 6 Then
Cel.Value = (Application.WorksheetFunction.CountA(Sheet1.Range(Cells(Cel.Row, 3), Cells(Cel.Row, dc))) * 100) / sommecouleur(Sheet1.Range(Cells(Cel.Row, 3), Cells(Cel.Row, dc)), Sheet3.Range("A14"))
Else
Cel.Value = 0
End If
Next Cel
End Sub
Merci d'avance pour votre aide.
Cordialement,
Delux