Formule contenant fonction Gauche avec numéro commencant par zéro

Bonjour,

J’ai besoin d’un petit coup de pouce sur un formulaire.

Dans mon formulaire je rentre un code postal « 00000 ». dans une autre cellule je souhaite afficher le nom d’une personne de mon équipe de travail qui s’occupe du département en question.
Pour cela sur une seconde feuille j’ai créé un tableau avec les numéro de département à 2 chiffres (avec un format de cellule personnalisé comme cela « 00 »)

Jusque là tout va bien! Voici la formule que j’ai pu établir: =RECHERCHEV(GAUCHE(C2166;2)*1;Adevistes!$A$2:$B$97;2;FAUX)

Cependant j’ai un problème pour les départements: 01 jusqu’à 09, où là la formule ne semble pas percevoir le zéro en premier caractère et donc ne m’affiche pas la bonne personne.

Exemple pour le code postal: 01000 il comprend que le département est le n°10 et non 01.

Auriez-vous une piste?
Je vous remercie et vous souhaite une bonne fin de journée.

Charlotte

Bonjour

Je viens de tester avec ta formule

Effectivement en l’état pour un code postal 01000 la recherche se fait sur 1 et non 01

Cela vient de la partie de la formule qui détermine la donnée recherchée soit :

GAUCHE(C2166;2)*1;

si C2166 porte le code postal 01000 la partie GAUCHE(C2166;2) extrait bien la donnée de recherche 01 de ce code postal mais le *1 enlève le 0

Donc il faudrait mettre plutôt comme ceci :

GAUCHE(C2166;2)

soit la formule globale :

=RECHERCHEV(GAUCHE(C2166;2);Adevistes!$A$2:$B$97;2;FAUX)

Pourquoi avoir rajouté cette multiplication *1 ?

Comme je n’ai pas la raison je ne peux aller plus loin dans le constat et la solution

A ta disposition pour en parler

Je te remercie pour ton aide.

J’avais bien mis cette formule sans le *1 mais n’obtenait aucun résultat.

Après recherche j’ai compris que la fonction Gauche s’appliquaient a des textes et non a des chiffres. J’ai trouvé la solution du *1 a rajouté pour que ça soit pris en compte comme des chiffres.

Oui mais hélas cela réagit comme des chiffres sans 0 devant
J ai essayé sans cet artifice pour moi cela fonctionne avec ta formule tel qu elle est
Si tu n y arrives pas envoies ton fichiers avec quelques exemples défaillants et non confidentiels
Peut être le pb se situe à un autre niveau mais pour cela il nous faut le contexte

A toi de voir

Bonjour,

Voici un extrait de mon fichier.

On peux voir que sur les deux premières lignes il n’y a pas de problème. En revanche pour les deux suivante avec les codes postaux 01000 et 02000 cela ne fonctionne pas.

j’ai réessayé sans le « *1 » mais aucun résultat ne s’affiche.

Test ACR.xlsx (13,3 Ko)

Bonjour

Après analyse de ton fichier plusieurs remarques

Attention à la présentation de tes données qui pour un certain nombre sont des formats d’affichage et non les données réelles des cellules

Je m’explique :

colonne C onglet « Feuil1 » les données sont régis par le format des cellules que tu leur a affecté soit « Spécial code postal »

Celle ci fait en sorte que la donnée se présente comme le veut ce format soit avec 5 chiffres même si la donnée n’en a que 4 en lui intégrant un 0 devant pour malgré tout à l’affichage il y est 5 chiffres

Donc pour les 2 premières données le format d’affichage est identique à la données réelle :

Affichage : 54350 pour une donnée : 53450

Mais pour les données qui mettent à mal ta formule colonne N le format d’affichage est différent de la données :

Affichage : 01000 donnée : 1000

Idem pour

Affichage 02000 donnée 2000
Regarde la donnée dans la barre de formule

Dans ta formule tu extrait les 2 premiers chiffres à gauche de la donnée non pas de l’affichage

Donc pour 54350 donnée 54350 formule GAUCHE(C5;2) : 54

Mais pour donnée 1000 GAUCHE(C7;2) : 10

Et pour donnée 2000 GAUCHE(C8;2) : 20

Logique la formule ne se préoccupe que de la donnée et non du format d’affichage

Seul moyen de contourner la difficulté c’est de traiter les 2 situations de manière distinctes sur la base du nombre de caractères de la donnée
Si celle-ci est de 5 caractères on utilise ta formule :
GAUCHE(C5;2)
Si celle-ci est de 4 caractères il faut la modifier ainsi
soit on ne prend qu’un caractère ainsi :
GAUCHE(C7;1) pour obtenir le premier chiffre uniquement ( la difficulté n’est que pour les codes postaux de 01 à 09 ou de 1 à 9)

soit on ne prend qu’un caractère en rajoutant artificiellement le chiffre 0 devant ainsi :

« 0 » & GAUCHE(C7;1) ce qui donnera comme résultat 01 ou 02

J’ai opté pour le la première solution car onglet « Adevistes » colonne A les départements concerné (9 premiers) ont tous à part le tout premier que j’ai corrigé pour être à l’identique des autres un format d’apparence à 2 chiffres avec le 0 qui n’est que d’affichage n’existant pas dans la donnée
Affichage :
01
02
03
04
05
06
07
08
09

données :
1
2
3
4
5
6
7
8
9

Pour être en cohérence avec les données en place de cette onglet la première option est adaptée

J’ai apporté en plus dans ta formule colonne N un dispositif qui évite si la donnée ne peut être trouvée (Absence de celle-ci colonne C) d’obtenir comme résultat : #VALEUR

Ton fichier avec ces corrections

Testes et dis moi

Test ACR.xlsx (13,8 Ko)

1 « J'aime »

Bonjour,

Cela fonctionne parfaitement avec ta formule.

Je te remercie.

Bonjour
Merci pour ton retour même s’il a quelque peu tardé
Ravi que cela te convienne
Au plaisir de te retrouver si besoin

Oui je n’ai pas pu avoir accès à ce document avant aujourd’hui. Désolé pour l’attente. Et encore merci :blush: au plaisir d’échanger de nouveau.

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.