formateur informatique

Compter les caractères interdits sur chaque ligne

Accueil  >  Bureautique  >  Excel  >  Excel Astuces  >  Compter les caractères interdits sur chaque ligne
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Compter les caractères interdits

Certains caractères spéciaux sont communément proscrits dans certains usages. C'est le cas en programmation avec les noms d'objets et les noms de variables. C'est aussi le cas avec les noms de fichiers. Mais c'est encore le cas dans d'autres contextes que nous n'énoncerons pas. Cette nouvelle astuce Excel propose de démontrer comment compter le nombre de caractères proscrits, inscrits dans chaque cellule d'un tableau.

Compter les caractères interdits par formule Excel

Dans l'exemple illustré par la capture, des phrases apparaissent dans une première colonne. Elles comportent certains caractères spéciaux à bannir comme l'antislash (\), le slash (/) ou encore l'underscore (_) pour l'exemple. Dans une seconde colonne, c'est une formule matricielle unique qui dénombre pour chaque cellule, la quantité de caractères interdits qu'elles embarquent.

Classeur Excel à télécharger
Pour la mise en place de cette nouvelle astuce matricielle, nous suggérons d'appuyer les travaux sur un classeur Excel offrant ces textes embarquant des caractères quelque peu particuliers. Nous retrouvons la construction sur deux colonnes. La première héberge les textes avec des caractères proscrits. La seconde est encore vide puisqu'elle attend la formule matricielle permettant de déceler le nombre de caractères non autorisés par cellule.

Liste des caractères interdits à compter dans les cellules Excel

En cellule G3, au-dessus à droite de la seconde colonne, vous notez l'énumération de ces caractères jugés illicites. La formule matricielle doit y faire référence. Vous pouvez donc l'enrichir à votre guise pour que les résultats s'adaptent au contexte.

Compter les caractères par cellule
Pour résoudre ce cas, la première idée qui vient consiste à compter le nombre de caractères embarqués dans chaque cellule. Ensuite, il s'agira de trouver la solution pour compter les caractères autorisés. Ainsi, en calculant la différence entre les deux résultats, nous obtiendrons le décompte des caractères non autorisés par cellule. Pour compter les caractères d'une cellule, la fonction Excel NbCar est naturellement dédiée.
  • Sélectionner le premier décompte à fournir en cliquant sur sa cellule F5,
  • Taper le symbole égal (=) pour initier la syntaxe de la formule matricielle,
  • Inscrire la fonction pour compter les caractères, suivie d'une parenthèse, soit : NbCar(,
  • Désigner le premier texte en cliquant sur sa cellule B5,
  • Puis, fermer la parenthèse de la fonction NbCar,
  • Ensuite, valider la formule par le raccourci clavier CTRL + Entrée,
Ainsi, nous conservons la cellule active pour livrer ce résultat intermédiaire que nous devons continuer d'implémenter.

Compter le nombre de caractères dans les cellules Excel

Nous constatons que la première cellule est composée de 50 caractères. Nous allons tâcher de retenir ce résultat.

Compter les erreurs de recherche
Désormais, nous devons compter les erreurs de recherche de ces caractères proscrits dans la cellule. Pour cela, nous pouvons engager la recherche matricielle avec la fonction Cherche embarquée dans la fonction logique EstErreur, elle-même embarquée dans la fonction SommeProd. La fonction SommeProd est faite pour additionner les valeurs booléennes positives des matrices résultantes. A chaque fois qu'une recherche d'un caractère sera infructueuse (EstErreur), un chiffre 1 supplémentaire apparaitra. La somme de toutes ces erreurs de recherche produira la somme de tous les caractères valides. En retranchant ce résultat au précédent, nous obtiendrons le nombre de caractères proscrits invités dans la cellule.
  • Cliquer dans la barre de formule à la fin de la syntaxe,
  • Taper le symbole moins (-) pour annoncer le retranchement à suivre,
  • Inscrire la fonction matricielle suivie d'une parenthèse, soit : SommeProd(,
  • Cliquer alors sur le petit bouton de l'assistant fonction à gauche de la barre de formule,
Assistant fonction SommeProd Excel

Il va nous aider à mieux appréhender les résultats que nous cherchons à livrer.
  • Dans la zone Matrice1, ouvrir une parenthèse pour accueillir la matrice à construire,
  • Inscrire la fonction de test d'erreur suivie d'une parenthèse, soit : EstErreur(,
  • Inscrire la fonction de recherche suivie d'une parenthèse, soit : Cherche(,
Dans ce raisonnement matriciel, c'est chaque caractère de la première cellule (B5) que nous devons rechercher dans la chaîne des caractères proscrits en cellule G3. Dès que l'un d'entre eux n'est pas trouvé, la fonction EstErreur engagée sur la fonction Cherche répondra positivement, construisant ainsi une matrice de valeurs booléennes à additionner. Pour passer en revue chaque caractère, nous avons besoin de la fonction de découpe Stxt avec une matrice virtuelle de positions de départ en deuxième argument.
  • Inscrire la fonction de découpe suivie d'une parenthèse, soit : Stxt(,
  • Désigner le texte à découper en cliquant sur sa cellule B5,
  • Puis, taper un point-virgule (;) pour passer dans l'argument de la position de départ,
C'est elle qui doit varier du premier au dernier caractère pour qu'ils soient isolés et cherchés tour à tour dans la cellule des caractères non autorisés. C'est donc ici qu'intervient la matrice des numéros, faisant office de positions, à construire sur une longueur suffisamment importante, pour que même les chaînes les plus longues soient intégralement traitées.
  • Construire la matrice virtuelle suivante : ligne($1:$200),
Les dollars sont essentiels pour que les bornes ne varient pas avec la réplication de la formule sur les lignes du dessous.
  • Taper un point-virgule (;) pour passer dans l'argument de la longueur de découpe,
Nous l'avons dit, nous souhaitons analyser les caractères de chaque chaîne, un à un.
  • Taper le chiffre 1 pour ne garder qu'un seul caractère dans ce traitement récursif,
  • Fermer la parenthèse de la fonction Stxt,
  • Taper un point-virgule (;) pour atteindre le texte de recherche de la fonction Cherche,
  • Cliquer sur la cellule G3 des caractères proscrits,
  • Enfoncer la touche F4 du clavier pour la figer, ce qui donne : $G$3,
En effet, lors de la réplication, ce sont bien les caractères des cellules du dessous qui devront être analysés. Mais ils devront toujours être cherchés dans les caractères proscrits de cette cellule qui ne doit donc pas suivre le déplacement imposé par la réplication.
  • Fermer la parenthèse de la fonction Cherche,
  • Fermer la parenthèse de la fonction EstErreur,
  • Puis, fermer la parenthèse de la matrice conditionnelle,
Matrice Excel des caractères autorisés dans les cellules

Comme vous pouvez le constater, l'assistant de la fonction SommeProd répond par une matrice de booléens. Tous les indicateurs intitulés Vrai correspondent aux emplacements des caractères qui conduisent à une erreur. Ils ne sont pas trouvés dans la cellule des caractères proscrits, donc ils sont autorisés. Mais pour que la fonction SommeProd puisse additionner ces résultats, il faut les convertir en chiffres. Et pour cela, il suffit de les multiplier par le chiffre 1.
  • Taper le symbole de l'étoile suivi du chiffre 1, soit : *1, pour forcer la conversion,
Convertir la matrice de booléens en chiffres dans la formule Excel

Cette fois, la matrice résultante répond par des chiffres alternant les 1 et les 0. Les zéros identifient les positions des caractères proscrits. En bas à droite de la boite de dialogue, vous notez le résultat de synthèse sur l'addition de tous ces chiffres. 47 caractères sont autorisés. La chaîne de départ en compte 50. Nous pouvons en déduire que cette cellule héberge 3 caractères non autorisés.
  • Valider la formule matricielle par le raccourci clavier CTRL + MAJ + Entrée,
Le verdict tombe et il confirme notre interprétation. 3 caractères appartenant au texte de cette cellule sont proscrits.
  • Cliquer et glisser la poignée du résultat jusqu'en cellule F12,
Compter le nombre de caractères non autorisés dans les cellules Excel par formule

Nous obtenons bien le décompte de tous les caractères interdits hébergés par chaque cellule.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn