Diverses formules dans la même cellule

solo84

XLDnaute Junior
Bonjour à tous,

Tout d'abord, comme cela est mon premier message, je vous félicite tous pour ce fabuleux forum.
J'aurais besoin de vos conseils sur un sujet qui me préoccupe depuis quelques temps.
Je suis en train de créer un formulaire qui devra effectuer des calculs sur plusieurs tableaux simultanément. J'ai créer deux fonctions de calculs de test.
Je vais tenter de vous expliquer aussi clairement que possible.
Je sélectionne dans une première liste le pays de destination, une seconde cellule m'affiche alors les différents codes postaux une fois celui-ci choisit avec une fonction recherche-v je trouve la ligne correspondante au pays et au code postal.
Vous me direz ou est le problème !!! J'ai 28 pays et une seule cellule !!! Comment puis je afficher la formule adéquate correspondante à la sélection du pays ?
J'ai pensé a passer par le VBA avec une succession de If then en fonction du string rentré.
Mais j'aurais souhaité avoir vos avis sur la question u une piste de travail.
Je ne vous ai pas joint de fichier car il est constitué de 30 tableaux différents et un peu lourd.
Je prépare un fichier d'exemple avec seulement 2 pays et 2 transporteurs afin que cela soit plus clair.
Merci de toute l'aide que vous pourriez m'apporter et de toute votre gentillesse !

Bien amicalement,

Solo
 

solo84

XLDnaute Junior
Re : Diverses formules dans la même cellule

J'ai joins un fichier épurer !
J'espere que celui ci sera clair en fait

Ce lien n'existe plus

Désolé j'ai fait avec les moyens du bord ! Même en épurant un max je ne pouvait l'envoyer !
 
Dernière édition:

wilfried_42

XLDnaute Barbatruc
Re : Diverses formules dans la même cellule

Bonjour

je n'est pas téléchargé ton fichier mais je te suggere de regarder Choisir

un plage avec tes pays
=Index(A1;Pays;0) ' te donnera l'index du pays saisi en A1

=CHOISIR(INDEX(A1;pays;0);Formule1;Formule2;Formule3;Formule4....)


Edition : Je viens d'ouvrir ton fichier

il y a beaucoup plus simple à faire
un base de donnée dans ta feuille Cp triée par pays
Colonne A les pays
Colonne B les départements
colonne C ........
Colonne D........., ainsi de suite

ensuite tu vas sur ta feuille Formulaire en D8
Menu Insertion / Nom / Définir
le nom : PlagePays
Fait reférence à : =DECALER(CP!$A$1;Equiv(Formulaire!$D$8;Cp!$A:$A;0)-1;0;NB.SI(Cp!$A:$A;Formulaire!$D$8);10)
Tout valider
ps : le 10 est pour le nombre de colonne à placer dans la plage

si tu tapes un pays en d8, tu retournes dans Menu insertion / Nom / Definir
tu choisis le nom : plagepays
tu cliques sur la formule fait reference à :
et tu vois entres pointillés ta plage apparaître
 
Dernière édition:

solo84

XLDnaute Junior
Re : Diverses formules dans la même cellule

Merci pour ce commentaire !
Je vais tester la premiere solution ! La seconde est plus difficile car il faut tenir compte de 28 pays avec environ une 60 de codes postaux et des zones définies et associées aux codes postaux !
Juste une question, je crée une feuille qui me servira de base de données de formules sur laquelle j'applique le choisir ? Est ce cela ?
Comment dois je stocker les formules pour qu'elles soient actives lors du choix ?
 

wilfried_42

XLDnaute Barbatruc
Re : Diverses formules dans la même cellule

re:

avec 28 Pays, je te suggere t'utiliser la 2eme solution, la formule sera trop grande et depassera la capacité de la cellule, de plus la 2eme solution te permet d'ajouter des pays, des departements, sans modifier tes formules pré-installées.
 

wilfried_42

XLDnaute Barbatruc
Re : Diverses formules dans la même cellule

re:

oui, c'est ca, apres tu tries ta table par pays (colonne A)
tu n'est pas obligé de mettre des tritres de colonne, mais si tu en mets,
la formule de la plage nommée devient :
Code:
=DECALER(CP!$A$1;Equiv(Formulaire!$D$8;Cp!$A:$A;0);0;NB.SI(Cp!$A:$A;Formulaire!$D$8);10)
il faut enlever le -1 derière Equiv(...........)
 

solo84

XLDnaute Junior
Re : Diverses formules dans la même cellule

Je viens de reflechir que cela va me donner 2800 lignes de codes postaux !
Ouille !
Sous VBA j'ai reflechit à un truc :
Fonction si changement en D8
D8 à un format string
SI D8 = "Suisse" alors
Dans la cellule F8 on utilise la formule suivante

SINON si D8 ="Autriche" alors
Dans la cellule F8 on utilise cette autre formule

Je teste tout de meme l'autre possibilité mais il faut que je construise la base de donnée autrement.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 105
dernier inscrit
Joffrette