Attribuer un Nom à partir d'un chiffre ou d'un N°

Marcel13

XLDnaute Nouveau
Bonjour,

Autant dire que je ne suis pas un spécialiste d'Excel, mais j'y travaille assez souvent, avec des fonctions souvent simples et basiques.
Voici ma demande :

J'ai un tableau qui comporte plusieurs cellules, dont une comporte une série de chiffre, voir exemple ci-dessous :
image 1.jpg

Dans les cellules de la colonne B, figure une succession de chiffres.
Par exemple dans la cellule B2 se trouve la donnée : 131992000901 qui signifie ceci:
13 = le N° de la Région
1992 = le N° du Club
0009 = le N° de l'adhérent
01 = le N° de la photo

Je voudrai pouvoir placer, dans une nouvelle colonne, le nom du Club en fonction de son N°.

Dans cet exemple,
1992 correspond au Club Clin d'œil
0993 correspond au Club Photo Club de La Garde
2084 correspond au Club Art Déclic de l'Argens

J'ai par ailleurs, dans un autre tableau, le détail de tous ces clubs. Voir un exemple ci-après.
image 2.jpg

Donc ma question est: comment faire cette opération s'il vous plait.

Un grand merci par avance
 

Pièces jointes

  • image 1.jpg
    image 1.jpg
    23.6 KB · Affichages: 67
  • image 1.jpg
    image 1.jpg
    23.6 KB · Affichages: 52
  • image 1.jpg
    image 1.jpg
    23.6 KB · Affichages: 47
  • image 1.jpg
    image 1.jpg
    21 KB · Affichages: 56
  • image 1.jpg
    image 1.jpg
    21 KB · Affichages: 53
  • image 2.jpg
    image 2.jpg
    36 KB · Affichages: 61
  • image 2.jpg
    image 2.jpg
    36 KB · Affichages: 57

R@chid

XLDnaute Barbatruc
Re : Attribuer un Nom à partir d'un chiffre ou d'un N°

Re,
Voir PJ
il faut que tous les numéros de clubs dans le 2ème tableau soient en format numérique ou en format texte pour pouvoir faire avec une formule classique.
sinon on est obligé de faire en matricielle.


@ + +
 

Pièces jointes

  • Marcel13.xlsx
    10.4 KB · Affichages: 42

david84

XLDnaute Barbatruc
Re : Attribuer un Nom à partir d'un chiffre ou d'un N°

Je voudrai bien, mais je ne connais pas du tout ces fonctions...

Si tu veux une solution clé en main alors Rachid te l'a donnée.

Si tu veux comprendre comment faire tu peux regarder ces fonctions dans l'aide d'Excel (appeler l'aide via la touche F1) et taper le nom de la fonction dans la zone de recherche.
Ex pour la fonction STXT :
Description
STXT renvoie un nombre donné de caractères extraits d’une chaîne de texte à partir de la position que vous avez spécifiée, en fonction du nombre de caractères spécifiés.

MIDB renvoie un nombre donné de caractères extraits d’une chaîne de texte à partir de la position que vous avez spécifiée, en fonction du nombre d’octets spécifiés.

Important La fonction STXT est destinée aux langues qui utilisent un jeu de caractères codés sur un octet, tandis que la fonction MIDB est destinée aux langues qui utilisent un jeu de caractères codés sur deux octets. La langue définie par défaut sur votre ordinateur affecte la valeur de retour de la manière suivante :

STXT compte toujours chaque caractère, qu’il soit codé sur un ou deux octets, pour un, quelle que soit la langue définie par défaut.
MIDB compte chaque caractère codé sur deux octets pour deux si vous avez activé l’édition d’une langue prenant en charge un jeu de caractère codé sur deux octets puis avez défini cette langue par défaut. Sinon, MIDB compte chaque caractère pour 1.
Parmi les langues qui prennent en charge les jeux de caractères codés sur deux octets figurent le japonais, le chinois (simplifié et traditionnel) et le coréen.

Syntaxe
STXT(texte, no_départ, no_car)
et les exemples fournis :
=STXT(A2;1;5) Cinq caractères de la chaîne ci-dessus, à partir du premier caractère (Cours)
=STXT(A2;7;20) Vingt caractères de la chaîne ci-dessus, à partir du septième caractère (moyen)
=STXT(A2;20;5) Le point de départ étant supérieur à la longueur de la chaîne, un texte vide est renvoyé ()
Et pose des questions sur ce que tu ne comprends pas.
A+
 

Marcel13

XLDnaute Nouveau
Re : Attribuer un Nom à partir d'un chiffre ou d'un N°

J'ai très bien compris la Fonction STXT, je l'ai mis en pratique et cela fonctionne.

Par contre, je ne sais pas comment m'y prendre pour les fonctions INDEX et EQUIV

J'ai tapé cette formule, en fonction de mon tableau, mais il y a un truc qui ne fonctionne pas:

=INDEX(A8:B10;EQUIV(D2;A8:B10);D2)
 

david84

XLDnaute Barbatruc
Re : Attribuer un Nom à partir d'un chiffre ou d'un N°

Admettons que tu aies utilisé la formule STXT en J2 : tu as donc les valeurs renvoyées en J2:J4.
Fais un copier-coller spécial valeur de ces données en B7:B9.
Ensuite tu peux utiliser une combinaison INDEX+EQUIV pour ramener les noms.

Pour EQUIV regarde dans l'aide d'Excel ce qui est noté.
EQUIV(valeur_cherchée, matrice_recherche, [type])
EQUIV te donne la position de la valeur cherchée dans une matrice.

Rentre en K2
Code:
EQUIV(J2;$B$7:$B$9;0)
La valeur cherchée est donc celle inscrite en J2, la matrice est celle placée en B7:B9 (là où tu as fais ton copier-coller).
Le fait d'utiliser les "$" permet de "fixer" la plage (quand tu tires ta formule vers le bas la plage n'est pas modifiée).

Comme tu recherches la valeur exacte l'argument type est =0
0 La fonction EQUIV recherche la première valeur exactement équivalente à celle de l’argument valeur_cherchée. Les valeurs de l’argument matrice_recherche peuvent être placées dans un ordre quelconque

Une fois que tu as récupéré la position de chaque valeur dans la matrice tu peux alors utiliser la fonction INDEX
INDEX(matrice, no_lig, [no_col])
La matrice est la plage dans laquelle se trouvent les noms de club (A7:A9 dans le cas présent).
Code:
=INDEX($A$7:$A$9;EQUIV(J2;$B$7:$B$9;0))
sous-entendu pour la formule ci-dessus : je veux ramener la valeur qui se trouve dans la matrice A7:A9 (grâce à INDEX) et dont la position (ramenée grâce à EQUIV) correspond à la ligne où se trouve dans la matrice B7:B9 la valeur contenue en J2.

Le 3ème argument de la fonction INDEX ( [no_col]) n'est pas utile dans le cas présent puisque ta matrice ne comporte qu'une colonne. Tu remarqueras que cet argument est placé entre crochets ce qui signifie qu'il est optionnel (la preuve puisque la formule fonctionne en l'état).

Si tu as des questions n'hésite pas.
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 860
Membres
103 978
dernier inscrit
bderradji