Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

choix du texte à afficher. Problème formules

18 réponses
Avatar
Bob Bedford
Bonjour,

J'ai plusieurs listes de valeurs séparées par un ";"
Chaque ligne de valeur possède un identifiant (une valeur). Exemple
simplifié car j'ai 12 ligne à tester avec une infinité de valeurs:

63 1000;1001;1002;3000;2007
64 2005;2006


Case A1: 63 Case B1: 1000;1001;1002;3000;2007
Case A2: 64 Case B2: 2005;2006

Maintenant j'ai des centaines de lignes avec une valeur dans la première
colonne.

Ce que je souhaite faire avec une formule, c'est que dès que la valeur de
cette colonne est trouvée dans une ligne de la colonne B, il affiche la
valeur de la colonne A.

Exemple
1002 test1
2005 test2
3000 test3

J'aimerai sur une autre fiche un tableau genre:
63 1002 test1
64 2005 test2
63 3000 test3

car 1002 et 3000 sont dans la ligne de valeur 63 et 2005 sur la ligne de la
valeur 64

J'ai essayé cette formule sans succès (mes enregistrement commencent à la
ligne 20

=si(recherche(B20;B1)>0;A1;si(recherche(B20;B2)>0;A2;"indefini"))

Hors le "RECHERCHE" imbriqué dans le SI j'ai l'erreur #N/A. J'ai aussi
essayé avec TROUVE mais problème #VALEUR cette fois.

Merci de m'aider....car là j'y arrive pas...et je n'y connais rien en
macros.

8 réponses

1 2
Avatar
Bob Bedford
Au fait pour être plus précis, ces codes sont le résultat d'une fonction
"=DROITE(autrecasesurautrefeuille,4)"...et dans ce cas ça je n'arrive pas à
faire fonctionner.

"Bob Bedford" a écrit dans le message de news:
O$
Bonjour,

Merci pour votre aide.

Malheuresement j'ai des codes genre 0006 et dans ce cas ça ne fonctionne
pas

Et aussi ce ne sont pas toujours 4 caractères, ça peut aussi être 5...

2 heures que j'essaye...impossible de trouver...c'est pour ça que je fais
encore appel à votre aide !!!!

BB


"JB" a écrit dans le message de news:

Bonjour,

http://cjoint.com/?dnfNyPNoCW

JB





Avatar
Daniel.C
Bonjour.
Mets la plage A10:A13 (dans le classeur exemple) au format texte, il n'y
aura aucun problème.
Daniel
"Bob Bedford" a écrit dans le message de news:
O$
Bonjour,

Merci pour votre aide.

Malheuresement j'ai des codes genre 0006 et dans ce cas ça ne fonctionne
pas

Et aussi ce ne sont pas toujours 4 caractères, ça peut aussi être 5...

2 heures que j'essaye...impossible de trouver...c'est pour ça que je fais
encore appel à votre aide !!!!

BB


"JB" a écrit dans le message de news:

Bonjour,

http://cjoint.com/?dnfNyPNoCW

JB




Avatar
Bob Bedford
Alors ça fonctionne sur 4 lignes et après plus...Les références sont bonnes
pourtant.

Le fichier qui pose problème se trouve ici: http://cjoint.com/?dnkOaEXUcg

en supprimant la fontion =DROITE(list!A4;4) dans D24, N/A disparait au
profit de X1 dans A28 est ainsi de suite..on dirait qu'il n'arrive à gérer
que 4 lignes, pas plus.
Aussi pourquoi ais-je le texte "=DROITE(list!A4;4)" au lieu de la valeur
dans cette case ?

Merci pour votre aide Daniel.


"Daniel.C" a écrit dans le message de news:

Bonjour.
Mets la plage A10:A13 (dans le classeur exemple) au format texte, il n'y
aura aucun problème.
Daniel
"Bob Bedford" a écrit dans le message de news:
O$
Bonjour,

Merci pour votre aide.

Malheuresement j'ai des codes genre 0006 et dans ce cas ça ne fonctionne
pas

Et aussi ce ne sont pas toujours 4 caractères, ça peut aussi être 5...

2 heures que j'essaye...impossible de trouver...c'est pour ça que je fais
encore appel à votre aide !!!!

BB


"JB" a écrit dans le message de news:

Bonjour,

http://cjoint.com/?dnfNyPNoCW

JB









Avatar
JB
Bonjour,

Il me semble qu'il ne faut pas qu'une ligne dépasse 255 car

http://cjoint.com/?dnldPuBBFy

JB


On 13 mar, 10:42, "Bob Bedford" wrote:
Alors ça fonctionne sur 4 lignes et après plus...Les références so nt bonnes
pourtant.

Le fichier qui pose problème se trouve ici:http://cjoint.com/?dnkOaEXUcg

en supprimant la fontion =DROITE(list!A4;4) dans D24, N/A disparait au
profit de X1 dans A28 est ainsi de suite..on dirait qu'il n'arrive à g érer
que 4 lignes, pas plus.
Aussi pourquoi ais-je le texte "=DROITE(list!A4;4)" au lieu de la valeur
dans cette case ?

Merci pour votre aide Daniel.

"Daniel.C" a écrit dans le message de news:




Bonjour.
Mets la plage A10:A13 (dans le classeur exemple) au format texte, il n'y
aura aucun problème.
Daniel
"Bob Bedford" a écrit dans le message de news:
O$
Bonjour,

Merci pour votre aide.

Malheuresement j'ai des codes genre 0006 et dans ce cas ça ne fonctio nne
pas

Et aussi ce ne sont pas toujours 4 caractères, ça peut aussi être 5...

2 heures que j'essaye...impossible de trouver...c'est pour ça que je fais
encore appel à votre aide !!!!

BB

"JB" a écrit dans le message de news:

Bonjour,

http://cjoint.com/?dnfNyPNoCW

JB- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
Bob Bedford
J'ai essayé de séparer en plusieurs parties à moins de 255 caractères mais
ça ne change rien.
"JB" a écrit dans le message de news:

Bonjour,

Il me semble qu'il ne faut pas qu'une ligne dépasse 255 car

http://cjoint.com/?dnldPuBBFy

JB


On 13 mar, 10:42, "Bob Bedford" wrote:
Alors ça fonctionne sur 4 lignes et après plus...Les références sont
bonnes
pourtant.

Le fichier qui pose problème se trouve ici:http://cjoint.com/?dnkOaEXUcg

en supprimant la fontion =DROITE(list!A4;4) dans D24, N/A disparait au
profit de X1 dans A28 est ainsi de suite..on dirait qu'il n'arrive à gérer
que 4 lignes, pas plus.
Aussi pourquoi ais-je le texte "=DROITE(list!A4;4)" au lieu de la valeur
dans cette case ?

Merci pour votre aide Daniel.

"Daniel.C" a écrit dans le message de news:




Bonjour.
Mets la plage A10:A13 (dans le classeur exemple) au format texte, il n'y
aura aucun problème.
Daniel
"Bob Bedford" a écrit dans le message de news:
O$
Bonjour,

Merci pour votre aide.

Malheuresement j'ai des codes genre 0006 et dans ce cas ça ne
fonctionne
pas

Et aussi ce ne sont pas toujours 4 caractères, ça peut aussi être 5...

2 heures que j'essaye...impossible de trouver...c'est pour ça que je
fais
encore appel à votre aide !!!!

BB

"JB" a écrit dans le message de news:

Bonjour,

http://cjoint.com/?dnfNyPNoCW

JB- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
JB
http://cjoint.com/?dnlx47QTYx

Function TrouveCode(v)
TrouveCode = "Inconnu"
temp = ";" & v & ";"
For i = 1 To [valeurs].Count
If InStr(";" & Range("valeurs")(i) & ";", temp) > 0 Then
TrouveCode = Range("codes")(i)
End If
Next i
End Function


JB

On 13 mar, 11:03, JB wrote:
Bonjour,

Il me semble qu'il ne faut pas qu'une ligne dépasse 255 car

http://cjoint.com/?dnldPuBBFy

JB

On 13 mar, 10:42, "Bob Bedford" wrote:



Alors ça fonctionne sur 4 lignes et après plus...Les références sont bonnes
pourtant.

Le fichier qui pose problème se trouve ici:http://cjoint.com/?dnkOaEXU cg

en supprimant la fontion =DROITE(list!A4;4) dans D24, N/A disparait au
profit de X1 dans A28 est ainsi de suite..on dirait qu'il n'arrive à g érer
que 4 lignes, pas plus.
Aussi pourquoi ais-je le texte "=DROITE(list!A4;4)" au lieu de la vale ur
dans cette case ?

Merci pour votre aide Daniel.

"Daniel.C" a écrit dans le message de news:


Bonjour.
Mets la plage A10:A13 (dans le classeur exemple) au format texte, il n 'y
aura aucun problème.
Daniel
"Bob Bedford" a écrit dans le message de news:
O$
Bonjour,

Merci pour votre aide.

Malheuresement j'ai des codes genre 0006 et dans ce cas ça ne fonct ionne
pas

Et aussi ce ne sont pas toujours 4 caractères, ça peut aussi êt re 5...

2 heures que j'essaye...impossible de trouver...c'est pour ça que j e fais
encore appel à votre aide !!!!

BB

"JB" a écrit dans le message de news:

Bonjour,

http://cjoint.com/?dnfNyPNoCW

JB- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -





Avatar
Bob Bedford
Autant pour moi, j'ai enfin réussi...je pointait sur des fausse cases.

Merci pour ton aide...malgré tout je n'y connais rien en macro....

@+

"JB" a écrit dans le message de news:

http://cjoint.com/?dnlx47QTYx

Function TrouveCode(v)
TrouveCode = "Inconnu"
temp = ";" & v & ";"
For i = 1 To [valeurs].Count
If InStr(";" & Range("valeurs")(i) & ";", temp) > 0 Then
TrouveCode = Range("codes")(i)
End If
Next i
End Function


JB

On 13 mar, 11:03, JB wrote:
Bonjour,

Il me semble qu'il ne faut pas qu'une ligne dépasse 255 car

http://cjoint.com/?dnldPuBBFy

JB

On 13 mar, 10:42, "Bob Bedford" wrote:



Alors ça fonctionne sur 4 lignes et après plus...Les références sont
bonnes
pourtant.

Le fichier qui pose problème se trouve ici:http://cjoint.com/?dnkOaEXUcg

en supprimant la fontion =DROITE(list!A4;4) dans D24, N/A disparait au
profit de X1 dans A28 est ainsi de suite..on dirait qu'il n'arrive à
gérer
que 4 lignes, pas plus.
Aussi pourquoi ais-je le texte "=DROITE(list!A4;4)" au lieu de la valeur
dans cette case ?

Merci pour votre aide Daniel.

"Daniel.C" a écrit dans le message de news:


Bonjour.
Mets la plage A10:A13 (dans le classeur exemple) au format texte, il
n'y
aura aucun problème.
Daniel
"Bob Bedford" a écrit dans le message de news:
O$
Bonjour,

Merci pour votre aide.

Malheuresement j'ai des codes genre 0006 et dans ce cas ça ne
fonctionne
pas

Et aussi ce ne sont pas toujours 4 caractères, ça peut aussi être
5...

2 heures que j'essaye...impossible de trouver...c'est pour ça que je
fais
encore appel à votre aide !!!!

BB

"JB" a écrit dans le message de news:

Bonjour,

http://cjoint.com/?dnfNyPNoCW

JB- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -


- Afficher le texte des messages précédents -





Avatar
JB
-Alt+F11
-Insertion/Module

Function TrouveCode(v, valeurs, codes)
TrouveCode = "Inconnu"
temp = ";" & v & ";"
For i = 1 To valeurs.Count
If InStr(";" & valeurs(i) & ";", temp) > 0 Then
TrouveCode = codes(i)
End If
Next i
End Function

La fonction s'utilise comme une fonction standard.

=trouvecode(D1;Feuil2!$B$1:$B$18;Feuil2!$A$1:$A$18)

http://cjoint.com/?dnrjq0asIy

JB

On 13 mar, 11:36, "Bob Bedford" wrote:
Autant pour moi, j'ai enfin réussi...je pointait sur des fausse cases.

Merci pour ton aide...malgré tout je n'y connais rien en macro....

@+

"JB" a écrit dans le message de news:
:/ /cjoint.com/?dnlx47QTYx

Function TrouveCode(v)
   TrouveCode = "Inconnu"
   temp = ";" & v & ";"
   For i = 1 To [valeurs].Count
     If InStr(";" & Range("valeurs")(i) & ";", temp) > 0 Then
       TrouveCode = Range("codes")(i)
     End If
   Next i
End Function

JB

On 13 mar, 11:03,JB wrote:



Bonjour,

Il me semble qu'il ne faut pas qu'une ligne dépasse 255 car

http://cjoint.com/?dnldPuBBFy

JB

On 13 mar, 10:42, "Bob Bedford" wrote:

Alors ça fonctionne sur 4 lignes et après plus...Les référence s sont
bonnes
pourtant.

Le fichier qui pose problème se trouve ici:http://cjoint.com/?dnkOaE XUcg

en supprimant la fontion =DROITE(list!A4;4) dans D24, N/A disparait au
profit de X1 dans A28 est ainsi de suite..on dirait qu'il n'arrive à
gérer
que 4 lignes, pas plus.
Aussi pourquoi ais-je le texte "=DROITE(list!A4;4)" au lieu de la va leur
dans cette case ?

Merci pour votre aide Daniel.

"Daniel.C" a écrit dans le message de news:


Bonjour.
Mets la plage A10:A13 (dans le classeur exemple) au format texte, il
n'y
aura aucun problème.
Daniel
"Bob Bedford" a écrit dans le message de news:
O$
Bonjour,

Merci pour votre aide.

Malheuresement j'ai des codes genre 0006 et dans ce cas ça ne
fonctionne
pas

Et aussi ce ne sont pas toujours 4 caractères, ça peut aussi être
5...

2 heures que j'essaye...impossible de trouver...c'est pour ça que je
fais
encore appel à votre aide !!!!

BB

"JB" a écrit dans le message de news:
.
Bonjour,

http://cjoint.com/?dnfNyPNoCW

JB- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte de s
messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -






1 2