Microsoft 365 Compter cellule de couleur.

Anto35200

XLDnaute Occasionnel
Bonjour au forum,

Malgré les recherches sur internet, je ne trouve pas comment je peux faire pour compter le nombre de cellule de la couleur verte de mon fichier.
Je vous transmet en fichier joint le cas.

Je vous remercie à tous.
 

Pièces jointes

  • Compter cellule couleur..xlsx
    10 KB · Affichages: 10
Solution
Re

@Anto35200

Je te propose ce fichier

1) j'ai commenté tout le code

2) La demande ne correspond pas au fichier fournit !!!
Copier la feuille Devises dans le même fichier qui sera Devises(2)
1718211509357.png


Conséquence ==> J'ai fait la macro en fonction du fichier fournit et pas en fonction du post # 17

3) Une seule macro fait tout avec le résultat demandé directement

4) J'ai fait des essais ET tu vas rire mais cela fonctionne (!!!! 🤣
==> Cela fonctionne avec le fichier fournit au post # 17 ==> Extraction du 21.05.2024.xlsx

Merci de ton retour

Nicolas JACQUIN

XLDnaute Occasionnel
Supporter XLD
Bonjour,

VB:
Sub CompterCellulesEnvert()
Dim PlageTest As Range, iCell As Range
Set PlageTest = Range("A2:C24")
For Each iCell In PlageTest
    If iCell.Interior.color = RGB(146, 208, 80) Then
        CompterCellules = CompterCellules + 1
    End If
Next iCell
MsgBox "Il y a " & CompterCellules & " cellules vert."
[G28].Value = CompterCellules
End Sub

ou

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim PlageTest As Range, iCell As Range
Set PlageTest = Range("A2:C24")
For Each iCell In PlageTest
    If iCell.Interior.Color = RGB(146, 208, 80) Then
        CompterCellules = CompterCellules + 1
    End If
Next iCell
MsgBox "Il y a " & CompterCellules & " cellules vert."
[G28].Value = CompterCellules
End Sub

Bonne soirée.
Nicolas
 
Dernière édition:

Anto35200

XLDnaute Occasionnel
Bonjour,
Je pensais qu'il y aurait une solution sans macros.
Pour mon cas, ç'est compliqué de créer à chaque fois une macro sur ce fichier car celui-ci a un nom variable. Ce fichier est une extraction quotidienne à partir d'un logiciel.

Je pensais donc, s'il est possible d'exécuter ce fichier à partir d'un autre fichier ?

Je voudrai lancer une macro à partir d’un fichier appelé TRAVAIL .

Macro 1 :
L’ordre des tâches de la 1er macro sera la suivante :
  • Ouvrir le fichier « EXTRACTION du 21/05/2024 » (le nom du fichier variable selon la date du jour).
  • Copier la feuille Devises dans le même fichier qui sera Devises(2)
  • Copier de la plage A1 à la colonne I jusqu’à la dernière cellule vide
  • Faire un tri personnaliser du tableau
Trier par « Montant Total Monnaie de Paiement »

Trier sur Valeur de cellule

Ordre Du plus grand au plus petit.

Macro 2 :
La 2ème macro sera de compter le nombre de cellules de couleur vertes.

Il y a un début de macros qui permet seulement d'ouvrir le fichier.

En vous remercaint de votre aide.
 

Pièces jointes

  • TRAVAIL.xlsm
    18.3 KB · Affichages: 4
  • Extraction du 21.05.2024.xlsx
    10.8 KB · Affichages: 8

Nicolas JACQUIN

XLDnaute Occasionnel
Supporter XLD
Bonjour,
A la volé, sans avoir testé

VB:
Sub CompterCellulesEnvert()
Dim PlageTest As Range, iCell As Range
With ActiveWorkbook
Set PlageTest = Range("A2:C24")
For Each iCell In PlageTest
    If iCell.Interior.color = RGB(146, 208, 80) Then
        CompterCellules = CompterCellules + 1
    End If
Next iCell
MsgBox "Il y a " & CompterCellules & " cellules vert."
[G28].Value = CompterCellules
Wnd With
End Sub

si tu mets dans n'importe quel classeur ouvert au même moment, ça devrait fonctionner avec tous les fichiers actifs (ActiveWorkbook)
A+
Nicolas
 

laurent950

XLDnaute Accro
Bonsoir

avec cette fonction : CountColoredCells(Plage; la couleur de cette cellule va servire a trouver les couleur de cellules a trouver dans la plage)

Code:
=CountColoredCells(A2:D24;E28)

VB:
Function CountColoredCells(rng As Range, color As Range) As Long
    Dim cell As Range
    Dim count As Long
    count = 0
    For Each cell In rng
        If cell.Interior.color = color.Interior.color Then
            count = count + 1
        End If
    Next cell
    CountColoredCells = count
End Function
 

Anto35200

XLDnaute Occasionnel
Bonjour,
A la volé, sans avoir testé

VB:
Sub CompterCellulesEnvert()
Dim PlageTest As Range, iCell As Range
With ActiveWorkbook
Set PlageTest = Range("A2:C24")
For Each iCell In PlageTest
    If iCell.Interior.color = RGB(146, 208, 80) Then
        CompterCellules = CompterCellules + 1
    End If
Next iCell
MsgBox "Il y a " & CompterCellules & " cellules vert."
[G28].Value = CompterCellules
Wnd With
End Sub

si tu mets dans n'importe quel classeur ouvert au même moment, ça devrait fonctionner avec tous les fichiers actifs (ActiveWorkbook)
A+
Nicolas
Bonjour Nicolas, la solution ne fonctionne pas. J'ai 2 classeurs d'ouvert.
Le 1er fichier exécute la macro pour compte le nombre de cellules dans le 2è fichier.
 

Phil69970

XLDnaute Barbatruc
Re

@Anto35200

Je te propose ce fichier

1) j'ai commenté tout le code

2) La demande ne correspond pas au fichier fournit !!!
Copier la feuille Devises dans le même fichier qui sera Devises(2)
1718211509357.png


Conséquence ==> J'ai fait la macro en fonction du fichier fournit et pas en fonction du post # 17

3) Une seule macro fait tout avec le résultat demandé directement

4) J'ai fait des essais ET tu vas rire mais cela fonctionne (!!!! 🤣
==> Cela fonctionne avec le fichier fournit au post # 17 ==> Extraction du 21.05.2024.xlsx

Merci de ton retour
 

Pièces jointes

  • Extraction tri et comptage V1.xlsm
    22.3 KB · Affichages: 5

Anto35200

XLDnaute Occasionnel
Re

@Anto35200

Je te propose ce fichier

1) j'ai commenté tout le code

2) La demande ne correspond pas au fichier fournit !!!

Regarde la pièce jointe 1198712

Conséquence ==> J'ai fait la macro en fonction du fichier fournit et pas en fonction du post # 17

3) Une seule macro fait tout avec le résultat demandé directement

4) J'ai fait des essais ET tu vas rire mais cela fonctionne (!!!! 🤣
==> Cela fonctionne avec le fichier fournit au post # 17 ==> Extraction du 21.05.2024.xlsx

Merci de ton retour
Merci beaucoup

Phil69970 !
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 861
Messages
2 092 963
Membres
105 572
dernier inscrit
Anna17