XL 2016 Mettre en application INDEX et SOMMEPROD en BVA

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 !

candido57

XLDnaute Occasionnel
Bonjour,

J'ai une formule qui est très longue .
Je voudrais m'en servir en BVA, mais je connais pas le code. Pouvez vous me mettre le code
La formule ci-dessous elle va chercher le dernier résultat de la liste > Date saisi en C2.
J'ai dû mettre esterreur car sans ça j'ai une #VALEUR!
J'ai dû faire cette formule car sur le PC au boulot , je n'ai pas RECHERCHEX version Excel trop ancienne
Est ce qu'il y a une formule plus courte ?

Merci beaucoup pour votre aide

=@SI(ESTERREUR(@SI($H$1>=24;"Pas de couche";INDEX(t_Base[Date];SOMMEPROD((t_Base[N° de carte + Prénom]=$C$2)*("T4"=t_Base[Taille])*LIGNE(t_Base[N° de carte + Prénom]))-6)));"";SI($H$1>=24;"Pas de couche";INDEX(t_Base[Date];SOMMEPROD((t_Base[N° de carte + Prénom]=$C$2)*("T4"=t_Base[Taille])*LIGNE(t_Base[N° de carte + Prénom]))-6)))
 

Pièces jointes

Solution
Bonjour
à la vue de ta demande, j'ai modifié la fonction.
D'abord je l'ai appelé derx(valeur, colcherche, Optional retour), pour plus de lisibilité
cette fonction recherche la dernière 'valeur' dans la colonne 'colcherche' et renvoi la date si retour est omis ou la colonne donnée dans l'argument optionel 'retour'

Tu n 'as donc plus qu'une fonction avec deux ou trois arguments
dans le fichier joint, je n'ai conservé que les formules de la ligne 11 pour mieux testé et j'ai ajouté colonne p et q deux formules derx pour te montrer comment cela fonctionne.
Fait signe pour me dire si ca te convient
Bonjoiur
Pas compris tes problème, il faut dire que je me souviens pas tout à fait du contexte, peux -tu être plus explicite
et me préciser ce que chaque fonction doit renvoyer
pourquoi derligne2 et 3?
Et pour la macro derdate, j'ai essayé de changer la formule =derligne=(B33;"Article") au lieu de "Taille", mais ça fonctione pas??
 
Bonjoiur
Pas compris tes problème, il faut dire que je me souviens pas tout à fait du contexte, peux -tu être plus explicite
et me préciser ce que chaque fonction doit renvoyer
pourquoi derligne2 et 3?
Et pour la macro derdate, j'ai essayé de changer la formule =derligne=(B33;"Article") au lieu de "Taille", mais ça fonctione pas??
Bonsoir,

Déjà merci de ton aide.

On va prendre le problème le plus important.

La macro derdate.
Actuellement, dans une cellule j'ai la formule =derdate(I11;"Taille") qui fonctionne. Elle va chercher la dernière date du tableau t-Base avec le critère N° de carte et la colonne "Taille" dans feuille Base.

Je veut utiliser la même macro derdate en tapant la formule =derdate(B48;"Articles") qui ne fonctionne pas.
Je veux aller chercher la dernière date du tableau t-Base avec le critère N° de carte et la colonne "Articles" dans la feuille Base. B48 = BÉBÉ 0 - 36 MOIS 1 Paquet Lingettes Bébé

Je pensais que ça pourrait fonctionner avec la même macro , seulement en changeant la formule en changeant "Taille" par "Articles"


La macro derligne.

Derligne va chercher la dernière valeur 2 dans la colonne "Quantité prise" feuille Base. Mais si je saisi une nouvelle ligne avec la même articles avec la quantité 1 , la macro va chercher comme même 2. Moi, ce que je veux c'est la dernière quantité.
Donc j'ai rajouter dans ta macro >>

If Trim(UCase(i)) = valeur And i.Parent.Cells(i.Row, colCarte) = Carte And i.Parent.Cells(i.Row, colquant) = 1 Then
derligne = 1
End If

et à la fin j'ai aussi rajouter
If derligne = 1 Then derligne = ""

Car je ne veux pas voir 1 dans la colonne N et O
Je voulais seulement savoir si ma motif était juste.

Derligne2 et 3

Derligne2 et 3 > car je voulais faire renvoyer 1 , mais je pense avec uniquement avec derligne 2 ça suffisait pour les 2 colonnes L et M , mais je n'étais pas sûr.

Bonne soirée
 

Pièces jointes

Bonjour
à la vue de ta demande, j'ai modifié la fonction.
D'abord je l'ai appelé derx(valeur, colcherche, Optional retour), pour plus de lisibilité
cette fonction recherche la dernière 'valeur' dans la colonne 'colcherche' et renvoi la date si retour est omis ou la colonne donnée dans l'argument optionel 'retour'

Tu n 'as donc plus qu'une fonction avec deux ou trois arguments
dans le fichier joint, je n'ai conservé que les formules de la ligne 11 pour mieux testé et j'ai ajouté colonne p et q deux formules derx pour te montrer comment cela fonctionne.
Fait signe pour me dire si ca te convient
 

Pièces jointes

Bonjour
à la vue de ta demande, j'ai modifié la fonction.
D'abord je l'ai appelé derx(valeur, colcherche, Optional retour), pour plus de lisibilité
cette fonction recherche la dernière 'valeur' dans la colonne 'colcherche' et renvoi la date si retour est omis ou la colonne donnée dans l'argument optionel 'retour'

Tu n 'as donc plus qu'une fonction avec deux ou trois arguments
dans le fichier joint, je n'ai conservé que les formules de la ligne 11 pour mieux testé et j'ai ajouté colonne p et q deux formules derx pour te montrer comment cela fonctionne.
Fait signe pour me dire si ca te convient
Bonjour,

Ca fonctionne , je vais essayer en réel la semaine prochaine.
J'ai fait quelques test et ça marche.

Encore merci pour ton aide

Bon Week end
 
Bonjour
à la vue de ta demande, j'ai modifié la fonction.
D'abord je l'ai appelé derx(valeur, colcherche, Optional retour), pour plus de lisibilité
cette fonction recherche la dernière 'valeur' dans la colonne 'colcherche' et renvoi la date si retour est omis ou la colonne donnée dans l'argument optionel 'retour'

Tu n 'as donc plus qu'une fonction avec deux ou trois arguments
dans le fichier joint, je n'ai conservé que les formules de la ligne 11 pour mieux testé et j'ai ajouté colonne p et q deux formules derx pour te montrer comment cela fonctionne.
Fait signe pour me dire si ca te convient
Bonjour,

Comme convenu , je reviens vers toi .
J'ai essayer sur le fichier original, ça fonctionne .

Merci beaucoup
Bonne journée
 
Notre forum d’entraide est 100 % gratuit et le restera.
Aucune formation payante, aucun fichier à acheter, rien à vendre. Mais comme tout site, nous devons couvrir nos frais pour continuer à vous accompagner.
Soutenez-nous en souscrivant à un compte membre : c’est rapide, vous choisissez simplement votre niveau de soutien et le tour est joué.

Je soutiens la communauté et j’accède à mon compte membre

Discussions similaires

Réponses
3
Affichages
436
Réponses
12
Affichages
462
Réponses
11
Affichages
456
Réponses
10
Affichages
573
Retour