Compter le nombre de majuscule dans une cellule

Résolu
Bonjour,

J'aimerais savoir si il y a une formule ou une astuce permettant de compter le nombre de lettres en majuscule dans une cellule ?

Merci d'avance,

5 réponses

  1. Bonjour,

    si le nombre de majuscule se limite à seulement quelques lettres tu peux utiliser cette formule

    =SOMMEPROD((STXT(A1;LIGNE(INDIRECT(1&":"&NBCAR(A1)));1)={"A"."B"."C"."D"."E"."I"."O"."U"."Y"})*1)

    par contre si toutes les lettres de l'alphabet sont concernée il faudra compléter la formule.
    Je regarde s'il est possible de faire plus simple
    2
    1. Re,

      Voilà en complément sans définir la lettre majuscule
      =SOMMEPROD((CODE((STXT(A1;LIGNE(INDIRECT(1&":"&NBCAR(A1)));1)))*1>=65)*(CODE((STXT(A1;LIGNE(INDIRECT(1&":"&NBCAR(A1)));1)))*1<=90)*(CODE((STXT(A1;LIGNE(INDIRECT(1&":"&NBCAR(A1)));1)))*1<>""))


      peut être existe il plus court

      1
      1. Contributeur Ambassadeur
        Bonjour,

        je n'ai pas la solution, mais je peux te donner un indice pour la détection

        le code binaire des majuscules commence par 4 ou 5
        et pour les minuscules, ça commence par 6 ou 7

        et vue en poids binaire, (1-2-4-8) il y a le bit 4+1 ou 4 seul en majuscule et rien d'autre
        et le bit 4+2 ou 4+2+1 en minuscule

        Le "A" = 45 et le "a" = 65 par ex. (en Hexadecimal)

        voilà ça peut servir, mais je n'ai rien d'autre.
        0
        1. Bonjour Mike-31 et merci pour ta réponse,

          elle fonctionne parfaitement car je n'ai pas beaucoup de lettres majuscule possibles.
          0
          1. SOMME(NBCAR(SIERREUR(REGEX.EXTRAIRE(A2;"[A-Z]";1;0);)))

            avec A2 la cellule dont on souhaite compter le nb de majuscule

            Par analogie : 

            SOMME(NBCAR(SIERREUR(REGEX.EXTRAIRE(A2;"[a-z]";1;0);)))

            pour le nombre de minuscule

            0