Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

petite valeur avec conditions

  • Initiateur de la discussion Initiateur de la discussion mikeo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mikeo

XLDnaute Occasionnel
Bonjour the Forum,

J'essaie d'extraire, sur une liste de factures, les factures non payées par un client . Il s'agit de regrouper les factures non payées par un client pour lui envoyer une relance.

Je sais pour cela qu'il y a une combinaison magique de petite.valeur avec lignes() et éventuellement sommeprod(). mais je n'arrive pas à la mettre en place.

Pouvez-vous m'aider à le faire svp ? Merci.

Mikeo
 

Pièces jointes

Re : petite valeur avec conditions

Bonjour

J'ai renommé tes plages pour qu'elles soient dynamique.( Encore plus simple, tu les transformes en listes puisque tu as excel 2003 et elles le deviennent automatiquement). Autrement dit quand tu ajouteras une facture dans la première page elle sera prise en compte automatiquement.

En A21 sur la page relance la formule est à valider en matricielle
Code:
=SI(ESTERREUR(INDEX(numeropiec;PETITE.VALEUR(SI(CPTECOMPTA=numero;LIGNE(CPTECOMPTA)-LIGNE(clients!$A$1));LIGNE(1:1))));"plus de facture pour ce client";INDEX(numeropiec;PETITE.VALEUR(SI(CPTECOMPTA=numero;LIGNE(CPTECOMPTA)-LIGNE(clients!$A$1));LIGNE(1:1))))

les autres formules de la ligne sont normales et vont juste récupérer les valeurs correspondantes au N° de pièce dans le tableau de départ.
 

Pièces jointes

Re : petite valeur avec conditions

Bonjour exene, Misange, Rachid,

Merci beaucoup Misange et Rachid, les deux solutions marchent bien. C'est cette formule magique que je ne suis pas encore arrivé à comprendre, et encore moins à maîtriser.

C'est tellement rare de trouver, sur cette petite Terre, un espace d'entraide où il n'y a pas de dimanche, pas de 35 heures, pas de rémunération, et avec autant de gentillesse, de patience, d'enthousiasme et de dévouement, que ce Forum est vraiment précieux. Cela vaut pour tous les intervenants de ce Forum.

Bon dimanche

Mikeo
 
Re : petite valeur avec conditions

Salut @tous

Pour décortiquer ce genre de formule on part de l'intérieur vers l'extérieur.
Et surtout use et abuse de l'outil d'évaluation de formule dans excel qui te permet de suivre pas à pas comment excel traite cette formule.
Déjà tu enlèves les si(esterreur(machin);"valeur si erreur";machin)
machin ici c'est ce bout de formule :

INDEX(numeropiec;PETITE.VALEUR(SI(CPTECOMPTA=numero;LIGNE(CPTECOMPTA)-LIGNE(clients!$A$1));LIGNE(1:1))

ligne(1:1) : vaut ... 1 !
quand tu tires vers le bas ça devient
ligne(2:2)
ligne(3:3)
...

qui est une façon de dire à excel d'incrémenter une série de nombres 1, 2, 3....
cette valeur est le dernier argument de petite.valeur

Petite valeur regarde le classement du plus petit au plus grand d'une série de valeurs
petite.valeur (truc;1) renvoie la première valeur de ce classement (donc la plus petite valeur)
petite.valeur(truc;2) renvoie la seconde plus petite valeur
...
maintenant comment définir la série truc ? Cette série contient tous les numéros de ligne pour lesquels cptecompta est identique au numéro que tu as choisi.( Tu as nommé cette cellule "numero".)

c'est une formule matricielle donc excel regarde tous les numéros de ligne, et pour chacun renvoie vrai ou faux suivant que la condition est remplie.

ça donne un truc du genre (je n'ai plus tes données sous les yeux)
...si({v;v;f;f;f;v};...

Ligne (cptecompta) renvoie
{2;3;4;5;6;7}
puisque ta plage commence en C2

on va utiliser ensuite cette portion de la formule comme argument de la fonction index.
Index renvoie la POSITION RELATIVE d'un élément dans une série. Pas le N° de ligne.
donc il faut corriger, en enlevant à toutes ces valeurs le N° de la ligne d'entête de ton tableau
...si({v;v;f;f;f;v};{2;3;4;5;6;7};-{1}

devient donc
...si({v;v;f;f;f;v};{1;2;3;4;5;6}

...petite.valeur(si({v;v;f;f;f;v};{1;2;3;4;5;6}...
c'est à dire
petite.valeur({1;2;f;f;f;6}

ajoute maintenant l'argument ligne(1:1) (ou 2:2)... quant tu tires la formule vers le bas

petite.valeur({1;2;f;f;f;6};ligne(1:1)
renvoie 1
NB : La 3° VALEUR de cette série est 6 car les Faux ne sont pas des valeurs et sont ignorés

Donc enfin,
index(cptecompta;1)
renvoie la valeur de la première cellule de la plage ctecompte c'est à dire la valeur de C2
OUF !!

capito ?

Allez c'est l'heure de l'apéro 🙂
 
Re : petite valeur avec conditions

Bonjour @ tous,
Salut Misange,
Pour rappelle, il y une différence entre mon fichier et celui de Misange...
Sur le mien on ne récupère que les factures qui n'ont pas de dates de règlements par-contre celui de Misange on récupère toutes les factures du client, tu peux faire une comparaison en ajoutant une date en I2 (Onglet : Clients)...
@ + +
 
Re : petite valeur avec conditions

Bonjour Rachid, Misange, et le forum,

J'ai mieux compris avec l'explication de Misange mais je n'ai pas évité de prendre une aspirine. C'est vrai que la réponse de Rachid tient compte d'une condition supplémentaire (pas de règlement). J'en ai tenu compte. Et puis chacun de vous a utilisé ses astuces préférés, l'un avec colonne() et l'autre avec décaler qui rendent les formules vraiment "goûteuses". Ce sont des exemples d'école qui peuvent servir à d'autres.

Merci à vous deux.

Mikeo
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
Réponses
22
Affichages
10 K
Lemontine
L
C
Réponses
2
Affichages
1 K
G
Réponses
18
Affichages
3 K
L
Réponses
2
Affichages
1 K
L
J
  • Question Question
Réponses
3
Affichages
989
S
Réponses
7
Affichages
1 K
stephanie31
S
J
Réponses
3
Affichages
969
J
A
Réponses
3
Affichages
1 K
ApprentieExcel
A
F
Réponses
2
Affichages
18 K
Kimadi
K
B
Réponses
4
Affichages
1 K
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…