Rechercher : dans
Par :

Problème fonction imbriquée

Dernière réponse le 3 sep 2008 à 14:20:53 DIM72, le 2 sep 2008 à 14:26:57 
 Signaler ce message aux modérateurs

Bonjour,

J'ai une base de données de patient avec leur code postal de domicile, qui se met à jour automatiquement une fois par semaine;

Je fais un tableau croisé de ces données pour avoir une représentation graphique avec un regroupement dans le tableau croisé par quelques départements qui m'intéressent; malheureusement lors des mises à jour les regroupements ne se font pas automatiquement;

Je souhaite donc les faire dans ma base de données en utilsant soit la recherchev ou la fonction cherche qui marchent séparément:

=SI(CHERCHE("61***";K:K);"ORNE")
=SI(CHERCHE("72***";K:K);"SARTHE")
ou
=SI(RECHERCHEV(K:K;CP!D:D;1;FAUX);"ORNE";"FAUX")
=SI(RECHERCHEV(K:K;CP!F:F;1;FAUX);"SARTHE";"FAUX")
mais si je les cumulent je n'en ai qu'une qui fonctionne
=SI(CHERCHE("72***";K:K);"SARTHE";SI(CHERCHE("61***";K:K);"ORNE")) ici j'ai SARTHE mais les valeurs ORNE sont #VALEUR!
ou
=SI(RECHERCHEV(K:K;CP!D:D;1;0);"ORNE";SI(RECHERCHEV(K:K;CP!F:F;1;0);"SARTHE") ici j'ai l'ORNE mais pas la SARTHE

Merci de m'aider et de me montrer mes erreurs

Configuration: Windows XP
Internet Explorer 6.0; EXCEL 2003

Meilleures réponses pour « Problème fonction imbriquée » dans :
Faire fonctionner une application Windows sous Linux avec Wine VoirWine est un logiciel permettant de faire fonctionner certaines applications Windows sous Linux. Contrairement à VMWare ou VirtualBox, Wine n'émule pas un PC complet, mais seulement les API Win32 (appels système Windows). L'émulation n'est pas...
Gérer les fonctionnalités sous vista VoirSous Vista, comme il est possible sous Xp, vous pouvez activer ou désactiver certaines fonctionnalités suivant si vous utilisez les jeux, une imprimante, etc... Accéder aux fonctionnalités de Windows Fonctionnalités Accéder aux...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
Fonctionnement du Bluetooth VoirFonctionnement Le standard Bluetooth, à la manière du WiFi utilise la technique FHSS (Frequency Hopping Spread Spectrum, en français étalement de spectre par saut de fréquence ou étalement de spectre par évasion de fréquence), consistant à découper...
Javascript - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction...
PHP - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...

1

Ivan-hoe, le 2 sep 2008 à 16:34:40

Bonjour DIM,
tu sembles t'être embarquée dans un sacré mic-mac. Avec tes fonctions CHERCHE imbriquées, ça pose problème car il suffit qu'une des fonction CHERCHE renvoie une erreur pour que formule complète renvoie aussi #VALEUR!
Suggestion :
- tu crées une petite liste à 2 colonnes avec le n° du département en colonne 1 et le nom du département en colonne 2 (elle peut être dans une autre feuille) ;
- tu donnes un nom à cette liste (Insertion / Nom / Définir), par exemple DEPARTEMENT
- dans ta base de données, tu écris la formule suivante :
=RECHERCHEV(CNUM(GAUCHE(K1;2));DEPARTEMENT;2;FAUX)
Si ton code postal est en K1,
la fonction GAUCHE(K1;2) prend les 2 premiers caractères de gauche
la fonction CNUM le transforme en nombre
la fonction RECHERCHEV va chercher le n° du département dans ta liste
I.

Répondre à Ivan-hoe

2

DIM72, le 3 sep 2008 à 09:32:52

Bonjour et merci pour ta réponse qui fonctionne sans problème, mais ne résoud pas totalement mon problème qui est encore plus complexe.
Pour que tu comprennes je te donnes les différentes lignes de mon tableau croisé et donc de mon garphique souhaité:

1- SARTHE tous les 72 sauf ceux des lignes suivantes
2- La FERTE BERNARD ( 72400)
3- CANTONS proche LA FERTE BERNARD ( 72160,72110,72320,72450)
4- ORNE
5- EURE et LOIR
6- DIVERS ( tous les autres codes postaux possibles)

Mon problème c'st que cela marche sans problème en faisant grouper dans le tableau croisé; mais je suis obligé de dissocier le tout régulièremet et de regrouper le tout ensuite; suite aux mises à jour de ma base de données

Tu vois pourquoi je voulais passer par des SI et recherch.....

Si tu as une idée, je te remercierais du fond du coeur
A+

Répondre à DIM72

3

qwerty-, le 3 sep 2008 à 09:35:28

Tu n'as jamais essayé ACCESS, c'est une base de données et c'est pratique pour les.......bases de données !

Répondre à qwerty-

4

Ivan-hoe, le 3 sep 2008 à 11:48:00

Ou alors décompose en deux étapes :
-d'abord une RECHERCHEV du code postal dans une table qui contient tes cas spécifiques ; tous les autres renverront #N/A
-ensuite une RECHERCHEV des 2 premiers chiffres du code postal dans une table qui contient tous les départements, précédée d'un test =SI(ESTNA(...); ....; ....)
I.

Répondre à Ivan-hoe

5

DIMFERTE, le 3 sep 2008 à 14:08:16

Merci cette version me donne la solution, sans passer par access qui était sans doute plus élégant mais ou je suis moins performant

Encore merci à tous

Répondre à DIMFERTE

6

 qwerty-, le 3 sep 2008 à 14:20:53

Mets probleme résolu en haut de la page merci !!

Répondre à qwerty-
Collection CommentÇaMarche.net