Compter série de 3 valeurs identique Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
s
sylvainpyc
Membre habitué
Membre habitué
Messages : 79
Inscrit le : 14 octobre 2014
Version d'Excel : 2007 fr

Message par sylvainpyc » 31 janvier 2019, 16:46

Bonjour,

Je suis accompagnateur de perzsonnes handicapés dans un Foyer d'Hébergement.
Avec l'équipe d'accompagnateurs, nous gérons les présences des résidents et j'ai donc créé un fichier excel.
Nous devons remettre à la compta des comptes précis dont les calculs sont complexes et que nous faisons à la main.
Je voudrais savoir si vous pourriez svp nous aider à l'informatiser.

Voici ci-joint un fichier de planning de résidents feuille => "stats repas", je voudrais par exemple pour le résident SARICA :
Compter le nombre de série de 3 cellules ou la valeur est 0 (midi => soir => nuit => midi => ect.) par mois donc par exemple pour février du 1er février au 28 février.

Donc pour le résident SARICA, compter le nombre de série ou la valeur est 0 dans les cellules :
AR59 - AR60 - AR 61 (1er fev) AS59 - AS60 - AS61 (2 fev) ... BS59 - BS60 - BS61 (28 fev)

Donc sur le fichier joint pour le resident SARICA 8 serie de 3 valeur 0 :

1ere série : 1er fev soir + 1er fev nui + 2 fev midi
2e série : 2 fev soir + 2 fev nuit + 3 fev midi

Je voudrais afficher le total de série (8) dans un commentaire dans la cellule BS61 (28 fev nuit)
et/ou un commentaire dans la cellule de la fin d'une série de 3 donc par exemple dans AS59 (1er fev midi) - AT59 (3 fev midi) etc.

En fait je dois recopier dans la feuille "Nathalie" 1 si il y 1 série de 3 valeurs égale à 0 sinon 0.

Ces calculs devront ensuite être reproduits pour chaque mois et pour chaque résident.

Cela me semble un peu complexe.

Pensez-vous que c'est possible ?

Je vous remercie beaucoup de votre aide

Cordialement
Cpter 3 valeurs identiques a la suite.xlsm
(777.82 Kio) Téléchargé 6 fois
Avatar du membre
lauange
Membre fidèle
Membre fidèle
Messages : 213
Appréciation reçue : 1
Inscrit le : 2 février 2016
Version d'Excel : 2013FR

Message par lauange » 31 janvier 2019, 18:19

Hello,

J'ajouterai une 63ème ligne à l'onglet stats repas avec la formule suivante : =SI(SOMME(AR59:AR61)=0;1;0). Recopie de la formule vers la droite. Dans la cellule BS64, je ferai la somme.

Pour la seconde partie, je ne sais pas faire afficher le résultat dans un commentaire.
Excel 2010 windows et Excel 2016 Mac OSX
s
sylvainpyc
Membre habitué
Membre habitué
Messages : 79
Inscrit le : 14 octobre 2014
Version d'Excel : 2007 fr

Message par sylvainpyc » 31 janvier 2019, 19:07

Bonsoir,

Ce n'est pas ce que je recherche, Je corrige mon explication de base :


Voici ci-joint un fichier de planning de résidents (feuille => "stats repas"), je voudrais par exemple pour le résident SARICA :
Compter le nombre de série de 3 cellules ou la valeur est 0 (midi => soir => nuit => midi => ect.) par mois donc par exemple pour février du 1er février au 28 février. (changement de colonne après nuit)

Donc pour le résident SARICA (ligne 59 à 61), compter le nombre de série de 3 valeurs égale à 0 dans les cellules :
AR59 - AR60 - AR 61 (1er fev) AS59 - AS60 - AS61 (2 fev) ... BS59 - BS60 - BS61 (28 fev)

Donc sur le fichier joint pour le resident SARICA 8 serie de 3 valeur égale à 0 (mais pas forcément sur la même colonne) :

1ere série : 1er fev soir(AR60) + 1er fev nuit(AR61) + 2 fev midi(AS59) => DONC indiquer 0 dans D6 dans la feuille "FEVRIER 2019" ET 0 dans un commentaire dans la cellule AS59 de la feuille active "Stats repas"

2e série : 2 fev soir(AS60) + 2 fev nuit(AS61) + 3 fev midi(AT59) => DONC indiquer 0 dans F6 dans la feuille "FEVRIER 2019" ET 0 dans un commentaire de la cellule AT59 de la feuille active "Stats repas"


En fait je dois recopier dans la feuille "FEVRIER 2019" 0 le jour de la fin d'une série de 3 valeurs égale à 0 sinon 1. (=> cf feuille "FREVRIER 2019")

Ces calculs devront ensuite être reproduits pour chaque mois et pour chaque résident.

Cela me semble un peu complexe.

Pensez-vous que c'est possible ?

Je vous remercie beaucoup de votre aide

Cordialement
Cpter 3 valeurs identiques a la suite.xlsm
(780.38 Kio) Téléchargé 4 fois
Cpter 3 valeurs identiques a la suite.xlsm
(780.71 Kio) Téléchargé 2 fois
Avatar du membre
curulis57
Membre impliqué
Membre impliqué
Messages : 2'827
Appréciations reçues : 90
Inscrit le : 4 janvier 2016
Version d'Excel : 2013 FR

Message par curulis57 » 1 février 2019, 04:59

Salut sylvainpyc,

Bon Dieu, qu'il va être dur à faire évoluer, ce fichier! Bon courage! :lol:

- clic dans 'Stats repas' [B55] : mise à jour des commentaires ;
- clic dans 'FEVRIER 2019' (ou toute autre feuille se terminant par 4 chiffres, supposée donc être une feuille de récapitulation) [A2] : mise à jour des stats pour chaque résident ;
- j'ai changé la formule à rallonge en 'FEVRIER 2019' [CH6:CH22] : même calcul = addition 1 colonne sur 2.

La suite, demain... :lole:
If Not Intersect(Target, Range("B55")) Is Nothing Then
    For x = 56 To 182 Step 9
        For y = Range("C1").Resize(Rows.Count, Columns.Count - 2).SpecialCells(xlCellTypeVisible).Column To Cells(55, Columns.Count).End(xlToLeft).Column
            Call SetComment(x, y)
        Next
    Next
End If
8-)
A+
ActivitésV2.xlsm
(807.74 Kio) Téléchargé 3 fois
Avatar du membre
curulis57
Membre impliqué
Membre impliqué
Messages : 2'827
Appréciations reçues : 90
Inscrit le : 4 janvier 2016
Version d'Excel : 2013 FR

Message par curulis57 » 1 février 2019, 23:56

Salut sylvainpyc,

la suite :
- "*" si commentaire dans les cellules "bleues" ;
- commentaire avec total "triple 0" dans cellules "midi".

A ce propos des "triple 0", dans les feuilles 'XXX 201x" colonne [CH], est-ce le total des "triple 0" ou la somme des "1" que tu souhaites ?
Dans le doute, comme tu as l'air de faire un foin de ces "triple 0", j'ai modifié la formule pour afficher le total des "triple 0".
=31-SOMME(SI(MOD(COLONNE(B6:BK6);2)=0;B6:BK6))
Retirer 31 - si c'est l'inverse mais il faudra alors modifier le code ailleurs pour afficher le bon total "triple 0" dans les commentaires-cellules.

Dans 'ThisWorbook' Private Sub Workbook_SheetSelectionChange()
.Comment.Text Str(31 - Sh.Range("CH" & x).Value)
Dans 'Stats repas' Public Sub StatsPrésence()
.Comment.Text Str(31 - Sheets(x).Range("CH" & rCel.Row).Value)
8-)
A+
ActivitésV3.xlsm
(775.91 Kio) Téléchargé 2 fois
s
sylvainpyc
Membre habitué
Membre habitué
Messages : 79
Inscrit le : 14 octobre 2014
Version d'Excel : 2007 fr

Message par sylvainpyc » 3 février 2019, 17:39

pourquoi ca zoom quand je clic droit ou gauche sur la ligne bleu ? je voudrais enlever cette option pour tout le fichier svp.

Ca ne rend pas le résultat desiré dans la feuille FEVRIER 2019
Je voudrais que dans la feuille FEVRIER2019 soit indiqué 0 si 3 valeurs différentes de 1 et de "C" se suivent et ainsi de suite

"C" signifie que le résident mange pas le repas du Foyer mais mange dans son studio et est donc présent au Foyer donc vaut 1
une autre lettre ou chaine de caractère signifie qu'il mange à l'extérieur et est donc absent du foyer donc vaut 0

Je voudrais cela :
-0 le 2/02 : 0 le 1/2 soir + 0 le 1/2 nuit + 0 le 2/2 midi ("d" donc <> de 1 et de "C")
-0 le 3/02 : 0 le 2/2 soir + 0 le 2/2 nuit + 0 le 3/2 midi
-0 le 4/02 : 0 le 4/2 midi ("d" donc <> de 1 et de "C") + 0 le 4/2 soir + 0 le 4/2 nuit
-0 le 9/02 : 0 le 8/2 soir + 0 le 8/2 nuit + 0 le 9/2 midi
-0 le 10/02 : 0 le 9/2 soir + 0 le 9/2 nuit + 0 le 10/2 midi
-0 le 12/02 : 0 le 11/2 nuit + 0 le 12/2 midi ("s" donc <> de 1 et de "C") + 0 le 12/2 soir

Je vous remercie de votre aide

Cordialement
ActivitésV3.xlsm
(771.73 Kio) Téléchargé 2 fois
Avatar du membre
curulis57
Membre impliqué
Membre impliqué
Messages : 2'827
Appréciations reçues : 90
Inscrit le : 4 janvier 2016
Version d'Excel : 2013 FR

Message par curulis57 » 3 février 2019, 17:42

Salut sylvainpyc,

le zoom n'est pas de moi : il était déjà programmé!
Je regarde ça dès que je peux!

8-)
A+
s
sylvainpyc
Membre habitué
Membre habitué
Messages : 79
Inscrit le : 14 octobre 2014
Version d'Excel : 2007 fr

Message par sylvainpyc » 3 février 2019, 18:22

Le zoom c'était moi mais seulement sur b55 et j'en ai plus besoin.
L'* ne peut pas apparaître des qu'on insère un commentaire? Seulement quand on clic sur b55/
Merci
Avatar du membre
curulis57
Membre impliqué
Membre impliqué
Messages : 2'827
Appréciations reçues : 90
Inscrit le : 4 janvier 2016
Version d'Excel : 2013 FR

Message par curulis57 » 3 février 2019, 18:26

:lole: :lol:
Je me disais bien que tu m'en ferais la remarque tôt ou tard !
Je l'avais repéré : ce sera dans le paquet de corrections !

;;)
A+
s
sylvainpyc
Membre habitué
Membre habitué
Messages : 79
Inscrit le : 14 octobre 2014
Version d'Excel : 2007 fr

Message par sylvainpyc » 5 février 2019, 20:15

Bonsoir,

Je n'ai en fait plus besoin des calculs concernant les 3 valeurs égale à 0
Mais je n'arrive pas à enlever de votre code ce qui concerne ces calculs.
enlever cette partie et ce qui va avec si possible
sSheet = Choose(Month(Cells(55, iTCol)), "JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE") & _
        Str(Year(Cells(55, iTCol)))
iJrs = Choose(Month(Cells(55, iTCol)), 31, IIf(Month(Cells(55, iTCol)) Mod 4 > 0, 28, 29), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
J'ai surtout besoin de l'* quand il y a un commentaire et mettre à jour les commentaires quand on clique sur b55

Voici la copie du fichier que j'utilise et ou je voudrais rajouter votre code concernant les commentaires :

mon code actuel est celui la
Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim sData$, iRow%, iIdx8%, iIdx0%
'
iRow = Target.Row
If Target.Count > 1 Or iRow < 56 Or Target.Column > 390 Then Exit Sub
If iRow Mod 9 <> 8 And iRow Mod 9 <> 0 Then Exit Sub
'
Application.EnableEvents = False
'
With IIf(iRow Mod 9 = 8, Target.Offset(-6), Target.Offset(-7))
    .ClearComments
    iIdx8 = IIf(iRow Mod 9 = 8, 0, -1)
    iIdx0 = IIf(iRow Mod 9 = 8, 1, 0)
    If Target.Offset(iIdx8) <> "" Then sData = LCase(Target.Offset(iIdx8))
    If Target.Offset(iIdx8) <> "" Or Target.Offset(iIdx0) <> "" Then sData = sData & "-"
    If Target.Offset(iIdx0) <> "" Then sData = sData & UCase(Target.Offset(iIdx0)) & " *"
    If sData <> "" Then
        .AddComment
        .Comment.Text sData
        .Comment.Shape.TextFrame.AutoSize = True
        .Comment.Visible = True
    End If
End With
'
Application.EnableEvents = True
'
End Sub
je voudrais soit integrer cette partie de votre code :
If Not Cells(iTRow + 2, iTCol).Comment Is Nothing Then sData = sData & IIf(sData = "", "*", " *")
ou integrer votre procédure Public Sub SetComment sans les calculs des trois 0 consecutifs et les mois ?

Je sais pas si c'est clair ce que j'écris

Je vous remercie de votre aide

Cordialement
Classeur1.xlsm
(734.62 Kio) Téléchargé 3 fois
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message