Re : Combinaison de plusieurs formules (si, estnonvide, recherche...) besoin d'aide.
Bonjour Tartelette,
Pour la première formule celle en ligne 1 :
=SI(B3="";"";SI(B3<>A3;MAX($A$1:A$1)+1;""))
On peut la décomposer en 3 parties:
1er partie:
=SI(B3="";"";SI(B3<>A3;MAX($A$1:A$1)+1;""))
Cette première partie pose ta première condition:
Si il n'y a pas de produits pour l'heure à laquelle on se place, alors la cellule ne renvoie rien
2ème partie:
=SI(B3="";""; SI(B3<>A3;MAX($A$1:A$1)+1;""))
Cette deuxième partie pose ta deuxième condition:
Si la cellule de la ligne produit est différente de la précédente, [Vérifie qu'il n'y a pas plusieurs fruits d'affilés] alors on effectue la troisième partie, sinon on ne renvoie rien.
3ème partie:
=SI(B3="";"";SI(B3<>A3; MAX($A$1:A$1)+1;""))
Cette troisième partie permet de "Hiérarchiser" tes horaires, mais uniquement celles qui valident les deux conditions précédentes.
Le fait de vérrouiller la première adresse de la plage de données MAX [ MAX($A$1:A$1)+1 ] mais pas la deuxième permet de faire la "flotter" et donc récupérer la plus grande valeur de toutes les cellules de la ligne 1 précédente, à laquelle on rajoute "1". Ceci permet d'avoir une hiérarchie de tes horaires même sur des cellules non concomitantes.
Pour la deuxième formule en "W",
=SI(ESTERREUR(RECHERCHEH(LIGNE($V8)-7;$1:$3;S$6;0));"";RECHERCHEH(LIGNE($V8)-7;$1:$3;S$6;0))
Il s'agit juste d'une recherche sur la ligne supplémentaire que l'on a créé où LIGNE($V8)-7 renvoie en fait la 1er valeur en ligne 8, 2ème valeur en ligne 9, soit 1 , 2 etc ... En clair, comme on a "hiérarchiser " la plage de données précédente, il suffit juste de chercher les valeur 1,2,3 ...
$1:$3 représente la plage dans laquelle on va chercher ces données, ici les lignes 1 à 3.
S$6 renvoie le numéro de ligne dans la plage de donnée pour laquelle on renvoie la valeur.
Rechercheh équivaut à recherchev mais horizontalement !
Voilà j'espère que j'ai assez éclairci les méthodes utilisées !
N'hésites pas si tu as d'autres questions.
Bonne journée !