Microsoft 365 renvoyer dans une cellule la valeur d'une cellule, alignée en colonne avec la première/dernière valeur d'une matrice en ligne.

aurige

XLDnaute Nouveau
bonour,
j'ai bien parcouru
https://www.excel-downloads.com/threads/afficher-la-derniere-cellule-non-vide-dune-ligne.131270/... et d'autres threads, fait des tentatives mais ... je n'arrive pas à me dépatouiller avec mes compétences très limitées.
Vous verrez que sur le tableau ci-joint, qui me sert à simuler un dimensionnement de déploiement de formations je cherche à :

Renvoyer en colonne E dans chaque ligne la date (qui est en ligne 2) de la colonne où se situe la première valeur de la ligne (1 ou 2) et en colonne F la date de la dernière valeur de la ligne, pour identifier facilement date de début et date de fin par lieu...

avez-vous des idées sans macro (ça finira sur un SharePoint avec les formateurs).
mille mercis d'avance
 

Pièces jointes

  • calendrier.xlsx
    12.4 KB · Affichages: 9

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Aurige,
Une PJ à tester. Ca a l'air de marcher.:)
Formules en E4:F4 :
VB:
Date de début =SIERREUR(INDEX($G$3:$O$3;MIN(SIERREUR(EQUIV(1;G4:O4;0);9^9);SIERREUR(EQUIV(2;G4:O4;0);9^9)));"")
Date de Fin=SIERREUR(INDEX($G$3:$O$3;MAX(SIERREUR(EQUIV(1;G4:O4;1);0);SIERREUR(EQUIV(2;G4:O4;1);0)));"")
 

Pièces jointes

  • calendrier.xlsx
    16.5 KB · Affichages: 1

CISCO

XLDnaute Barbatruc
Bonjour

Tu peux faire, dans E4, avec
Code:
SI(NB(G4:O4)=0;"";MIN(SI(G4:O4<>"";G$3:O$3)))
en matriciel (à valider avec Ctrl+maj+entrer), ou encore, avec
Code:
SI(NB(G4:O4)=0;"";INDEX(G$3:O$3;EQUIV(9^9;DECALER(G4:O4;;;;EQUIV(9^9;G4:O4;1)-(NB(G4:O4)-1)))))
celle-là, pas en matriciel, donc à valider simplement avec Entrer.

Et dans F4 :
Code:
SI(NB(G4:O4)<2;"";INDEX(G$3:O$3;EQUIV(9^9;G4:O4;1)))
toujours histoire d'éviter une formule matricielle.

@ plus
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonsoir aurige et les autres,

Voyez le fichier joint :

- formule matricielle en E4 =SIERREUR(INDEX(G$3:O$3;EQUIV(VRAI;ESTNUM(G4:O4);0));"")

- formule normale en F4 =SIERREUR(INDEX(G$3:O$3;EQUIV(9^9;G4:O4));"")

Edit : plus simple =SIERREUR(RECHERCHE(9^9;G4:O4;G$3:O$3);"")

A+
 

Pièces jointes

  • calendrier(1).xlsx
    12.3 KB · Affichages: 5
Dernière édition:

aurige

XLDnaute Nouveau
merci à tous ! @sylvanu @djidji59430 @CISCO @job75 !

et si la valeur est du texte j'ai la solution (je m'épate moi-même):
début : {=SIERREUR(INDEX(G$3:O$3;EQUIV(VRAI;ESTTEXTE(G10:O10);0));"")}
fin : {=SIERREUR(RECHERCHE("zzz";G10:O10;G$3:O$3);"")}

et pour que ça fonctionne pour les deux types de valeurs validez vous mon idée ?

j'ai essayé
(pour date de début)
{=SIERREUR(MIN(INDEX(G$3:O$3;EQUIV(VRAI;ESTNUM(G11:O11);0));(INDEX(G$3:O$3;EQUIV(VRAI;ESTTEXTE(G11:O11);0))));"")}
(pour date de fin)
{=SIERREUR(MAX(RECHERCHE(9^9;G11:O11;G$3:O$3);(RECHERCHE("zzz";G11:O11;G$3:O$3)));"")}


encore mille mercis !
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
313 283
Messages
2 096 813
Membres
106 752
dernier inscrit
Tahiri1976