Menu

C’est atomique pas automatique


Ah, l’atomisation, un grand mot pour dire une petite chose. Découvrez ce concept fondamental de l’informatique et sa mise en œuvre.

Muchmuch est encore proche du burnout

Buzzbee lui a demandé des statistiques depuis un fichier Microsoft Excel.

Oh, trois fois rien, « J'aurais besoin de connaître le chiffre d'affaire par code postaux et par villes ! ».

Et Muchmuch sûr de son fait de lâcher la phrase qu'il ne faut jamais dire avec l'informatique
« Aucun problème, tu l'auras en début d'après-midi ! ».

Une tâche plus complexe que prévu

À l'usage cela s'avère moins simpliste qu'il ne pensait, simplement parce que le code postal et la ville sont stockées dans la même cellule.

Capture tableau sans atomisation.

Figure 1 : Cellules contenant plusieurs informations.

Il faut passer par une phase intermédiaire et extraire le code postal dans une colonne puis la commune dans une autre.

La solution crise de nerfs

C'est bien sûr celle que choisi Muchmuch, mais c'est aussi la seule qu'il connaisse.

Il insère donc deux colonnes puis y colle celle qui contient le code postal et la ville.

Dans la première colonne, il supprime la ville pour ne garder que le code postal.

Dans la seconde, il supprime le code postal pour ne conserver que la commune.

Capture tableau atomisation réalisée après coup par formules Microsoft Excel.

Figure 2 : Cellules dissociées manuellement.

Avec 12000 lignes, inutile de dire qu'à 15:00 Buzzbee bipe car Muchmuch en pleine agitation compulsive n'a toujours pas fini.

La solution pour perturber du melon

Le collègue fortiche en informatique vient à la rescousse. C’est encore une erreur de Muchmuch. Il offre quand même une solution étant lui-même confronté au quotidien à ce problème avec ses propres documents.

Récupérer le code postal

Photo femme gauche ou droite ?Pour extraire le code postal, cela ne pose pas vraiment de problème et une simple fonction « =GAUCHE(E12; 5) » permet d'isoler les 5 premiers caractères du contenu de la cellule « E12 ».
Sauf que plus de 3000 données, allez savoir pourquoi, ne contiennent que le code du département et doivent par conséquent être traitées à la main ou alors la formule se complique. C’est sûrement une erreur du stagiaire pendant mes vacances, ah, les stagiaires, j’aurais l’occasion d’en reparler dans un article futur.

J'évite de vous parler des cellules où l'information est inversée avec la commune en première position, vous allez penser que j'exagère.

Isoler à droite

Photo femme dubitative.Pour la commune cela s'embrouille. Pour extraire les caractères à droite, il faut le faire à partir du premier espace trouvé (celui après le code postal).

Il faut donc retrouver la position de cet espace dans la chaine à l'aide de la fonction « =CHERCHE(" "; E12; 1) », avec le 3° argument qui indique que nous commençons la recherche depuis le premier caractère du texte.

Ensuite il faut calculer le nombre de caractères à droite de cet espace.

C'est le nombre de caractères de la chaine « =NBCAR(E12) » moins la position de l'espace, ce qui donne la formule « =NBCAR(E12)-CHERCHE(" ";E12;1) ».

Il reste à utiliser la fonction « DROITE() » pour extraire le nom de la commune.

=DROITE(E12;NBCAR(E12)-CHERCHE(" ";E12;1))

Le collègue fortiche en informatique est fier de lui et raille Muchmuch qui n'est pas foutu de saisir un code postal correct.

Muchmuch lui pense que ce mec est complètement barré et qu’ils ne vivent pas dans le même monde.

Enfin à 17:00, le document est enfin prêt. Une après-midi perdue pour une connerie.

Une solution toute simple

S'il avait lu l'article saisir ou mettre en cellule, le collègue fortiche en informatique aurait utilisé le menu « Données » => « Convertir » au lieu d'étaler sa science foireuse.

Travailler comme un « pro »

Plus tard, pour le même fichier, la même demande, Muchmuch est au bord de l’apoplexie.

Quand par un miracle digne de l’apparition de la vierge à Bernadette Soubirous, un gars du service informatique passe par là.

Pourquoi tu n’atomises pas tes cellules ? – ???
Tu fais une colonne pour le code postal et une pour la commune ce serait plus simple quand même !

Pour Muchmuch, c’est la révélation, mais comment il peut être aussi con de ne pas avoir pensé plus tôt à une solution aussi basique.

Il aurait appliqué le principe d'atomisation, un grand mot pour dire une petite chose.

L'atomisation c'est mettre dans une cellule la plus petite information possible. Ainsi, on ne met pas le nom et le prénom dans la même cellule, mais une cellule contient le nom et une autre le prénom.

Capture tableau atomisé lors de sa création.

Figure 3 : Cellules atomisées au départ.

C'est une règle essentielle de l'informatique que l'on pourrait traduire en langage humain par spécialisation.

Une cellule d'un tableur ou un champ d'une table dans une base de données ne contient qu'une information, un bout de code ne fait qu'une opération.

L'atomisation permet la création d'éléments réutilisables, d'appliquer un contrôle sur les données saisies, d'ouvrir des horizons en facilitant les analyses.

Pas sur Word quand même !

Miss Sessy est chargé de réaliser des supports de formation sur les logiciels de bureautique (Word – Excel – PowerPoint – etc.).

Vaillamment, elle commence par écrire le premier. Pour les autres, elle se rend vite compte que de grosses parties sont identiques pour tous les logiciels (les onglets, options, le correcteur orthographique, les mises en forme du texte, etc.).

Faire et maintenir des copies

Alors, il lui prend l'idée saugrenue (qui j'en suis sûr ne vous aurez pas traversé l'esprit), de faire une copie du premier document "formation-Excel" et de le renommer "formation-Word".

Schéma copie d'un document Microsoft Word.

Figure 4 : Copies multiples d'un document.

Ensuite, elle remplace dans le document "formation-Word", les paragraphes qui parlent de Microsoft Excel par les informations spécifiques à Word. Elle fait de même pour les autres supports.

Elle a bien sûr des retours d'utilisateurs qui soulignent quelques erreurs que Miss Sessy s'empresse de corriger. Mais elle est obligée de faire la modification dans tous les supports.

Et bien sûr avec le temps, elle se retrouve avec des documents hétérogènes

Schéma Modifications multiples d'un document Microsoft Word.

Figure 5 : Correction multiples de documents.

Des tas de fiches et des documents maîtres

Puis, Miss Sessy arrive sur cet article, et sa vie va basculer.

Plutôt que d'utiliser de gros documents, pourquoi ne pas créer des fichiers spécialisés ?

Un aura pour objet la gestion des onglets, l'autre l'enregistrement de fichiers, etc.

Schéma atomiser document Microsoft Word.

Figure 6 : Atomiser les documents.

Et s'il était possible dans Word de regrouper ces fichiers dans d'autres documents ?

Cela existe et s'appelle les « documents maitres » et une petite recherche internet vous permettra d'en savoir plus.

Les documents maîtres se comportent comme n'importe quel document, ils acceptent la pagination, les tables de matières et autres fonctionnalités.

Les documents "formation-Excel", "Formation-Word", etc., seraient des documents maitres et dans chacun je pourrais inclure d'autres documents.

Schéma inclusion document maitre Microsoft Word.

Figure 7 : Insérer des fichiers dans des documents maitres.

Le même document peut être intégré dans plusieurs documents maitres.

Si je modifie le document source, les documents maitres sont mis à jour.

Schéma modification document maitre Microsoft Word.

Figure 8 : Mettre à jour des fichiers inclus dans des documents maitres.

Encore une fois, l'atomisation montre ses avantages.

Moralités

En informatique, il est toujours plus simple de réunir l'information que de la dissocier.

Un emplacement, une donnée c’est gagner en liberté.

Ce qui est petit, est mignon, ce qui est trop gros, n’est pas costaud.

Ne raillez pas trop les informaticiens parfois ils savent être de petits malins.

Restez informé

Inscrivez-vous à la newsletter et recevez l'actualité du blog dans votre boite aux lettres.

Laisser un commentaire


Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Prouvez que vous êtes humain. * Time limit is exhausted. Please reload the CAPTCHA.