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

Le
infojacques
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.
infojacques@gmail.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4866471
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

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.

FFO
Le #4866371
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.





infojacques
Le #4866141
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
Daniel
Le #4866041
Non, naturellement, je me suis arrêté sur la première... ;-((
Je regarde dès que possible.
Daniel

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
Daniel
Le #4865941
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

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
Daniel
Le #4865911
Oups, plutôt celui-ci pour tenir compte du décalage d'une ligne sur la
feuille "report"
http://cjoint.com/?husoHWueP3
Daniel
"Daniel" 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

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






Daniel
Le #4865891
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


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
JB
Le #4865811
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.



infojacques
Le #4862991
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
Publicité
Poster une réponse
Anonyme