Recherche dans plages imbriquées

Bonjour,

Je bloque pour trouver une formule.

Pour essayer de simplifier mon problème : j'ai des utilisateurs qui peuvent louer des engins sur une plage de temps.

Ces mêmes utilisateurs peuvent sous-louer ces engins à d'autres utilisateurs.

Je souhaite trouver la formule à mettre en colonne I pour qu'Excel me sorte l'utilisateur des engins en fonction de la date en colonne H.

Merci d'avance pour votre aide.

6formule.xlsx (10.31 Ko)

Bonjour,

Il me semble qu'il manque un critère de différenciation :

Si on prend la date du 15/05/2015 pour l'engin 1 elle est dans 2 lignes (2:3)

A mon avis il faudrait (si c'est possible) une colonne supplémentaire pour distinguer une location d'une sous location.

Cdlmnt

C'est bien là mon problème pour trouver la formule qui va bien : une plage de 'sous-location' est inclue dans la plage 'principale'.

En quoi une colonne indiquant une 'sous-location' aiderait ?

elle permettrait de savoir dans quelle ligne il faut chercher

la formule de base est celle ci :

=index($D$2:$D$6;SOMMEPROD(($A$2:$A$6=$G5)*($H5>=$B$2:$B$6)*($H5<=$C$2:$C$6)*LIGNE($1:$5))), sauf que somme prod() fait la somme des lignes correspondant aux criteres et s'il y en a 2, c'est faux, alors que si on ajoute une colonne location/sous-location, on différencie les lignes et la condition devient unique

J'en arrive alors à la formule jointe dans mon fichier.

Vous voyez un moyen de la simplifier ?

5formule.xlsx (10.93 Ko)

Bonjour à tous

Une version macro, automatique si la donnée de la colonne G existe et que l'on met (ou change) sa date.

Sinon, il faut cliquer sur le bouton.

Bye !

4formule-v1.xlsm (29.67 Ko)

Re

Comme ça peut etre

6formule-2.xlsx (16.86 Ko)

Cdlmnt

gmb a écrit :

Bonjour à tous

Une version macro, automatique si la donnée de la colonne G existe et que l'on met (ou change) sa date.

Sinon, il faut cliquer sur le bouton.

Bye !

Bonjour gmb,

Merci pour cette macro mais elle ne marche que si les dates de sous-location se trouvent après les dates 'principales'.

Il suffit d'inverser les lignes 2 et 3 pour que cela ne marche plus.

En tout cas, tu m'as fait découvrir l'utilisation des dictionnaires dans VBA.

DjiDji59430 a écrit :

Re

Comme ça peut etre

Cdlmnt

Effectivement mais je ne sais pas si un engin a été sous-loué à une date précise, je ne peux donc pas renseigner la colonne H de ton fichier.

Takama a écrit :

mais elle ne marche que si les dates de sous-location se trouvent après les dates 'principales'.

En effet, mais je ne vois pas comment une sous-location pourrait exister avant une location principale....

Bye !

Rechercher des sujets similaires à "recherche plages imbriquees"