Index Equiv suite

Bonsoir

Sujet compliqué lorsque l'on n'a pas les bons mots

Pour essayer de faire simple.

Je double clique sur une cellule, une valeur apparait, comprise entre 1 et 3.

Sur une ligne peuvent apparaître 10 valeurs par exemple, j'aimerai retourner la date la plus petite et la plus grande pour lesquelles une valeur est associée.

9test3.xlsm (876.61 Ko)

Si par exemple J'ai la valeur 2 en AZ7, je pourrai connaître la date correspondante à cette première valeur rencontrée sur ma ligne.

La même chose avec la dernière valeur rencontrée sur ma ligne (dans l'exemple en PJ la dernière valeur rencontrée est le 1 et correspond à la date du 15 février

J'y arrive mais ma méthode est complexe.

J'ai associé un recherchev et ma formule matricielle suivante :

=INDIRECT("L"&LIGNE($AY$7:$BN$7)&"C"&MIN(SI(ESTVIDE($AY$7:$BN$7);257;COLONNE($AY$7:$BN$7)));FAUX)

Merci pour votre aide, j'ai réellement essayé

Bonjour,

Rien compris...

Tu dis que tu veux les 2 dates extrêmes et la formule que tu montres est celle qui te retournes le 2 (?!?)

Par ailleurs je n'ai pas regardé ta macro du double- clic mais à mon avis tu pourrais t'en servir pour mettre facilement à jour tes dates et/ou ta valeur 2.

eric

Hello

pour faire encore plus court

je veux connaître la date associée à la première valeur non vide rencontrée

et la date associée à la dernière valeur non vide rencontrée d'une ligne

Merci pour les pistes éventuelles

je n'ai pas regardé ta macro du double- clic mais à mon avis tu pourrais t'en servir pour mettre facilement à jour tes dates

eriiic a écrit :

je n'ai pas regardé ta macro du double- clic mais à mon avis tu pourrais t'en servir pour mettre facilement à jour tes dates

Hello

Clairement j'y arrive mais ma méthode est compliquée

Je suis persuadé qu'il y a une notion soir d'index/equiv, mais ça je ne sais pas trop faire

Je double clique sur une cellule, une valeur apparait, comprise entre 1 et 3.

Ton fichier ne correspond pas, il y a plein de 0 en ligne 7. Alors ???

Je les ai enlevés....

Pourquoi t'embêter à chercher une formule compliquée alors que tu as déjà mis du vba sur l'événement ?

Tu as juste 4 lignes à ajouter après Target = nbre(Application.WorksheetFunction.Match(Target.Interior.color, couleurs, 0) Mod 4) :

        Set c = Target.EntireRow.Find("*", Cells(Target.Row, "I"), xlFormulas, xlPart, xlByRows, xlNext)
        Cells(Target.Row, "G") = IIf(c Is Nothing Or c.Column < 10, "", Cells(3, c.Column))
        Set c = Target.EntireRow.Find("*", Cells(Target.Row, "XFD"), xlFormulas, xlPart, xlByRows, xlPrevious)
        Cells(Target.Row, "I") = IIf(c Is Nothing Or c.Column < 10, "", Cells(3, c.Column))

et déclarer Dim c As Range en haut.

eric

Bonjour Eric

Merci pour ton aide

Le code fonctionne

Cependant j'ai un bug résiduel.

Je te joins le fichier. En double cliquant sur une case, elle change bien de couleur, cependant un peu à gauche de cette case s'affiche la date au format numérique (42754) mais en mode fantôme. je sais c'est bizarre, mais faire du débug sur ce code est trop compliqué pour moi

Merci à nouveau pour ton aide éventuelle

4gestion-v4.xlsm (930.84 Ko)

dans

 Cells(Target.Row, "I") = .... 

"I" est la colonne.

Tu pouvais le trouver en faisant F1 sur Cells pour avoir l'aide.

eric

Hello

En effet j'ai fait le boulet.

J'ai bossé sur 2 fichiers distincts et les colonnes n'étaient pas placées pareil

Du coup je n'avais pas les mêmes résultats.

Bref tu avais raison

Encore merci tout est nickel

Bonne journée

Rechercher des sujets similaires à "index equiv suite"