Sommeprod sans doublon

Bonjour

Je souhaites récupère la 1ere date où un nom peut apparaitre sur plusieurs colonnes.

Avec sommeprod ca fonctionne très bien

Mais si un nom est en doublon, il va trouver 2 dates et donc me les cumuler

Comment faire en sorte qu'il ne me donne que la première date.

Je pense dans ce cas que sommeprod n'est pas la fonction à utiliser.

Mais je ne peux pas non plus utiliser un index equiv car il faudrait que je définisse plusieurs colonnes dans mon equiv associée à ma valeur ce qui est impossible

=INDEX($A$2:$F$114;EQUIV(H7;$B$3:$F$114];0);1)

Bonjour

Un essai à tester. Te convient-il ?

On pourrait aussi faire une fonction personnalisée...

Bye !

Bonjour à tous,

Un autre essai a formule

Crdlmt

bonsoir

pour le Min , ce n'est pas commode avec Sommeprod ,à cause des 0 .......

le mieux c'est une petite matricielle à validation Ctrl Maj Entrée en simultané

=INDEX(A$3:A$114;MIN(SI($B$3:$F$114=H3;LIGNE(A$3:A$114)-2;"")))

elle recupère le n° de la premiere position qque soit le nb de val presentes

-2 because le tablo commence à la ligne n° 3 donc pour avoir 1 .......................

cordialement

avec Excel 2019 sont apparus Max.si.Ens, et Moyenne.Si.Ens, qui je pense correspondent exactement a ce que tu cherches. Mais avec ta version 2010 le plus simple c'es d'ajouter power query (c'est un Add In téléchargeable avec Excel 2010 et 2013 a partir de 2016 (inclus) il c'est natif dans Excel et ca change la vie :

Merci à tous les 2.

J'ai une petite préférence pour la version avec formule en matriciel.

Les macros c'est puissant mais ca oblige à la lancer à chaque fois qu'on veut une MAJ.

J'avais peur qu'avec ta formule ESTTEXTE ca ne fonctionne pas si je change les noms par des numéros mais ca marche impec

Merci Tulipe mais ta formule ne fonctionne pas. Par défaut ca me met le 01/01/2020

@rrradassse j'ai power query mais je ne sais pas l'utiliser.

De même je vois que tu as utilisé des tableaux.

enfin il n'y a pas de MAJ automatique?

Au final c'est vraiment la version de djidji qui est totalement adaptée à mon problème mais merci à tous d'avoir cherché

en effet on actualise sur l'onglet Données -> actualiser (ou Ctrl+Alt+F5).

Power Query présente un enorme avantage pour les bases de données de plusieurs milliers de lignes, pour récupérer des bdd externes, fusionner des tableaux ou les décroiser par exemple, et c'est pas du VBA

Quel florilège de solutions !

Voici une autre, avec formule personnalisée, donc sans avoir à mettre à jour par un clic .

Bye !

En effet j'ai été gaté

Ta formule premieredate est incroyable GMB

C'est d'une facilité déconcertante!!!

Sais tu pourquoi sur ma version 2010 je ne possède pas cette fonction premièredate mais que je parviens à avoir la donnée de ton fichier? C'est une fonction spécifique à 365?

Conséquence pour pouvoir l'utiliser sur mon vrai fichier, je susi obligé de mettre la formule suivante:

='sommeproddoublon v2.xlsm'!PremièreDate(Réception!A2:Q1299;I3)

en gros je suis obligé d'aller chercher la fonction sur mon fichier!

Bonjour

Sais tu pourquoi sur ma version 2010 je ne possède pas cette fonction premièredate

En fait, il s’agit d’une fonction personnalisée qui est attachée au fichier que je t’ai envoyé.

Si tu veux la récupérer sur un autre fchier fais ceci :

• Sur le fichier que je (‘ai envoyé, tape simultanément sur les touches Alt et F11

Une feuille VBA apparait.

• Copie tout ce qu’elle contient

• Active le fichier où tu veux la faire fonctionner

• Tape également sur les touches Alt et F1

• Dans le menu de la fenêtre VBA fais ‘’Inserer’’’ et choisis ‘’Module’’

• Une nouvelle fenêtre s’ouvre. Si elle contient quelque chose, tu l’effaces.

• Colle-y la macro que tu as copiée sur le fichier de départ.

• Reviens sur la feuille de calcul de ton fichier

• Fais un ‘’Enregistrer sous’’ en choisissant Le Type : ‘’Classeur Excel prenant en charge les macros(*xlsm))

Voilà, c’est tout !

Mainternant, tu as cette fonction sur ton fichier.

Bye !

ah ok je ne savais pas qu'une macro pouvait être transformée en formule personnalisée.

Je me demandais bien d'où sortait cette fonction

Top merci!

Je l'ai copié dans un module 2

J'ai déjà des macro en module 1 et pour ne pas retoucher aux variables j'ai mis dans un nouveau module.

La fonction est bien repérée mais ca m'affiche 0 en valeur.

Je pense que c'est parce que ma base de données et ma valeur critère ne sont pas dans le même onglet mais dans ton code je ne vois nulle part la notion d'onglet.

Donc ce n'est peut-être pas ca.

J'aimerais mettre en pj mon fichier mais j'ai beau supprimer des données il reste >1Mo (surement en raison des macros déjà existant)

J'aimerais mettre en pj mon fichier mais j'ai beau supprimer des données il reste >1Mo

Passe par www.cjoint.com

Tu obtiendras un lient qu'il te suffira de copier et de coller dans ton prochain message.

Bye !

Voici le fichier LIEN

J'ai supprimé les données confidentielles donc normal si certaines formules ne marchent pas

J'ai écrit ta formule dans l'onglet bilan en K3.

Elle marchait bien dans mon fichier test mais donc plus ici.

Dans les macros tu la verras dans le module 2

Dans le module 1 tu trouveras d'ailleurs une de tes macros que j'ai récupéré sur ce forum et légèrement adapté à mon fichier

J'en profite d'ailleurs pour te demander un truc : Elle fonctionne parfaitement mais elle conserve en mémoire les données même si elles n'existent plus sur le fichier.

Je m'explique : je récupère les données en colonne E et F du fichier bilan et je demande à les coller en M5 si la date est comprise entre mes 2 critères.

Ca marche super bien mais si je supprime les données en E et F la macro va tout de même m'afficher les anciennes données.

Même si je supprime la colonne M manuellement, la macro fonctionne toujours alors qu'il n'y a plus aucune données source.

Tant que je ne fait pas de modif en colonne E, on dirait que la macro garde en mémoire les anciennes données

Surement à cause de ce code que je ne comprends pas:

Range("M6").Resize(UBound(tabloR, 2), 3) = Application.Transpose(tabloR)
Rechercher des sujets similaires à "sommeprod doublon"