XL 2016 Recherche 1er cellule contient une date si cellule est vide

achraf26

XLDnaute Occasionnel
Bonjour tous le monde,
je suis de retour après un blocage au niveau d'une fonction.
j'avais mis comme solution la fonction 9^9
pour une condition : si la colonne B contient un chiffre, la colonne D prend la valeur de la 1er date dans la colonne C .
dans la cellule E8 =SI([@C]="";RECHERCHE(9^9;C8:C9);"aaaa") qui trouve directement la 1er date disponible.

le problème c'est quand je supprime une ligne d'un tableau c'est que ça peut arriver, Exemple :
je supprime la ligne 9 la fonction change et devient : RECHERCHE(9^9;C8:C8)

pour toute solution je suis preneur.
un grand merci
 

Pièces jointes

  • Recherche 1er cellule.xlsx
    13.1 KB · Affichages: 7

vgendron

XLDnaute Barbatruc
Bonjour

essaie en changeant la formule de ta première ligne
=SI([@C]="";TEXTE(RECHERCHE(9^9;C8:$C$21);"aaaa");"")


à noter que avec ta formule actuelle, il me semble que ca ne marchera pas forcément.. la.. ca tombe en marche parce que tu as systématiquement une date juste en dessous du chiffre..
ex: dans ton tableau initial: efface la date en C9==> alors tu as N/A en E8
 
Dernière édition:

Lolote83

XLDnaute Barbatruc
Bonjour,
Peut être comme ceci
En cellule D8 = SI(ESTNUM([@B])=VRAI;INDEX(C8:C9;EQUIV(FAUX;ESTNUM(B8:B9);0));"") à valider par CTRL+MAJ+ENTER (car formule matricielle)

1687427300590.png


Edit: Bonjour @vgendron . Ta remarque est pertinente une fois de plus.

@+ Lolote83
 

achraf26

XLDnaute Occasionnel
Bonjour,
Peut être comme ceci
En cellule D8 = SI(ESTNUM([@B])=VRAI;INDEX(C8:C9;EQUIV(FAUX;ESTNUM(B8:B9);0));"") à valider par CTRL+MAJ+ENTER (car formule matricielle)

Regarde la pièce jointe 1173171

Edit: Bonjour @vgendron . Ta remarque est pertinente une fois de plus.

@+ Lolote83

Bonjour Lolote,
la fonction marche super bien comme la mienne, mais le problème n'est pas résolu, car la suppression de la ligne contient F, perturbe la calcule du coup il ne prend pas la valeur (25-6-23) qui suit.
exemple la ligne 13 supprimé, elle doit prendre .
Merci lolotte
 

job75

XLDnaute Barbatruc
Avec la fonction DECALER de mon post #5 pas de problème si suppression de ligne.

On peut aussi utiliser cette fonction VBA à placer dans un module standard :
VB:
Function Date_suivante(ref As Range, colonne As Range)
Dim i&
For i = ref.Row - colonne.Row + 1 To colonne.Row + colonne.Rows.Count - 1
    If IsDate(colonne(i)) Then Date_suivante = colonne(i): Exit Function
Next
End Function
Formule en E8 :
Code:
=SI([@C]="";ANNEE(Date_suivante([@C];[C]));"")
 

Pièces jointes

  • Recherche 1er cellule(1).xlsm
    19 KB · Affichages: 1

achraf26

XLDnaute Occasionnel

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 266
Membres
103 167
dernier inscrit
miriame