Formule TROUVE (Excel) dans ACCESS avec renvoie de valeur ?

Fermé
Pierrax75 Messages postés 6 Date d'inscription mardi 30 août 2016 Statut Membre Dernière intervention 1 septembre 2016 - 30 août 2016 à 12:50
Pierrax75 Messages postés 6 Date d'inscription mardi 30 août 2016 Statut Membre Dernière intervention 1 septembre 2016 - 1 sept. 2016 à 09:42
Bonjour,

Je voudrais savoir si il était possible d'écrire cette formule et surtout comment dans Access. Ou trouver une variante qui ferait la même chose :

SI(SIERREUR(TROUVE("_DVD_";D2;1);0)>1;"DVD";



Je m'explique, j'ai de grosses bases de données où se trouve des codes références. Ces codes sont imbriqués de plusieurs "label" et j'aimerai dès que je trouve ce "label" dans la chaîne de valeur renvoyer le nom du "Label".

J'utilise aujourd'hui cette formule :

SI(SIERREUR(TROUVE("_DVD_";D2;1);0)>1;"DVD"



SI on trouve "Label" alors renvoyé la position SI cette position est supérieur à 1 (Alors la valeur existe) ALORS renvoyer "Label".

J'utilise Access 2007 / Et j'aimerai faire cette formule dans une requête qui est lié à une table lié (excel)

Merci beaucoup,


A voir également:

3 réponses

Utilisateur anonyme
30 août 2016 à 22:06
Bonjour,

regardes du côté de INSTR

https://sql.sh/fonctions/instr

a+
0
En te relisant, ce n'est pas clair :
SI on trouve "Label" alors renvoyé la position SI cette position est supérieur à 1 (Alors la valeur existe) ALORS renvoyer "Label".

Il y a 2 'alors'.

Exemple (à toi de répondre) :
Chaine recherchée : "DVD"

Que renvoyer quand la chaine dans laquelle tu recherches est :
a/ ADVD54
b/ eriodDVE
c/ erDVEDVD
d/ DVD45

A+

Quand Jimmy dit What'd I say 
I love you baby 
C'est comme qui dirait 
Toute la province qui chante en anglais
0
Pierrax75 Messages postés 6 Date d'inscription mardi 30 août 2016 Statut Membre Dernière intervention 1 septembre 2016
31 août 2016 à 09:55
Bonjour,

Pardonne moi je me suis surement mal exprimé :

On recherche la chaine de caractère "donc le label" dans une cellule avec la formule TROUVE (Cette formule dans Excel renvoie la position du premier caractère rechercher dans une chaine de valeur. SI la chaine de valeur existe elle renvoie donc un entier positif donc > 1. SI la valeur n'existe pas elle renvoie une erreur "N/A".

DONC : SI TROUVE renvoie une valeur >1 ALORS renvoyer "un label défini" SINON renvoyer 0.

Le but est d'imbriquer plusieurs formules afin de créer une sorte de mapping automatique.

SI(SIERREUR(TROUVE("_DVD_";D2;1);0)>1;"DVD";SI(SIERREUR(TROUVE("_CD_";D2;1);0)>1;"CD";SI(SIERREUR(TROUVE("_JEU_PC_";D2;1);0)>1;"JEU PC";"0"


Imaginons que j'ai ces labels dans une colonne :

a) _DVD_10_50_40 --> Renvoyer DVD
b) _CD_10_25_80 --> Renvoyer CD
c)_JEU_PC_40_58_96 --> Renvoyer JEU PC

Avec ton exemple :

Chaine recherchée : "DVD"

Que renvoyer quand la chaine dans laquelle tu recherches est :
a/ ADVD54 --> DVD
b/ eriodDVE --> 0
c/ erDVEDVD --> DVD
d/ DVD45 --> DVD

Merci de ton aide, je vais regarder le lien que tu m'as donné plus haut.
0
Utilisateur anonyme > Pierrax75 Messages postés 6 Date d'inscription mardi 30 août 2016 Statut Membre Dernière intervention 1 septembre 2016
31 août 2016 à 20:00
Re,

pourquoi > 1 ??? Je dirais <>0...

A+
0
Pierrax75 Messages postés 6 Date d'inscription mardi 30 août 2016 Statut Membre Dernière intervention 1 septembre 2016
1 sept. 2016 à 09:42
Bonjour,

Oui en effet 0 serait plus judicieux mais j'ai une clef avec les labels du coup c'est obligatoirement supérieur à 1. Mais vous avez raison.
0
Utilisateur anonyme
31 août 2016 à 20:36
La fonction INSTR combinée avec SSI devrait répondre à tes besoins...

A+
0
Pierrax75 Messages postés 6 Date d'inscription mardi 30 août 2016 Statut Membre Dernière intervention 1 septembre 2016
1 sept. 2016 à 09:42
Bonjour,

Très bien merci beaucoup je vais regarder ça.

Bonne journée et encore merci.
0