|
|
|
|
Bonjour,
J'ai créé un fichier excel afin de recenser l'ensemble des dossiers entrant dans mon service.
Ce dossier est divisé à la semaine , j'ai donc 52 pages identiques.
Par contre, je dois délivrer des statistisques mensuels et j'aimerais donc avoir une formule, dans une autre feuille, qui me permette de compter les nombre de fois ou le mois de janvier , février , mars , etc etc... est saisi, mais surtout en recherchant sur toutes les feuilles du classeur.
Actuellement, j'ai cette formule : =SOMMEPROD((MOIS(E1:E256)=12)*1)
Elle me donne le résultat pour le mois correspondant au numéro ( ici décembre) mais que sur la page ou figure mon tableau statistique. Je n'arrive pas à le faire étendre aux pages appelé Semaine1, Semaine2....jusqu'à Semaine52.
J'espère que vous avez compris et que vous pourrez m'aider car je débute avec excel et je n'ai pas toujours les expressions convenables des utilisateurs habituels.
J'ai essayé ça mais sans résultat : =SOMMEPROD((MOIS((Semaine1:Semaine52!E1:E256)=1)*1))
Merci d'avance
Configuration: Windows Vista Firefox 2.0.0.14
Bonjour
|
Bonjour,
|
Merci à vous ,
|
Ce n'est pas le N0M que tu a donner à la feuille mais sont ""nom"" dans Excel, pour voir ce nom va dans l'IDE (Alt+F11) sur la gauche tu a l'explorateur du projet avec les feuille, tu va voir sur chaque feuille il y à 2 noms, par exemple Semaine1:Feuil3 c'est le 2ém nom qu tu doit employé.
|
Bonjour
|
Merci pour ta réponse rapide,
|
J'ai portant tester les formules aussi bien avec 1 seul critère que celle avec les 2 critères et le résultat était bon.
|
Merci à tous les deux!
|
Huuuum,Huuuum.... cette fois c'est toi :-D
|
Bonsoir Pho3nix,
=SOMMEPROD(NB.SI(INDIRECT("semaine"&LIGNE(INDIRECT("1:52"))& "!$F$1:$F$256");E1)*1)
avec LIGNE(INDIRECT("1:52")) on crée un tableau d'entiers consécutifs 1 à 52 qui sont concaténés avec "semaine" et "!$F$1:$F$256" pour créer "semaine1!$F$1:$F$256" à "semaine52!$F$1:$F$256" et donner le tableau de références de plage où NB.SI(...;E1) compte dans chacune de ces plages le nombre de celles contenant le mois et SOMMEPROD(...)*1) en fait la somme des nombres trouvés. En remplaçant E1 par le mois et en créant 12 formules, tu as tous tes mois en permanence. Toujours zen |
Puisqu'il y a une erreur et qu'en plus tu trouve que ca fait beaucoup de formule allons-y pour du VBA.
Private Sub CommandButton1_Click() End Sub Entre ces deux ligne tu ajoute..Call TestSemaine pour avoir Private Sub CommandButton1_Click()
Call TestSemaine
End Sub
Comme tu est dans l'IDE, tu ajoute un module >> Insertion >> Module Dans la feuille qui vient de s'ouvrir tu colle ... Sub TestSemaine()
Dim MoisChercher As Integer
Dim i As Integer, e As Integer, g As Integer
Dim Nom As String, Total As Long
'Adapter ce nom au nom de la feuille
Sheets("Statistique").Select
'mettre le mois a chercher dans H1
MoisChercher = Cells(1, 8).Value
'Il faut qu'il y ai des feuille nommée Semaine1 à Semaine 52
On Error GoTo Sortie
For i = 1 To 52
Nom = "Semaine" & i
For g = 1 To Workbooks.Count
If Sheets(g).Name = Nom Then
Sheets(g).Select
Exit For
End If
Next g
For e = 1 To Range("E1").SpecialCells(xlCellTypeLastCell).Row
If Month(Cells(e, 5)) = MoisChercher Then
Total = Total + 1
End If
Next e
Next i
Sortie1:
Sheets("Statistique").Select
Cells(1, 5) = Total 'dans cellule E1
Exit Sub
'-----------------------------------------------------------
Sortie:
MsgBox "La feuille " & Nom & " est introuvable"
Resume Sortie1
End Sub
Oublie pas de sortir du mode création. Dans la cellule H1 tu met le mois que tu veux chercher et clic bouton Ca fonctiionne à tout les coups, même avec 1 A+ L'expérience instruit plus sûrement que le conseil. (André Gide) |