Compter le nombre d'occurences dans une serie de feuilles

  • Initiateur de la discussion Initiateur de la discussion dguillerme
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

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

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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour