Décaler par rapport à une recherche

Fermé
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 - Modifié par Slylia le 15/06/2010 à 17:00
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 16 juin 2010 à 16:10
Bonjour à tous,

Dans le cadre de mon stage, je dois réaliser des fiches de commandes contenant le numéro de commande, le numéro de série, les informations sur le client et le détail de ses achats.
Afin de mieux gérer cela, ces informations ont été mises dans des tableaux excel répartis sur plusieurs feuilles.
J'ai un problème pour afficher de détail des achats. Actuellement je recherche dans la première ligne le produit ayant le même numéro de commande que celui qui a été saisis par l'utilisateur avec
=RECHERCHEV($B$1;Article1;4;FAUX)

et pour afficher le reste de ses achats, s'il y en a, je mélange la fonction SI à la fonction DECALER :
=SI(DECALER(Article1!A2;1;0;1;1)=$B$1;DECALER(Article1!D2;1;0);"")

Malheureusement ce système ne fonctionne que sur la première commande et dès que je veux voir le détail des achats des autres commandes, j'ai des trous dans mon tableau.
En gros ça me donne :

285003 TONNE A EAU 3000L 1 13850 0 (première ligne avec la fonction RECHERCHEV)


285003 TONNE A EAU 3000L 1 13850 0 (lignes affichées avec les fonctions SI et DECALER)
260601 ROULEAU OCCASION 1 3000 0

Comment faire pour prendre les lignes qui se situent seulement après la recherche et non pas au tout début du document ?

J'espère que vous m'aiderais car je bloque complètement.

Slylia.

5 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
15 juin 2010 à 17:08
Bonjour
quelque chose du type de ce modèle peut être.
http://www.cijoint.fr/cjlink.php?file=cj201006/cijCQBr1wL.xls
crdlmnt
0
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 1
15 juin 2010 à 17:20
C'est en partie ce dont je recherche mais pas totalement, de plus j'ai un peu de mal à comprendre les fonctions utilisées.
Ce que je voudrais c'est tout d'abord chercher le numéro de commande dans ma feuille d'articles avec
=RECHERCHEV($B$1;Article1;4;FAUX)

Ensuite on vérifie que le numéro de commande qui se situe dans ma feuille d'article est le même que le numéro de commande saisis par l'utilisateur, d'où le début de la recherche avec
SI(DECALER(Article1!A2;1;0;1;1)=$B$1

Ensuite, si cette condition est vraie alors on recherche par rapport à la recherche d'avant les lignes ayant le même numéro de commande.

Pouvez-vous m'aiguiller un peu sur la démarche à suivre ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
15 juin 2010 à 17:41
Moi je veux bien ,mais ça manque un peu d'informations!
qu'y a t il en colonne 4 feuille Article ? etc...
comment se fait la répartition sur les différentes feuilles
qu'entendez vous par afficher le reste de ses achats
etc....
pouvez vous mettre à disposition un modèle de fichier, même bidon avec quelques explications
Crdlmnt
0
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 1
Modifié par Slylia le 16/06/2010 à 09:26
Voila le lien du document excel que j'utilise
http://www.cijoint.fr/cjlink.php?file=cj201006/cijwFfRPTZ.xls

La case jaune avec le nombre dedans représente le compteur, l'utilisateur entre dedans le numéro 5 par exemple et ma feuille va lui montrer les informations de la commande numéro 6 car elle augmente de 1 à chaque fois.
Le bouton jaune est le bouton qui permet de lancer la macro de sauvegarde et qui me sera utile par la suite.
J'ai 2 feuilles d'articles, Article1 et Article2 car à la base je n'ai pas assez de place sur Article1, il a donc fallut que je mette une partie des informations sur Article2.

Je pense avoir tout dis si on reprend les explications que j'ai donné auparavant.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
16 juin 2010 à 11:42
Bonjour Slylia
pas tout compris dans votre fichier, surtout sur le bon de commande entre les lignes 13,14,15 et en dessous de la ligne 20
Voila au lien ci dessous ce qui ressort de ma compréhension, pour remplir le tableau à partir de ligne 21selon le code commande renvoyé en B1
http://www.cijoint.fr/cjlink.php?file=cj201006/cijR3s833z.xls
Si c'est bien cela qu'il vous faut, je reste à l'écoute pour toutes explications complémentaires si vous le souhaitez.
crdlmnt
0

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

Posez votre question
Slylia Messages postés 58 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 4 février 2011 1
16 juin 2010 à 15:03
Bonjour Vaucluse,

Les lignes 13, 14 et 15 du bon de commande sont des lignes présentent dans ma feuille Commande, je les affiche car on m'a dis de le faire.
La fonction présente dans le document que vous m'avez fournis fonctionne parfaitement ! Elle répond exactement à mon besoin.
Le soucis c'est que j'ai des difficultés à la comprendre, notamment le SI(ET(...) et le LIGNE()-20.
Pouvez-vous m'expliquer en détail le fonctionnement de cette fonction ?

Merci beaucoup pour votre aide et votre patience envers moi.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
16 juin 2010 à 16:10
Les explications dans le fichier ci joint, (ça risquait d'être laborieux dans un message)
http://www.cijoint.fr/cjlink.php?file=cj201006/cijj3IuMYr.xls
bon courage
Bonne route.
Revenez si besoin.
Crdlmnt
PS petit complément pour SI(ET et SI(OU non expliqué dans le fichier:
=SI(ET(condition1;condition;2;condition3;...etc) exige que la liste complète des conditions soit remplie pour être reconnue comme vrai
à l'inverse, OU à la place de ET reconnait la condition comme remplie si une seule est appliquée.
Je suis revenu sur ce point car, sur excel avant 2007 c'est une solution utilisable pour contourner parfois la limite de 7 SI, car il est possible de regrouper dans un seul "SI" les conditions devant donner le même résultat.
0