Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

::: RECHERCHEH Améliorée à l'aide !

9 réponses
Avatar
infojacques
Bonjour,

Je cherche =E0 compl=E9ter un rapport (feuille "report") par des donn=E9es
incluses dans une feuille "database". Je pense que la solution ce
trouve du c=F4t=E9 d'une RECHERCHEH.

Mon probl=E8me est d=E9taill=E9 dans le fichier Excel ci-joint
http://cjoint.com/?hunXEMJti3

Si quelqu'un a une formule qui soit copiable ! Merci d'avance !

Bonne journ=E9e et salutations,

Jacques D.
infojacques@gmail.com

9 réponses

Avatar
Daniel
Bonjour.
Si les formules commencent en D8, il faut changer LIGNE()-7 en LIGNE()-8.
la formule de D7 transpposée en D8 devient :
=SI(ESTNA(RECHERCHEH("ACTION
TIME";INDIRECT("DataBase!C"&(LIGNE()-8)*8+6&":EA"&(LIGNE()-8)*8+11);6;FAUX));"Not
Yet";RECHERCHEH("ACTION
TIME";INDIRECT("DataBase!C"&(LIGNE()-8)*8+6&":EA"&(LIGNE()-8)*8+11);6;FAUX))
Cordialement.
Daniel
a écrit dans le message de news:

Bonjour,

Je cherche à compléter un rapport (feuille "report") par des données
incluses dans une feuille "database". Je pense que la solution ce
trouve du côté d'une RECHERCHEH.

Mon problème est détaillé dans le fichier Excel ci-joint
http://cjoint.com/?hunXEMJti3

Si quelqu'un a une formule qui soit copiable ! Merci d'avance !

Bonne journée et salutations,

Jacques D.

Avatar
FFO
Salut à toi

Je te propose une solution macro avec ce code :

Sheets("Report").Activate
For Each C In Worksheets("Report").Range("B7", [B65535].End(xlUp))
Sheets("Database").Activate
For Each D In Worksheets("Database").Range("A6", [A65535].End(xlUp))
If D = C Then
For Each E In Worksheets("Database").Range("C" & D.Row, Range("IV" &
D.Row).End(xlToLeft))
If E = "ACTION TIME" Then
C.Offset(0, 2) = E.Offset(5, 0)
C.Offset(0, 3) = E.Offset(4, 0)
C.Offset(0, 4) = E.Offset(2, 0)
Exit For
End If
Next
Exit For
End If
Next
Next

En considérant que les paramètres à prendre en compte
Onglet "Report" débutent en B7
Onglet "Database" en A6

Les cellules alimentées dans l'onglet "Report" sont traitées par les lignes :

C.Offset(0, 2) = E.Offset(5, 0)
(Fund Name = C , Warning Date = Offset(0,2)) = (ACTION NAME = E, Nb Days
Warning = Offset(5,0))
C.Offset(0, 3) = E.Offset(4, 0)
(Fund Name = C , Notice Date = Offset(0,3)) = (ACTION NAME = E, Notice Days
= Offset(4,0))
C.Offset(0, 4) = E.Offset(2, 0)
(Fund Name = C , Redemption Date = Offset(0,4)) = (ACTION NAME = E,
Redemption = Offset(2,0))

Espérant avoir répondu à ton attente

Dis moi !!!!


Bonjour,

Je cherche à compléter un rapport (feuille "report") par des données
incluses dans une feuille "database". Je pense que la solution ce
trouve du côté d'une RECHERCHEH.

Mon problème est détaillé dans le fichier Excel ci-joint
http://cjoint.com/?hunXEMJti3

Si quelqu'un a une formule qui soit copiable ! Merci d'avance !

Bonne journée et salutations,

Jacques D.





Avatar
infojacques
Bonjour et MERCI,

Votre solution fonctionne parfaitement Daniel. J'aime vos formules
même si je ne les comprends pas entièrement. Avez-vous vu mes autres
questions toujours au même sujet (inclues dans la feuille "Problème"
colonne O et suivantes? J'avoue que j'aimerais bien terminer ce
fichier avec des formules (les votres - très efficaces).

FFO merci pour les macros. Par défaut je préfère les formules (plus
dynamique). J'avoue ne pas comprendre tes marcos mais vais essayer
de les mettre en place (comment) pour voir si je peux relever ce
challenge. Mais comme tu l'auras lu dans mes lignes à Daniel, je
recherais plus une solution formule. Est-ce possible? A
voire ... De toute façon je te remercie et vais essayer.

Amicalement,

Jacques
Avatar
Daniel
Non, naturellement, je me suis arrêté sur la première... ;-((
Je regarde dès que possible.
Daniel
a écrit dans le message de news:

Bonjour et MERCI,

Votre solution fonctionne parfaitement Daniel. J'aime vos formules
même si je ne les comprends pas entièrement. Avez-vous vu mes autres
questions toujours au même sujet (inclues dans la feuille "Problème"
colonne O et suivantes? J'avoue que j'aimerais bien terminer ce
fichier avec des formules (les votres - très efficaces).

FFO merci pour les macros. Par défaut je préfère les formules (plus
dynamique). J'avoue ne pas comprendre tes marcos mais vais essayer
de les mettre en place (comment) pour voir si je peux relever ce
challenge. Mais comme tu l'auras lu dans mes lignes à Daniel, je
recherais plus une solution formule. Est-ce possible? A
voire ... De toute façon je te remercie et vais essayer.

Amicalement,

Jacques
Avatar
Daniel
Regarde le classeur à l'adresse :
http://cjoint.com/?hurTxWbdIr
Promis, je détaille les formules dès que j'ai un moment (je me bats avec mon
fils pour l'utilisation de l'unique ordi familial).
Daniel
a écrit dans le message de news:

Bonjour et MERCI,

Votre solution fonctionne parfaitement Daniel. J'aime vos formules
même si je ne les comprends pas entièrement. Avez-vous vu mes autres
questions toujours au même sujet (inclues dans la feuille "Problème"
colonne O et suivantes? J'avoue que j'aimerais bien terminer ce
fichier avec des formules (les votres - très efficaces).

FFO merci pour les macros. Par défaut je préfère les formules (plus
dynamique). J'avoue ne pas comprendre tes marcos mais vais essayer
de les mettre en place (comment) pour voir si je peux relever ce
challenge. Mais comme tu l'auras lu dans mes lignes à Daniel, je
recherais plus une solution formule. Est-ce possible? A
voire ... De toute façon je te remercie et vais essayer.

Amicalement,

Jacques
Avatar
Daniel
Oups, plutôt celui-ci pour tenir compte du décalage d'une ligne sur la
feuille "report"
http://cjoint.com/?husoHWueP3
Daniel
"Daniel" a écrit dans le message de news:
e6Vq%
Regarde le classeur à l'adresse :
http://cjoint.com/?hurTxWbdIr
Promis, je détaille les formules dès que j'ai un moment (je me bats avec
mon fils pour l'utilisation de l'unique ordi familial).
Daniel
a écrit dans le message de news:

Bonjour et MERCI,

Votre solution fonctionne parfaitement Daniel. J'aime vos formules
même si je ne les comprends pas entièrement. Avez-vous vu mes autres
questions toujours au même sujet (inclues dans la feuille "Problème"
colonne O et suivantes? J'avoue que j'aimerais bien terminer ce
fichier avec des formules (les votres - très efficaces).

FFO merci pour les macros. Par défaut je préfère les formules (plus
dynamique). J'avoue ne pas comprendre tes marcos mais vais essayer
de les mettre en place (comment) pour voir si je peux relever ce
challenge. Mais comme tu l'auras lu dans mes lignes à Daniel, je
recherais plus une solution formule. Est-ce possible? A
voire ... De toute façon je te remercie et vais essayer.

Amicalement,

Jacques






Avatar
Daniel
Détail de la formule de la cellule D8 de la feuille "Report"

1. Renvoi de la valeur "Not Yet" si la recherche est infructueuse :

La formule de base est :
RECHERCHEH("ACTION
TIME";INDIRECT("DataBase!C"&(LIGNE()-8)*8+6&":EA"&(LIGNE()-8)*8+11);6;FAUX))
"ESTNA" renvoit VRAI si la formule testée renvoit #NA!
On établit le test :
Si la recherche renvoie #NA!, alors "Not Yet", sinon recherche.

2. Recherche

LIGNE() renvoit la ligne dans laquelle se trouve la formule, dans ce cas,
"8"
(LIGNE()-8)*8+6 renvoit 6 pour la ligne 8, 14 pour la ligne 9, 22 pour la
ligne 10, etc.
(LIGNE()-8)*8+11 renvoit 11 pour la ligne 8, 19 pour la ligne 9, 27 pour la
ligne 10, etc.
L'expression "("DataBase!C"&(LIGNE()-8)*8+6&":EA"&(LIGNE()-8)*8+11)"
renvoit la chaine de caractères :
"DataBase!C6:EA11"
La fonction INDIRECT transforme la chaine en plage de cellule sur laquelle
on effectue RECHERCHEH
Je peux également expliciter la formule :
ÞCALER(DataBase!$A$5;EQUIV($B8;DataBase!$A$6:$A$78;0)+5;EQUIV("Too
early";DECALER(DataBase!$A$5;EQUIV($B8;DataBase!$A$6:$A$78;0);;;240);0)-1)
si tu as des problèmes avec elle.
A propos de cette dernière, la plage est limitée :
DataBase!$A$6:$A$78
Tu devras la redimensionner si tu ajoutes des données. Tu peux le faire dès
maintenant.
Daniel

a écrit dans le message de news:

Bonjour et MERCI,

Votre solution fonctionne parfaitement Daniel. J'aime vos formules
même si je ne les comprends pas entièrement. Avez-vous vu mes autres
questions toujours au même sujet (inclues dans la feuille "Problème"
colonne O et suivantes? J'avoue que j'aimerais bien terminer ce
fichier avec des formules (les votres - très efficaces).

FFO merci pour les macros. Par défaut je préfère les formules (plus
dynamique). J'avoue ne pas comprendre tes marcos mais vais essayer
de les mettre en place (comment) pour voir si je peux relever ce
challenge. Mais comme tu l'auras lu dans mes lignes à Daniel, je
recherais plus une solution formule. Est-ce possible? A
voire ... De toute façon je te remercie et vais essayer.

Amicalement,

Jacques
Avatar
JB
Bonjour

Réponse du 16 juillet:

=SI(ESTNA(RECHERCHEH("ACTION TIME";DECALER(DataBase!$C$6:$EA$11;
(LIGNE()-7)*8;0);6;FAUX));"not yet";
RECHERCHEH("ACTION TIME";DECALER(DataBase!$C$6:$EA$11;(LIGNE()-7)*8;0);
6;FAUX))

http://cjoint.com/?hutxrxgSJU

JB

On 20 juil, 14:00, wrote:
Bonjour,

Je cherche à compléter un rapport (feuille "report") par des données
incluses dans une feuille "database". Je pense que la solution ce
trouve du côté d'une RECHERCHEH.

Mon problème est détaillé dans le fichier Excel ci-jointhttp://cjoi nt.com/?hunXEMJti3

Si quelqu'un a une formule qui soit copiable ! Merci d'avance !

Bonne journée et salutations,

Jacques D.



Avatar
infojacques
Bonjour à TOUS et MERCI ! Bon après un week-end sans PC (et oui ça
arrive) je m'y colle à nouveau. Je vois que je vais avoir des essais
à faire avec toutes vos solutions. Donc tests à gogo ! Super !
Merci encore mille fois pour votre aide et support. Bonne semaine à
vous tous. Jacques