Partager via

Compter des textes

Anonyme
2025-05-28T09:48:39+00:00

Bonjour,

Voici le problème : Comment compter les absences du matin et de l'après-midi séparément durant un mois ?

Sachant que les cellules contiennent un X en cas d'absence, donc du texte et non pas des nombres) et que le calcul doit se faire une colonne sur deux.

J'ai essayé en commençant avec SOMMEPROD(MOD(COLONNE(L5:BY5);2)=0;

Mais je récupère en réponse qu'il y a une erreur dans la formule !

Merci.

F. Wasielewski

Microsoft 365 et Office | Excel | Pour l'éducation | MacOS

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Anonyme
2025-05-29T09:06:28+00:00

Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.

Bonjour F. Wasielewski**,** 

Merci pour la clarification ! Nous sommes heureux qu’il puisse résoudre votre problème précédent. Maintenant, puisque votre objectif est d’ajuster dynamiquement le nombre de colonnes en fonction du nombre de jours d’un mois donné (où chaque jour a 2 colonnes : matin et après-midi), et que la cellule de départ est fixe (par exemple, L5), voici comment vous pouvez le faire dans un classeur récapitulatif à l’aide de formules Excel.  

Je suppose que : 

  • A1 contient le numéro du mois (par exemple, 1 pour janvier)
  • Vous souhaitez compter les absences du matin (colonnes impaires dès le début)
  • Les données se trouvent dans un autre classeur, par exemple, « [Attendance.xlsx]Sheet1 » !

1. Calculer le nombre de jours dans le mois 

=JOUR(EOMONTH(DATE(2025, A1, 1), 0)) 

Ensuite, nous multiplions par 2 pour obtenir le nombre de colonnes

=JOUR(EOMONTH(DATE(2025, A1, 1), 0)) * 2 

deux. Construire la plage dynamique

Vous pouvez utiliser INDIRECT et ADDRESS pour construire la plage de manière dynamique : 

=SOMMEPRODUIT( 

  (MOD(COLUMN(INDIRECT("'[Attendance.xlsx]Sheet1' ! L5 :" & ADDRESS(5, COLUMN(L5) + DAY(EOMONTH(DATE(2025, A1, 1), 0)) * 2 - 1, 4))),2)=0) * 

  (INDIRECT("'[Attendance.xlsx]Sheet1' ! L5 : » & ADDRESS(5, COLUMN(L5) + DAY(EOMONTH(DATE(2025, A1, 1), 0)) * 2 - 1, 4))="X ») 

Explication des critères : 

  • COLUMN(L5) = index de la colonne de départ (par exemple, 12)
  • DAY(EOMONTH(...)) * 2 = nombre total de colonnes pour le mois
  • ADRESSE(..., 4) = renvoie la lettre de la colonne sans $
  • MOD(...,2)=0 = sélectionne les colonnes du matin
  • INDIRECT(...) = construit la plage dynamique

J’espère que cela vous aidera ! N’hésitez pas à nous faire savoir si cela fonctionne ! 

Sinceres salutations

Doris V - MSFT | Spécialiste du support communautaire Microsoft

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Anonyme
2025-05-28T10:43:45+00:00

Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.

Bonjour F. Wasielewski**,** 

Merci d’avoir contacté la communauté Microsoft. Nous sommes heureux de vous aider. 

Si vous souhaitez compter les absences du matin et de l’après-midi séparément dans Excel, supposez que : 

  • Chaque rangée représente une personne.
  • Chaque colonne alterne entre le matin (colonnes impaires) et l’après-midi (colonnes paires).
  • Un « X » marque une absence.
  • Vous ne voulez compter qu’une colonne sur deux, selon qu’il s’agit du matin ou de l’après-midi.

Voici comment vous pouvez le faire en utilisant SUMPRODUCT : 

Compter les absences du matin (colonnes impaires) 

=SUMPRODUCT((MOD(COLUMN(L5 :BY5)-COLUMN(L5),2)=0)*(L5 :BY5="X »)) 

Compter les absences de l’après-midi (colonnes paires) 

=SUMPRODUCT((MOD(COLUMN(L5 :BY5)-COLUMN(L5),2)=1)*(L5 :BY5="X »)) 

Voici les explications : 

  • COLUMN(L5 :BY5)-COLUMN(L5) normalise l’index de colonne pour qu’il commence à partir de 0.
  • MOD(...,2)=0 sélectionne une colonne sur deux, en commençant par la première (matin).
  • MOD(...,2)=1 sélectionne les colonnes en alternance, en commençant par la seconde (après-midi).
  • (L5 :BY5="X ») vérifie les absences.
  • SOMME(...) compte les matchs.

Veuillez utiliser les fractions ci-dessus et nous faire savoir comment cela fonctionne. Dans l’attente de votre réponse ! 

Sinceres salutations

Doris V - MSFT | Spécialiste du support communautaire Microsoft

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

2 réponses supplémentaires

  1. Anonyme
    2025-05-28T16:06:40+00:00

    Bonjour à nouveau,

    Sachant que la cellule de départ de la plage contenant les cellules à prendre en compte est fixe, comment faire varier la longueur de la plage à prendre en compte selon le mois (janvier = 31 jours, février = 28 jours, ... , avril = 30 jours, etc ) ?

    J'ai essayé de faire à partir de COLONNE(L5:fonction 5) avec fonction comprenant MOIS() mais je n'arrive à rien ...

    Ceci afin de récupérer les valeurs automatiquement dans un autre classeur récapitulatif.

    Youpi !

    Frédéric W.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2025-05-28T14:51:15+00:00

    Merci beaucoup pour ce précieux coup de main, rapide en plus !

    Frédéric W.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire