Compter le nombre d'occurences dans une serie de feuilles

dguillerme

XLDnaute Junior
Bonsoir,

Je souhaiterais comptabiliser dans une feuille "Bilan", le nombre de fois où une note comprise entre 32 et 36 (inclus) apparait dans la cellule B2 pour les feuilles U, V, W, X, Y et Z de mon classeur (sachant que j'ai aussi des feuilles 1, 2 et 3).
De même pour une note comprise entre 37 et 41 et encore de même pour une note comprise entre 42 et 47.

J'aimerais afficher ces résultats dans les cellules C4, D4 et E4 de ma feuille "Bilan".

Comment puis-je procéder? Fichier test en PJ

Bien cordialement,
 

Pièces jointes

  • Test.xlsx
    14.4 KB · Affichages: 40
  • Test.xlsx
    14.4 KB · Affichages: 42
  • Test.xlsx
    14.4 KB · Affichages: 45

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compter le nombre d'occurences dans une serie de feuilles

Bonjour DGuillerme, bonjour le forum,

Je ne sais pas le faire par formule ! En pièce jointe ton fichier modifié avec le code ci-dessous :
Code:
Sub Macro1()
Dim O As Object 'déclare la variable O (Onglets)
Dim C(1 To 3) As Byte 'déclare le tableau de 3 variables C (Compteurs)
Dim I As Byte 'déclare la variable I (Incrément)

For Each O In Sheets(Array("U", "V", "W", "X", "Y", "Z")) 'boucle sur tous les onglets de la liste
    Select Case CByte(O.Range("B2").Value) 'agit en fonction de la valeur de la cellule B2 de l'onglet
        Case 32 To 36 'cas de 32 à 36
            C(1) = C(1) + 1 'incrémente le compteur C(1)
        Case 37 To 41 'cas de 37 à 41
            C(2) = C(2) + 1 'incrémente le compteur C(2)
        Case 42 To 47 'cas de 42 à 47
            C(3) = C(3) + 1 'incrémente le compteur C(3)
     End Select 'fin de l'action en fonction de ...
Next O 'prochain onglet de la boucle
For I = 1 To 3 'boucle sur les trois compteurs
    Sheets("Bilan").Cells(4, 2 + I).Value = C(I) 'place le total du compteur dans la cellule correspondante
Next I 'prochain compteur de la boucle
End Sub
Le fichier :
 

Pièces jointes

  • DGuillerme_v01.xlsm
    29.6 KB · Affichages: 34

dguillerme

XLDnaute Junior
Re : Compter le nombre d'occurences dans une serie de feuilles

Bonsoir Robert,

Merci beaucoup pour ta réponse et les commentaires dans le script qui me permettent de mieux le comprendre.

Les feuilles U, V, W etc... correspondent à des feuilles dont l'onglet se renomme automatiquement en fonction d'une valeur affichée dans l'une des cellules. Par conséquent, je ne peux pas prévoir à l'avance le nom de toutes les feuilles concernées. En fait, pourrait-on faire la recherche dans toutes les feuilles sauf les feuilles 1, 2, 3 et 4 par exemple?

Bien cordialement,

David
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compter le nombre d'occurences dans une serie de feuilles

Bonsoir le fil, bonsoir le forum

En pièce jointe la version 2 avec le code ci-dessous :
Code:
Sub Macro1()
Dim O As Object 'déclare la variable O (Onglets)
Dim C(1 To 3) As Byte 'déclare le tableau de 3 variables C (Compteurs)
Dim I As Byte 'déclare la variable I (Incrément)

For Each O In Sheets 'boucle sur tous les onglets du classeur
    Select Case O.Name 'agit en fonction du nom de l'onglet
        Case "Bilan", "1", "2", "3" 'cas "Bilan", "1", "2" et "3" (rien ne se passe)
        Case Else 'tous les autres cas
            Select Case CByte(O.Range("B2").Value) 'agit en fonction de la valeur de la cellule B2 de l'onglet
               Case 32 To 36 'cas de 32 à 36
                   C(1) = C(1) + 1 'incrémente le compteur C(1)
               Case 37 To 41 'cas de 37 à 41
                   C(2) = C(2) + 1 'incrémente le compteur C(2)
               Case 42 To 47 'cas de 42 à 47
                   C(3) = C(3) + 1 'incrémente le compteur C(3)
            End Select 'fin de l'action en fonction de la valeur de la cellule B2 de l'onglet
        End Select 'fin de l'action en fonction du nom de l'onglet
Next O 'prochain onglet de la boucle
For I = 1 To 3 'boucle sur les trois compteurs
    Sheets("Bilan").Cells(4, 2 + I).Value = C(I) 'place le total du compteur dans la cellule correspondante
Next I
End Sub
Le fichier :
 

Pièces jointes

  • DGuillerme_v02.xlsm
    30.6 KB · Affichages: 32

dguillerme

XLDnaute Junior
Re : Compter le nombre d'occurences dans une serie de feuilles

Bonsoir Renyeu,

Merci beaucoup pour ta proposition.

J'ai bien compris ta procédure. Mais serait-il possible que les noms de feuilles U, V, W, X etc... s'affichent automatiquement d'après le noms des onglets? J'ai en effet une matrice d'environ 50 feuilles... cela m'éviterait de les saisir à la main.

Bien cordialement,

David
 

JCGL

XLDnaute Barbatruc
Re : Compter le nombre d'occurences dans une serie de feuilles

Bonjour à tous,

Une proposition par formules mais en *.xlsm (donc activation des macros nécessaires) car ce fichier contient une fonction XL4 : LIRE.CLASSEUR()

=STXT(LIRE.CLASSEUR(1);TROUVE("]";LIRE.CLASSEUR(1))+1;99)&INDIRECT("IV65000")

Prévu pour 52 onglets mais extensible par recopie des formules.

A+ à tous

Edition : Ajout lien vers Feuilles
 

Pièces jointes

  • JC Synthèses Feuilles Formules.xlsm
    23.7 KB · Affichages: 47
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 024
Messages
2 084 724
Membres
102 642
dernier inscrit
isa_mat