Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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:

job75

XLDnaute Barbatruc
et pour que ça fonctionne pour les deux types de valeurs validez vous mon idée ?
Pas du tout, voyez ce fichier (2) et les 2 formules matricielles en E4 et F4 :
Code:
=SIERREUR(INDEX(G$3:O$3;EQUIV(VRAI;G4:O4<>"";0));"")

=SIERREUR(RECHERCHE("zzz";SI(G4:O4<>"";""&G4:O4);G$3:O$3);"")
 

Pièces jointes

  • calendrier(2).xlsx
    12.8 KB · Affichages: 7

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…