Nombre de fois du meme nom

Bonjour à tous,

Je suis en train de travailler sur un fichier Excel lequel indique le nombre de présent des personnes durant des semaines de l'année.

Mon objectif est d'ajouté une feuille synthèse permettant d'indiquer pour chaque personne le nombre de fois qu'elle a été présente durant des semaine donnée, c'est a dire faire en sorte que "Monsieur X a été présent tous la semaine donc 5 ".

J'ai réalisé une macro qui me permet d'afficher le nombre de fois que M.X a été présent mais uniquement pour une seule semaine, je n'y arrive pas à partager la même formule sur toute les lignes.

Si, quelqu'un pourrais justement me donner une idée comment faire.

pour plus d'info je vous partage un fichier ressemblant à la mienne.

Cordialement.

15alban.xlsm (36.52 Ko)

Bonsoir,

9 téléchargements et pas de réponse...

Peut-être sommes nous tous confronté à un fichier difficilement lisible...

Avec un peu d'explications, à savoir où doit on prendre les données, quelles sont celles qu'il ne faut pas compter en double etc...

@ bientôt

LouReeD

Rebonjour,

Merci de votre réponse.

En effet, dans mon fichier Excel j'ai 4 feuilles, le première feuille de synthèse , la deuxième nommé "Liste" me permet d'obtenir la liste déroulante de la feuille "synthèse", et les deux dernières feuille "2" et "3" sont des feuilles permettant d'indiquer qui a été présents durant la semaine 2 et/ou 3 (dans l'équipe du matin par exemple).

Ce que je cherche à obtenir est, sur la feuille de synthèse, de choisir, grâce aux liste déroulantes, pour les semaines souhaitées le nombre de fois qu'une personne à été présente (dans notre cas on obtient le nombre de fois que la personne a été présente grâce aux nombre de fois que son nom apparaît sur la feuille de la semaine donnée) .

Donc sur la feuille de synthèse vous trouvez un tableau avec en ordonnée le nom de la personne, en abscisse les semaines choisis et à l’intérieur de ce tableau le nom de fois que la personne à été présente.

Ci joint, vous trouvez de nouveau mon fichier Excel mais avec des nouvelles modification de codage que j'ai effectuée aujourd'hui.

J'espère être plus clair cette fois-ci,

Cordialement.

9alban1.xlsm (48.21 Ko)

Bonjour Alban et

Salut LouReed

On ne peut pas dire que la nouvelle version soit plus éclairante que la précédente

Mais le hasard a voulu que je "tombe" sur la formule en L8 de la feuille "Synthèse". En essayant de traduire celle-ci et de la mettre en parallèle avec les explications données, il me semble qu'elle est fonctionnelle.

En tout cas, si j'écris un '2' ou un '3' en L7, je vois bien apparaître un '5' en guise de résultat (lequel correspond au nombre de fois ou Monsieur ou Madame "Y. Bruneau" est mentionné(e) en colonnes B et C de la feuille "2")

Mais si j'ai compris, alors ... quelle est la question, puisque la solution figure dans le fichier ?

Bonsoir,

Merci de votre réponse U.MIlité,

Concernant la solution sur le fichier excel, c'est vrai que j'ai cette solution mais le souci est que si vous faites attention sur le feuille nommées "2" et "3" dans lesquels il y a le planning des effectifs on retrouve des fonds de couleur (généralement rouge et vert), la couleur rouge indique que la personne ne sera pas présente ce-jour ci(la couleur verte ou autre sauf le rouge n'intervient pas sur le nombre de jour que la personne est présente).

La formule (nb si ens(indirect("'"&L$7&"'!B:C"); $B8) ci-joint ne me permet pas, néanmoins je n'y arrive pas, de prendre en compte uniquement les cellules avec le M/Mme y.Bruneau avec un fonds autre que rouge.

Cordialement.

Bonjour,

Aucune des fonctions d'Excel ne permet de déterminer si on a appliqué à une cellule un remplissage rouge!

Par ailleurs, tu aurais pu évoquer cette particularité dès le départ ... ça nous aurait évité de chercher pour rien

La seule solution à ma connaissance serait de créer une fonction personnalisée.

Voici une ébauche à tester, adapter, améliorer, etc.

Dans un module standard, coller ces lignes de code:

Function NBSI_PASROUGE(nom As Range, plage As Range)
Dim cpt As Integer
For Each c In plage
    If c = nom And c.Interior.Color <> 255 Then cpt = cpt + 1
Next c
NBSI_PASROUGE = cpt
End Function

Ensuite, en D8 de la feuille synthèse, écrire:

=NBSI_PASROUGE($B8;INDIRECT("'"&D$7&"'!$B$5:$C$50"))

Recopier en bas et à droite.

Ne fonctionnera que pour les palettiers (adapter la plage B5:B50 dans la formule pour les autres "métiers")

Bonjour U.Milité,

Je viens d'essayer votre formule, elle marche parfaitement.

Merci beaucoup de votre aide.

Et à très bien tôt

Rebonjour,

Pourquoi, lorsque je met le fond en couleur rouge (255) sur un nom dans les feuilles ("2" et "3"), les chiffres sur la feuille de synthèse ne se recalculent pas automatiquement mais je dois faire entre de nouveau la formule.

Connaissez-vous un moyen ou formule qui permettre de remettre à jour les formules dans les cellules de la feuille "Synthèse".

Merci d'avance.

Bonjour

Esqayez en mettant :

Application.Volatile

Au début du code de la fonction.

@ bientôt

LouReeD

Bonjour LouReeD,

J'ai essayé votre proposition mais elle ne fonction pas vraiment.

Pour instant ce que j'ai trouvé est d'appuyer sur la touche "F9" du clavier à la fin des modification.

Cordialement

Alors dans le ruban, choisir formules puis option de calcul, puis dans le menu choisir automatique.

@ bientôt

LouReeD

Bonjour à vous deux,

Le changement de couleur n'est pas un "événement" provoquant le recalcul de la feuille ... (pour autant que je sache -mais je n'y mettrais pas une main à couper!- "Application.Volatile" ne changera pas grand chose ?)

L'appui sur la touche F9 est sans doute la seule solution (... ou alors changer le système des couleurs )

Non, non c'est moi qui aie lu trop vite !

En effet j'avais compris qu'il n'y avait pas de re calcul suite au changement d'une donnée !

La MF ne déclenche pas le re calcul.

@ bientôt

LouReeD

Ou bien lier la commande calculate à Sélection.change juste pour cette feuille...

@ bientôt

LouReeD

Bonjour à tous,

Effectivement U.Milité je confirme que le seul moyen, que j'ai trouvé aussi, pour mettre à jour les calculs est d'appuyer sur l’appui F9 et ça me va parfaitement, pour moi. .

Concernant la partie la plus important vous m'avez aidez énormément, merci encore une fois à bientôt.

Cordialement.

Bonjour,

je confirme que le seul moyen, que j'ai trouvé aussi, pour mettre à jour les calculs est d'appuyer sur l’appui F9

Il me semble que j'investiguerais tout de même du côté de la proposition de LouReed

lier la commande calculate à Sélection.change juste pour cette feuille

Bonjour U.Milité,

Je viens de reprend le macro ( Fonction NBSI_PASROUGE) que vous m'avez proposé. En effet elle marche parfaitement lorsque je choisi comme fond de couleur la couleur rouge (255) et si j'ajoute une autre fond de couleur, par exemple la couleur vert, je n'obtiens plus du tout le bon résultat. Pourriez vous me corriger de nouveau s'il vous plait? ci-dessous je vous montre le macro .

Cordialement.

Function NBSI_PASROUGE(nom As Range, plage As Range)

Dim pres As Integer

For Each c In plage

If c = nom And c.Interior.Color <> 255 Or c.Interior.Color <> RGB(0, 255, 0) Then pres = pres + 1

Next

NBSI_PASROUGE = pres

End Function

Rebonjour à tous,

Concernant la Fonction NBSi_PASROUGE, je viens de bricoler un peu sur la macro et j'ai trouvé une solution potentiel c'est a dire, sur une des feuilles (feuille nommée "Liste") de mon fichier excel j'ai colorié deux cellules (une en vert et une en orange, il s'agit des couleur que la formule ne doit pas les compter) ensuite ça donne le résultat ci-dessous:

Function NBSI_PASROUGE(nom As Range, plage As Range)

Dim pres As Integer

For Each c In plage

If c = nom And c.Interior.Color <> RGB(255, 0, 0) And c.Interior.Color <> Sheets("Liste").Cells(2, 7).Interior.Color And c.Interior.Color <> Sheets("Liste").Cells(3, 7).Interior.Color Then pres = pres + 1

Next

NBSI_PASROUGE = pres

End Function

Ce solution marche très bien mais auriez-vous à me proposer un autre moyen plus court que ce dernier?.

Cordialement.

Alban

Bonsoir,

Essaie ceci:

  • sélectionne une de tes cellules colorées en feuille Liste
  • déroule la liste des couleurs de remplissage et choisis "Autres couleurs"
  • dans cette boîte de dialogue > onglet "Personnalisées", tu devrais trouver les proportions de Rouge, Vert et Bleu utilisées
  • teste ces couleurs à l'aide de la fonction RGB, dans ton code

Bonjour à tous,

Merci de votre réponse U. Milité.

Hors sujet.

Je viens de poser une autre problématique que je fais face actuellement (rien a avoir avec le dernier sujet) dans une autre rubrique.

Pourriez-vous donner un coup d’œil si jamais vous pourriez m'aider de nouveau.

Je vous affiche le lien ci dessous pour consulter :

https://forum.excel-pratique.com/viewtopic.php?f=2&t=137236

Merci d'avance,

Cordialement.

Rechercher des sujets similaires à "nombre fois meme nom"