XL 2016 Mettre en application INDEX et SOMMEPROD en BVA

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

  • Distri bb test.xlsm
    118.6 KB · Affichages: 1
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

sousou

XLDnaute Barbatruc
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??
 

candido57

XLDnaute Occasionnel
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

  • Distri bb test (21).xlsm
    201.4 KB · Affichages: 1

sousou

XLDnaute Barbatruc
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

  • Distri bb test New.xlsm
    198.3 KB · Affichages: 4

candido57

XLDnaute Occasionnel
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
 

Discussions similaires

Statistiques des forums

Discussions
315 207
Messages
2 117 391
Membres
113 105
dernier inscrit
laugrei