Formule de tri sous excel

Fermé
djazz59 Messages postés 4 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 3 juillet 2009 - 3 juil. 2009 à 14:16
 djazz59 - 6 juil. 2009 à 11:01
bonjour,
voila je vous explique mon souci.
j'ai un tableau, avec en colonne, un nombre de colis (8,10,12...jusqu'à 100, 2 par 2).
en Ligne, j'ai des zones (de 1 à 100). en fonction de chaque zone, le prix d'envoi du colis varie.
le tableau est hyper lourd à gérer, du fait du nombre conséquent de cases.
je voudrais alors savoir quelle formule utiliser pour que, lorsque dans une case (disons A100), je tape un nombre de colis (ex:50), et que dans la case A101, je tape le numéro de zone, il m'indique le prix correspondant en A102 ! il y à bien une histoire de recherche H ou V, ou Si, ou Et, mais je ne m'en sors pas.
merci d'avance pour vos réponses !.cordialement, Bruno Verheecke.

12 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
3 juil. 2009 à 14:48
Bonjour,

voici un exemple avec index() et equiv() : Classeur2.xls
Si qcq chose t'échappe pose la question.

eric
0
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 386
3 juil. 2009 à 14:48
Bonjour,

Il faut utiliser la fonction index

Si tes valeurs se trouvent dans un tableau d'adresses B2:E5 par exemple (uniquement les valeurs sans les têtes de colonne ou de lignes.

En B8 par exemple tu tapes le numéro de la zone (on peut utiliser une liste de validation)
En B9 on tape le nombre de colis (même remarque).

En B11 par exemple pour faire apparaître le prix, entrer : =INDEX(B2:E5;B8;B9)

Bonne journée

pépé
0
djazz59 Messages postés 4 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 3 juillet 2009
3 juil. 2009 à 14:57
merci de vos réponses. ton tableau est different du mien eric: je ne veux pas additionner des valeurs. par exemple, en A3, j'ai le chiffre 8, qui correspond à 8 colis. en H2, j'ai le numéro 7, qui correspond à la zone 7.
donc, en H3, j'ai un tarif, qui correspond à 8 colis envoyés en zone 7.
ce que je veux, c'est que en A100, je tape par exemple 6 colis. en A101, je tape 6, pour zone 6, et que en A102, la formule me mette ce qu'il devrait y avoir dans la case associant 6 colis à zone 6.
j'ai tenté la fonction index, elle me répond #REF.
je vais ressayer, merci beaucoup pour votre aide.
0
djazz59 Messages postés 4 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 3 juillet 2009
3 juil. 2009 à 15:03
qu'est ce qu'une liste de validation ?
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 386
3 juil. 2009 à 17:53
Bonjour,

Ci-joint un petit exemple :

http://www.cijoint.fr/cjlink.php?file=cj200907/cijcrSVEBC.xls

pour remplir les cellules zone et nb colis, j'ai utilisé une liste de validation :

pour le code zone à partir de la liste des zones A3 à A12
pour le nombre de colis à partir des têtes de colonnes B2 à ...

Pour crééer une liste de validation cliquer sur Données, validation des données, cliquer sur liste et donner les adresses des cellules contenant les info attendues.
Intérêt : on n'a pas à taper et on évite les erreurs.
0
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 386
3 juil. 2009 à 17:53
Bonjour,

Ci-joint un petit exemple :

http://www.cijoint.fr/cjlink.php?file=cj200907/cijcrSVEBC.xls

pour remplir les cellules zone et nb colis, j'ai utilisé une liste de validation :

pour le code zone à partir de la liste des zones A3 à A12
pour le nombre de colis à partir des têtes de colonnes B2 à ...

Pour crééer une liste de validation cliquer sur Données, validation des données, cliquer sur liste et donner les adresses des cellules contenant les info attendues.
Intérêt : on n'a pas à taper et on évite les erreurs.

Sinon la syntaxe de la formule Index est =INDEX(adresses du tableau contenant les infos;adresse contenant la ligne demandée;adresse contenant la colonne demandée).

A+

pépé
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
3 juil. 2009 à 18:39
Re,
ton tableau est different du mien eric: je ne veux pas additionner des valeurs.

Effectivement je n'ai pas mis le bon classeur, désolé.
Mais comme il y avait peu de différences avec la solution de pépé (que je salue au passage) je ne le remet pas.

eric
0
merci pépé, ta solution est exactement ce que je cherchais.
merci à tous pour vos infos !
0
rebonjour. voila j'ai un souci. je reproduit la formule proposée par Pépé, et il m'inscrit #REF.
je ne vois pas ou j'ai pu faire l'erreur.
pouvez vous m'aider ?
je vous joint le fichier.
http://www.cijoint.fr/cjlink.php?file=cj200907/cijZcRjnY5.xls
merci d'avance.
0
pépé35530 Messages postés 2942 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 19 mars 2016 1 386
6 juil. 2009 à 10:41
Bonjour,

Rappel : la fonction index fonctionne avec les numéros de lignes ou de colonnes.

Lorsque que tu rentres 20 colis, la fonction va chercher la ligne 20 (qui n'existe pas) au lieu de la ligne 6 de ton tableau.

Il faut donc ajouter une colonne permettant d'afficher le numéro de la ligne à partir du nombre de colis entré.
Cela nécessite un petit tableau faisant apparaître une colonne "nb de colis" et une colonne "n° de ligne".
La fonction RECHERCHV permet de retrouver ainsi le numéro de ligne à partir du nombre de colis entré.
Modifier dans la fonction INDEX, l'adresse de la ligne recherchée.

Voir fichier ci-joint

http://www.cijoint.fr/cjlink.php?file=cj200907/cij6kmHf2l.xls

Bonne journée

pépé
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
6 juil. 2009 à 10:50
Bonjour tout le monde,

Tu peux aussi utiliser une combinaison index() et equiv()
(c'était l'exemple pour lequel je me suis trompé de fichier...).
Equiv() recherche une valeur dans une plage et retourne sa position.
Autre avantage : tes zones peuvent avoir des noms au lieu de chiffres
djazz59.xls

eric
0
ça marche !
merci beaucoup de votre aide !
0