jeudi 5 décembre 2013

Tutoriel : Les fonctions d'Excel utiles aux archivistes (partie 3)

Excel en 1990, photo Microsoft Sweden, sous licence CC
Après avoir présenté les fonctions MIN/MAX et CONCATENER, je voudrais aujourd'hui parler un petit peu des fonctions MINUSCULE, MAJUSCULE et NOMPROPRE. Le principe des deux premières fonctions est très simple : il s'agit de transformer des chaines de caractères en minuscules ou en majuscules (ou dit autrement, de changer la casse) et celui de la troisième est de mettre des majuscules au début des mots. L'avantage de ces fonctions est de conserver l'accentuation, les espaces, etc. au cours de la transformation.



La fonction =MAJUSCULE() transforme tout le texte passé en argument en caractères majuscules.

La fonction =MINUSCULE() transforme tout le texte passé en argument en caractères minuscules.

Enfin la fonction =NOMPROPRE() met la première lettre de chaque mot en caractères majuscules. Les autres lettres sont mises en minuscules.

Ci-dessous des exemples pratiques démontrant l'application de ces trois fonctions :

La fonction NOMPROPRE, qui permet de mettre une majuscule sur la première lettre de chaque mot et une minuscule sur les autres, comme en témoignent les quelques exemples suivants :

Texte d'origineFormuleRésultat
SAINT-MARCEL=NOMPROPRE(A1)Saint-Marcel
paris=NOMPROPRE(A2)Paris
JEAN-louis MArTiN=NOMPROPRE(A3)Jean-Louis Martin
La fonction MAJUSCULE qui transforme tous les caractères en majuscules :

Texte d'origineFormuleRésultat
activités de france aquaculture =MASUCULE(A1)ACTIVITÉS DE FRANCE AQUACULTURE

La fonction MINUSCULE qui transforme tous les caractères en minuscules :

Texte d'origineFormuleRésultat
ACTIVITÉS DE FRANCE AQUACULTURE=MINUSCULE(A1)activités de france aquaculture

Là où ça devient intéressant, c'est dans la possibilité d'utiliser ces formules en les associant. En effet, bien souvent on voudra, lors d'une reprise de données existantes, transformer la première lettre en majuscule et les suivantes en minuscule.
La fonction ci-dessous permet de réaliser ce travail. On suppose que le texte à transformer est saisi dans la cellule A1.

=MAJUSCULE(GAUCHE(A1;1))&DROITE(MINUSCULE(A1);NBCAR(A1)-1)


Texte d'origineFormuleRésultat
RELATIONS AVEC LES ASSOCIATIONS=MAJUSCULE(GAUCHE(A1;1))&DROITE(MINUSCULE(A1);NBCAR(A1)-1)Relations avec les associations
ORGANISATION DES SERVICES=MAJUSCULE(GAUCHE(A1;1))&DROITE(MINUSCULE(A1);NBCAR(A11)-1)Organisation des services

Et là, je vois déjà des gouttes de sueur perler sur vos fronts, en vous disant que cette formule est ultra-complexe et que vous n'y arriverez jamais. Ne vous inquiétez pas, je vais la décortiquer et vous montrer que ce n'est pas si ardu que ça peut en avoir l'air. A première vue la formule est complètement incompréhensible...

Et pourtant...

La formule n'utilise que des fonctions élémentaires manipulant du texte.

D'abord, on extrait le premier caractère du texte se trouvant en A1 avec GAUCHE(A1;1), soit la lettre R dans notre premier exemple. Ensuite cette lettre R est transformée en majuscule avec la fonction MAJUSCULE, soit la lettre R dans notre exemple.
 La première partie de notre formule : =MAJUSCULE(GAUCHE(A1;1)) ; sert simplement à dire : "prendre la première lettre en partant de la gauche dans la cellule A1 et la mettre en majuscule".

On trouve ensuite le caractère de concaténation &, qui va servir à lier les deux parties de notre formule, car après avoir dit de prendre la première lettre et de la mettre en majuscule, il faut maintenant transformer le reste du texte en caractères minuscules.

Pour se faire, il faut extraire la partie droite du texte en A1 que l'on transforme en minuscules. Pour connaître le nombre exact de caractères à extraire, plutôt que de les compter manuellement pour chaque cellule (ce n'est pas notre style !), on se fera aider de la fonction NBCAR(), qui nous permet de compter le nombre de caractères se trouvant en A1. La première lettre (le R) ayant déjà été prise en compte (et passée en majuscule), on retranche 1 à ce total pour exclure le premier caractère. Finalement, on récupère tous les caractères restants avec DROITE() (sans le 1er caractère) qui ont été passés en minuscule. On a donc "elations avec les associations" comme résultat.
La deuxième partie de notre formule :  DROITE(MINUSCULE(A1);NBCAR(A1)-1) ; sert simplement à dire : "Compter tous les caractères à partir de la droite de la cellule A1, à l'exception du dernier, et les mettre en minuscule".

Pour finir "R" et "elations avec les associations" sont concaténés avec le signe & pour obtenir le texte "Relations avec les associations".

En "composant" différentes fonctions nous sommes arrivés à élaborer une tâche qui semblait très difficile à réaliser. La fonction NBCAR(), à priori très anodine (puisqu'elle ne sert qu'à compter une chaine de caractères), nous a ici été d'une aide très précieuse, couplée avec les fonctions DROITE, GAUCHE, MAJUSCULE et MINUSCULE.

2 commentaires:

  1. Très bons articles sur les possibilités d'Excel ! Et très utiles quand on est jeune archiviste en début de carrière... Merci !

    RépondreSupprimer
  2. Merci Marion pour ce gentil commentaire :)

    RépondreSupprimer