Formule de tri sous excel

djazz59 Messages postés 5 Statut Membre -  
 djazz59 -
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 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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 3014 Date d'inscription   Statut Membre Dernière intervention   1 390
 
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 5 Statut Membre
 
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 5 Statut Membre
 
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 3014 Date d'inscription   Statut Membre Dernière intervention   1 390
 
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 3014 Date d'inscription   Statut Membre Dernière intervention   1 390
 
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 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
djazz59
 
merci pépé, ta solution est exactement ce que je cherchais.
merci à tous pour vos infos !
0
djazz59
 
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 3014 Date d'inscription   Statut Membre Dernière intervention   1 390
 
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 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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
djazz59
 
ça marche !
merci beaucoup de votre aide !
0