Reprise de données dans un tableau

Résolu/Fermé
pitive35 Messages postés 75 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 14 juillet 2022 - 23 mai 2016 à 14:21
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 24 mai 2016 à 11:23
Bonjour à tous,

J'ai eu une idée pour pour automatiser au mieux un tableau mais je ne sais pas si cela est possible sous Excel.

J'ai un premier tableau, avec une colonne nombre prévu et une colonne nombre facturé.
Mon problème est que dans ma colonne nombre facturé peut être supérieur à nombre prévu (Ces 2 colonnes sont rentées manuellement).
Ce que j'aimerais faire c'est sur une 2 ème feuilles le nom de l'article, la différence de quantité et le prix de tous les articles dont le nombre facturé est supérieur au nombre prévu soient répertorié automatiquement.

Le problème cc'est que dans mon premier tableau j'ai une centaine d'article et que j'ai seuleument une dizaine d'article ou le nombre facturé est supérieur au nombre prévu.
Donc je ne veux pas que mon 2ème tableau soit aussi grand aue mon premier tableau.

Merci pour votre aide
A voir également:

1 réponse

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
23 mai 2016 à 14:42
Bonjour
voyez si ce modèle peut vous aider et revenez si besoin d'info

https://www.cjoint.com/c/FExmPTKpXw0

crdlmnt

0
pitive35 Messages postés 75 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 14 juillet 2022 1
24 mai 2016 à 09:58
Merci beaucoup, c'est tout ce que je souhaitais faire.
Si tu peux me donner quelques explications afin que je comprennes les formules.

Encore Merci
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
24 mai 2016 à 11:23
Re
en E2 colonne E de la feuil1:

=SI(C2>B2;MAX($E$1:E1)+1;"")

si la valeur de C2 est supériueure à B2, la formule renvoie la valeur maximum trouvée au dessus de la position où elle se trouve, et rajoute 1
(vois le blocage sur le, premier $E$1 et pas sur le second, qui permet d'incrémenter la hauteur du champ quand on tire la formule
si la condition n'est pas remplie, renvoie""
ainsi cette colonne incrémente de 1 chaque fois qu'elle trouve une ligne avec la condition remplie

en G3

=SIERREUR(INDEX($A:$C;EQUIV(LIGNE($A1);$E:$E;0);1);"")

bases de la formuler:

=INDEX(plage;N° de ligne;N° de colonne pour ressortir de la plage la valeur à l'intersection de la colonne et de la ligne indiquées (pN° de position dans la plage, pas les N°, de la feuille)

Pour trouver le N° de ligne:

LIGNE(A1)=1 devient au dessous: LIGNE(A2) =2 ect... ce qui permet d'incrémenter la valeur cherchée dans la colonne C

EQUIV(LIGNE(A1);$E:$E;0) va donc chercher le N° de ligne dans le champ C où se trouve le N° définit par LIGNE(xx)
(le 0 est un code Excel qui impose à la formule de ne chercher que des valeurs exactes

et avec ce N° trouvé, INDEX ressort a valeur dans la plage $A$C, en A si la formule se termine par ;1=) en B avec ;2) etc...

le code SIERREUR fonctionne depuis Excel 2007 seulement et renvoie "" si la formule ne trouve pas la valeur cherchée en C , ce qui éviter un affichage d'erreur

=SIERREUR(formule);"")


crdlmnt
0