Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Equilibrer les chaînes de caractères
Dans ce nouveau volet sur les friandises
Excel, nous allons découvrir une
astuce de calcul.
Dans la première colonne du tableau illustré par la capture, des codes produits ne sont pas homogènes en
nombres de caractères. Et comme vous pouvez le voir, ils sont revisités et équilibrés automatiquement en seconde colonne. L'objectif, par esprit de cohérence et de professionnalisme, est que tous soient codés sur 6 caractères par exemple.
Classeur Source
Pour la résolution de cette
astuce, nous suggérons de récupérer ce tableau des
codes articles mal formés.
Nous retrouvons les codes articles déséquilibrés en première colonne du tableau. La seconde colonne est vide quant à elle puisqu'elle attend la
formule capable de lisser la longueur de ces chaînes.
Homogénéiser les codes
Pour équilibrer ces codes, nous proposons d'ajouter des zéros en préfixe, autant de fois que nécessaire pour atteindre les six caractères. Il s'agit donc d'entreprendre une
homogénéisation dynamique puisqu'elle dépend de la longueur de chaque chaîne initiale. Et pour cela la
fonction Excel Rept est d'une aide précieuse. Elle permet de répéter un caractère à spécifier en premier argument, un certain nombre de fois à renseigner en second argument. Et c'est ce second argument que nous devons retravailler pour qu'il s'ajuste inversement à la longueur du code traité.
- Cliquer sur la cellule D4 pour la sélectionner,
- Taper le symbole égal (=) pour initier la syntaxe de la formule,
- Inscrire le nom de la fonction suivi d'une parenthèse, soit : Rept(,
- Taper le chiffre 0 pour indiquer la valeur à répéter,
S'il s'agissait d'une lettre, nous devrions l'inscrire entre guillemets.
- Taper un point-virgule (;) pour passer dans l'argument du nombre de répétitions,
Nous avons fixé la longueur à atteindre à 6 caractères. Ce
nombre de répétitions doit donc établir la différence entre ce seuil et le nombre actuel de caractères dans le code à traiter.
- Taper le chiffre 6 suivi du symbole moins, soit : 6-,
- Inscrire la fonction pour compter les caractères, suivie d'une parenthèse, soit : NbCar(,
- Désigner le code article de la ligne en cours d'analyse en cliquant sur sa cellule C4,
- Fermer la parenthèse de la fonction NbCar,
- Puis, fermer la parenthèse de la fonction Rept,
A ce stade, nous avons construit la succession de chiffres zéros pour allonger la chaîne du code article jusqu'à six caractères. Nous devons donc lui associer ce code lui-même par
concaténation.
- Enfoncer la touche 1 en haut à gauche du clavier pour annoncer la concaténation, soit : &,
- Puis, désigner de nouveau le code de la ligne en cours par ses coordonnées, soit : C4,
En effet, il est probable que la formule déborde sur la
cellule de la référence, nous empêchant de la cliquer. Pour contourner le souci, il suffit de taper les coordonnées de la case au clavier.
Grâce à cette
astuce, nous conservons active la cellule du résultat pour l'exploiter dans l'enchaînement. Mais avant cela, vous constatez que le premier code article, composé de deux chiffres, est bien automatiquement équilibré sur six caractères avec l'ajout de quatre zéros en préfixe.
- Double cliquer sur la poignée de la cellule du résultat,
De cette manière, nous répliquons la
logique de la formule sur la hauteur du tableau.
Comme vous pouvez le voir, tous les codes articles sont désormais homogénéisés en longueur.
Pour chacun, le nombre de zéros nécessaires a été ajouté en préfixe. Et pour cela, nous avons construit une formule fort simple :
=REPT(0;6-NBCAR(C4)) & C4. L'
astuce a consisté à répéter un caractère précis un nombre variable de fois, grâce à la
fonction Rept.
Si vous modifiez un
code en première colonne, sa reconstruction équilibrée se génère instantanément en seconde colonne. Si vous créez un code de plus de 6 caractères, une erreur est retournée puisque la
répétition ne peut pas avoir lieu une quantité négative de fois.
L'
astuce de contournement consiste à imbriquer le précédent calcul dans la
fonction Excel de gestion des anomalies :
SiErreur. Il y a deux écoles. En cas d'erreur, soit nous décidons de restituer le code fidèlement, soit nous décidons de le tronquer pour le ramener à six caractères et ainsi l'homogénéiser avec les autres. Nous allons opter pour la deuxième solution. Et pour cela, la
fonction Excel Gauche est nécessaire. C'est elle qui permet de prélever un
bout de chaîne à partir de son premier caractère, sur une longueur à définir, six en l'occurrence ici.
Pour cela, la syntaxe de la formule doit être adaptée comme suit :
=SIERREUR(REPT(0;6-NBCAR(C4))& C4; GAUCHE(C4; 6))
Et après réplication, vous constatez que plus aucune erreur n'apparaît. Tous les codes sont standardisés, y compris ceux qui étaient trop longs.