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

Recopie dernière valeur sous condition

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 !

incubus20851

XLDnaute Occasionnel
Bonjour à toutes et à tous !

J'ai un petit soucis,

J'aimerais recopier sur la feuille "Synthèse" en L6 le mois de la dernière facturation du client. Il va chercher les données dans la feuille "CA Clients"

Mais comme j'ai pleins de clients et pleins de produits différents possible je passe par un sommeprod du type :

=SI(SOMMEPROD(('CA Clients'!C2:C12000=Synthèse!A6)*('CA Clients'!I2:I12000=Synthèse!H3)*('CA Clients'!AG2:AG12000=0))<>0;'CA Clients'!AG1;SI(SOMMEPROD(('CA Clients'!C2:C12000=Synthèse!A6)*('CA Clients'!I2:I12000=Synthèse!H3)*('CA Clients'!AF2:AF12000=0))<>0;'CA Clients'!AF1;"")


La formule cherche en faite en fonction du numéro du client ensuite sur le produit selectionné en H3 qui est une liste déroulante, et ensuite il cherche le mois de consommation pour voir si il est à 0 ou pas. Et si il est pas à 0 alors il cherche dans le mois d'avant.

Et ainsi de suite pour chaque mois, du coup j'arrive à faire que 5 mois et après la formule est trop longue et j'ai une période de 24 mois.

Quelqu'un aurait une solution ??

Je vous joins un petit fichier pour plus de clarté !

Merci d'avance pour vos réponses
A bientôt
Vincent
 

Pièces jointes

Re : Recopie dernière valeur sous condition

Bonjour,

Dans l'exemple que tu donnes, que faut-il retourner comme date ?

et pourquoi ?

Sinon, il serait peut-être mieux de nous fournir un fichier avec plus d'une ligne. Car pas évident de tirer une règle d'après un seul exemple.

A te (re)lire avec davantage de précisions.

Bon app

@+
 
Re : Recopie dernière valeur sous condition

Hello,

Comme date il faut retourner (ex: AC10 ou AP05)
AC = Année courante
10 = Mois d'octobre
AP = Année précédente

La valeur des mois a renvoyer se trouvent dans l'onglet "CA Clients" en L1:AG1

Le but c'est d'avoir le derniers mois qui est différent de 0. Où il y a donc eu de la facturation.

Exemple : Georgette matelas sa dernière facture remonte à AC05 avec 65410 donc il faut renvoyer la valeur AC05 en L7 dans l'onglet "Synthèse" car après en AC06,07,08,09,10 elle est à zéro.

Un peu plus de lignes en pièce jointe !

Si il faut d'autres précisions je suis là
Merci d'avance !
 

Pièces jointes

Re : Recopie dernière valeur sous condition

reBonjour,

Un essai avec une formule matricielle en L6 :

Code:
=SI($D6="";"";"AC"&TEXTE(MAX(((DECALER('CA Clients'!$E$1;EQUIV($D6;
'CA Clients'!$E$2:$E$100;0);19;1;12))<>0)*(COLONNE(A:L)));"00"))

Formule matricielle à valider par CTRL + MAJ + ENTREE

@+
 
Re : Recopie dernière valeur sous condition

Merci pour la formule ça marche nickel,

Sauf que j'ai le cas où la dernière facturation est dans une Année Précédente
(ex : AP05, ou AP07)

Et dans la formule, elle prévoit que "AC"

Y'a une solution pour adapter ?

Car les cas où j'ai des consommations en AP, ça me renvoi AC00

Merci beaucoup !!
Vincent
 
Re : Recopie dernière valeur sous condition

re,

Normalement, avec une toute petite modification, ça devrait fonctionner :

Code:
=SI($D6="";"";"AC"&TEXTE(MAX(((DECALER('CA Clients'!$E$1;EQUIV($D6;
'CA Clients'!$E$2:$E$100;0);[COLOR=red][B]7[/B][/COLOR];1;[COLOR=red][B]24[/B][/COLOR]))<>0)*(COLONNE(A:L)));"00"))

Toujours matricielle, dopnc CTRL + MAJ + ENTREE

@+

Edit : re : en fait, il y avait 2 modifs

@+
 
Dernière édition:
Re : Recopie dernière valeur sous condition

Sur le client Aude a may

Avec la formule modifié j'ai la valeur "#N/A"

Fichier joint,

Y'a aussi dans le cas où le client consomme un autre produit que le MD - Affranchissement marketing direct inscrit en H3, puisque c'est une liste déroulante !

La formule initial avec le 19;1;12 marche mais faudrai qu'il remplace le "AC" par "AP"+Mois de l'année précédente !
J'ai essayé avec des SI, mais j'arrive pas a la faire marcher!

Merci !!!
Vincent
 

Pièces jointes

Dernière édition:
Re : Recopie dernière valeur sous condition

rere,

Il restait une dernière modif à faire. Comme quoi il faut toujours tester et retester ...

Code:
=SI($D6="";"";"AC"&TEXTE(MAX(((DECALER('CA Clients'!$E$1;EQUIV($D6;
'CA Clients'!$E$2:$E$100;0);7;1;24))<>0)*(COLONNE([COLOR=red][B]A:X[/B][/COLOR])));"00"))

CTRL + MAJ + ENTREE

Par contre, pas trop compris le problème du produit autre que MD

A te (re)lire avec plus de précisions sur ce dernier point

@+
 
Re : Recopie dernière valeur sous condition

En faite pour revenir sur le problème du "AC" et "AP"

"AC05" ça veut dire que le mois de consommation est de cette année au mois de mai
"AP09" ça veut dire que le mois de consommation est de l'année dernière au mois de septembre

Donc j'aurai à afficher dans les cellules des "AC"+Mois et des "AP"+Mois

Car là j'arrive a des valeurs "AC22", il n'y a pas 22 mois.
Et "AC11" alors que je devrais avoir "AP11"

Pour le problème des plusieurs produits je pense trouver la solution en fusionnant la cellule avec Numéro client et nom du produit consommée.

Mais pour les "AP" et "AC" je vois pas trop 🙁

Il faudrait une formule du genre :
=SI(SI($A6="";"";"AP"&TEXTE(MAX(((DECALER('CA Clients'!$A$1;EQUIV($A6;
'CA Clients'!$A$2:$A$12000;0);12;1;12))<>0)*(COLONNE(A:L)));"00"))<>"";SI($A6="";"";"AP"&TEXTE(MAX(((DECALER('CA Clients'!$A$1;EQUIV($A6;
'CA Clients'!$A$2:$A$12000;0);12;1;12))<>0)*(COLONNE(A:L)));"00"));SI($A6="";"";"AC"&TEXTE(MAX(((DECALER('CA Clients'!$A$1;EQUIV($A6;
'CA Clients'!$A$2:$A$12000;0);23;1;10))<>0)*(COLONNE(A:J)));"00")))


Merci de ton attention
Vincent
 
Dernière édition:
Re : Recopie dernière valeur sous condition

rerere,

Il me faut parfois un peu de temps pour tout comprendre ...

Un essai avec cette nouvelle formule, plus longue :

Code:
=SI($D6="";"";SI(MAX(((DECALER('CA Clients'!$E$1;EQUIV($D6;'CA Clients'!
$E$2:$E$100;0);7;1;24))<>0)*(COLONNE(A:X)))>12;"AC"&TEXTE(MAX(((
DECALER('CA Clients'!$E$1;EQUIV($D6;'CA Clients'!$E$2:$E$100;0);7;1;24))<>0)*
(COLONNE(A:X)))-12;"00");"AP"&TEXTE(MAX(((DECALER('CA Clients'!$E$1;EQUIV(
$D6;'CA Clients'!$E$2:$E$100;0);7;1;24))<>0)*(COLONNE(A:X)));"00")))

Je te laisse essayer

Je vais quand même voir si on peut faire plus court

@+
 
Re : Recopie dernière valeur sous condition

Bonjour,

A priori, ça marche nickel, merci beaucoup !

Et merci pour le temps que tu m'as consacré, ça fait tellement plaisir quand on voit que ça marche 🙂

Encore merci !
Et à bientôt
Vincent
 
Re : Recopie dernière valeur sous condition

Re,

J'ai encore une petite question,

sur le même modèle que la formule d'avant, j'aurai besoin de savoir sur les 24 mois de consommations présent dans l'onglet "CA Clients" de la colonne M à AH, combien de mois sont différent de 0. Je sais pas trop où mettre le NBVAL ou le NB.SI

Une petite idée ?

Merci d'avance
A bientôt
Vincent
 
Re : Recopie dernière valeur sous condition

Bonsoir,

J'ai commencé par rechercher une formule plus courte que celle que je t'avais donné hier. Ca donne ceci en L6 :

Code:
=SI(D6="";"";DECALER('CA Clients'!$K$1;0;MAX((DECALER('CA Clients'!$E$1;
EQUIV($D6;'CA Clients'!$E$2:$E$100;0);7;1;24)<>0)*COLONNE(A:X));1))

Toujours matricielle, donc validation par CTRL + MAJ + ENTREE

Ensuite, pour avoir le nombre de mois différents de zéro, en ligne 6, ça pourrait donner ceci :

Code:
=SOMMEPROD((DECALER('CA Clients'!$E$1;EQUIV($D6;'CA Clients'!$E$2:$E$100;0)
;7;1;24)<>0)*1)

Validation simple.

Je te laisse tester ces deux formules.

@+
 
- 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

Réponses
3
Affichages
942
Réponses
0
Affichages
1 K
Réponses
0
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…