compter les occurences d'une valeur donnée dans plusieurs feuilles de calcul

kaspy

XLDnaute Nouveau
Bonjour à tous.

J'imagine que ma question est assez basique, mais je débute sur Excel.

J'ai un classeur qui comporte une centaine de feuilles, toutes ont la même structure.

dans chaque feuille, la cellule c69 est susceptible de prendre 4 valeurs distinctes, de 1 à 4.

Je souhaiterais résumer dans un tableau le nombre de fois qu'apparait chacune de ces valeurs sur les 100 feuilles, par exemple 25 fois le 1, 10 fois le 2, 50 fois le 3 et 15 fois le 4.

Petit bonus: de nouvelles feuilles s'ajoutent régulièrement, cela serait parfait si le tableau pouvait s'incrémenter automatiquement à chaque ajout d'une nouvelle feuille dans le classeur.

Merci d'avance.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : compter les occurences d'une valeur donnée dans plusieurs feuilles de calcul

Bonjour Kaspy,

Par formule je sais pas faire... Un proposition VBA :
Code:
Sub Macro1()
Dim o As Object 'déclare la variable o (Onglet)
Dim t1 As Double 'déclare la variable t1 (Total de la valeur 1)
Dim t2 As Double 'déclare la variable t2 (Total de la valeur 2)
Dim t3 As Double 'déclare la variable t3 (Total de la valeur 3)
Dim t4 As Double 'déclare la variable t4 (Total de la valeur 4)

For Each o In Sheets 'boucle sur tous les onglets du classeur
    Select Case o.Range("C69").Value 'agit en fonction de la valeur de la cellule C69 de l'onglet
        Case 1 'si la valeur est 1
            t1 = t1 + 1 'incrémente t1
        Case 2 'si la valeur est 4
            t2 = t2 + 1 'incrémente t2
        Case 3 'si la valeur est 3
            t3 = t3 + 1 'incrémente t3
        Case 4 'si la valeur est 4
            t4 = t4 + 1 'incrémente t4
    End Select 'fin de l'action en fonction de ...
Next o 'prochain onglet de la boucle
MsgBox t1 & " fois la valeur 1" & Chr(13) _
    & t2 & " fois la valeur 2" & Chr(13) _
    & t3 & " fois la valeur 3" & Chr(13) _
    & t4 & " fois la valeur 4" 'message affichant les totaux
End Sub
 

kaspy

XLDnaute Nouveau
Re : compter les occurences d'une valeur donnée dans plusieurs feuilles de calcul

Merci beaucoup Robert.

Ca semble fonctionner très bien, même si je n'ai pas recompté à la main . Pour tester, j'ai simplement assigné ta macro à un bouton que j'ai créé.
Je suppose que partant de là ce doit être faisable de créer une feuille "consolidation" et d'avoir un mini-tableau qui renvoie les valeurs t1, t2 etc... mais je suis trop nul pour savoir comment faire.
C'est important pour moi de pouvoir extraire les valeurs sous cette forme, car je dois les utiliser ensuite pour faire des stats.

Merci d'avance pour vos lumières!
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : compter les occurences d'une valeur donnée dans plusieurs feuilles de calcul

Bonsoir Kaspy, bonsoir le forum,

Le nombre de valeurs peut-il être variable ? Ces valeurs peuvent-elles être variables ? La plage peut-elle être, elle aussi variable ? En attendant ta réponse pour te préparer une code...
 

kaspy

XLDnaute Nouveau
Re : compter les occurences d'une valeur donnée dans plusieurs feuilles de calcul

Re-bonsoir Robert.

La réponse est, en gros, non à tout: la plage est toujours constituée d'une seule et même cellule (C69 dans l'exemple), dans toutes les feuilles, et qui ne peut prendre que les 4 valeurs suivantes: 1,2,3 ou 4. Mon souci, tu t'en doutes, c'est que la fameuse cellule C69 a une cinquantaines de petites soeurs pour lesquelles je dois répéter l'opération.

Je pense qu'on doit pouvoir y arriver avec la fonction SOMME.SI, mais je maîtrise trop mal Excel pour y arriver.
Ca devrait ressembler à ça, pour une cellule de la feuille consolidation qui compte le nombre de fois que C69 prend la valeur "1": =SOMME.SI(feuille1:feuille100!C69;1;feuille1:feuille100!C69)
Mais ça me retourne un code d'erreur, je pense que ma syntaxe est fausse...
De plus, lorsque je vais créer la feuille 101, la formule ne se mettra pas à jour, donc ce n'est pas la panacée.

Merci de ton aide.
 

kaspy

XLDnaute Nouveau
Re : compter les occurences d'une valeur donnée dans plusieurs feuilles de calcul

Bonjour Robert et bonjour à tous.

En fait, j'ai trouvé une solution, probablement pas la plus élégante, mais elle a le mérite de marcher: si je reprends l'exemple de la cellule C69, je donne à C70 la valeur 1 si C69=1, à C71 la valeur 1 si C69=2 etc...
Je n'ai plus ensuite qu'à faire la somme des cellules C70 de toutes les feuilles pour avoir le nombre de 1, avec un simple copier/coller j'ai la même chose pour le nombre de 2, 3 et 4.

Reste la question des nouvelles feuilles à créer. Puis-je "feinter" en créant immédiatement la feuille 200, en faisant la somme des feuilles 1 à 200 et en intercalant ensuite les nouvelles feuilles entre la feuille 100 et la feuille 200?

Merci d'avance.
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 862
Membres
103 979
dernier inscrit
imed