Formule magique ? Recherche de dates Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
A
Amadéus
Modérateur
Modérateur
Messages : 17'692
Appréciations reçues : 78
Inscrit le : 7 mai 2006
Version d'Excel : Office Excel 2003 FR et 2013FR

Message par Amadéus » 2 décembre 2014, 18:23

Bonjour
Ne te soucies pas de revenir sur le sujet, c'est le but du Forum que d'aider jusqu'à la solution définitive.
Pour C49, tu as mal placé le -1
=SI(D$19<MIN(INDIRECT("'"&$A48&"'!$B$3:$B$10000"));"";INDEX(INDIRECT("'"&$A48&"'!$F:$F");MIN(SI(INDIRECT("'"&$A48&"'!$B$3:$B$10000")>=$D$19;LIGNE(INDIRECT("'"&$A48&"'!$B$3:$B$10000"))))-1))
Cordialement
Amadéus vous informe que, pour cause de saturation, il ne peut plus répondre aux messages privés non sollicités.
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'389
Appréciations reçues : 403
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 2 décembre 2014, 18:31

Bonjour,

si on considère que c'est 2275.82 (et non .92) il me semble que ma proposition est correcte.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Avatar du membre
Joseph67
Membre fidèle
Membre fidèle
Messages : 284
Inscrit le : 2 décembre 2007
Version d'Excel : 2007 FR, 2013FR

Message par Joseph67 » 2 décembre 2014, 18:33

Bonsoir Eric, Amadeus,
Bonsoir le forum,

Je viens de penser à quelque chose.
Si au lieu de se positionner sur la bon solde, il était possible de le calculer!

En effet, si je mets 01/01/2014 en date de début pour avoir le solde il faut calculer solde de départ - les dépense jusqu'au 31/12/2013 + les rentrées d'argent jusqu'au 31/12/2013.
Je vais essayer de voir si je trouve quelque chose de ce côté.

A bientôt
Joseph

Eric, Amadeus,

Ma parole, vous me répondez plus vite que mon ombre !!!

Amadeus, je vais re-tester.
Eric, oui ta proposition semble fonctionner.
Pourrais-tu me dire d'où vient le =ancienSolde et nouveauSolde
Je ne les ai pas trouvé en gestionnaire de noms
D'autre part, en A48 de Décompte il n'y aura pas C1, mais par exemple Compte Courant, LDD, etc.
Par quoi faudra-t'il remplacer le A48 dans
=ancienSolde(A48;$D$19)
; 'C1!' ?

Je m'y remets demain pour les tests, parce que là je n'arrête plus de tousser et de me moucher.
J'espère que cela ira mieux demain.

Vous êtes formidables !

Merci à vous
Joseph
Avatar du membre
Joseph67
Membre fidèle
Membre fidèle
Messages : 284
Inscrit le : 2 décembre 2007
Version d'Excel : 2007 FR, 2013FR

Message par Joseph67 » 3 décembre 2014, 18:42

Bonsoir Eric, Amadeus
Bonsoir le forum,

Bon, j'ai encore refait des tests, et il me semble que tout fonctionne.
Pour l'exemple avec les formules, il reste encore le #VALEUR si la date de fin est trop élevée.

D'ailleurs il faut que je revienne sur un truc qui m'a fait repenser à une blague que l'on m'avait racontée :
Pour C49, tu as mal placé le -1
Une entreprise a un problème matériel sur un PC et fait venir un réparateur.
Ce dernier ouvre le boitier, regarde un peu, puis serre une vis.
Il repart, tout fonctionne.
Quelques jours après, arrive la facture à l'entreprise : 400 € !
Le responsable rappelle le réparateur et lui dit : vous n'êtes pas peu gonflé de demander 400 € juste pour serrer une vis !!!
et le réparateur de lui répondre : ah non, serrer la vis c'était 1 €. Mais savoir laquelle, c'est ça qui a couté 399 €
Ce qui m'a fait penser au -1 : il fallait savoir où le mettre !
Je ferme ce petit interlude.

Ensuite dans vos propositions vous faites référence pour l'exemple à la cellule A48 pour ouvrir l'onglet C1
Or cette cellule contiendra en vrai par exemple Compte Courant, LEP, etc...
Je crois bien avoir tout essayé (sauf la bonne méthode cf. mon interlude plus haut)
'C1'!, C1, "C1'!; "; "'"C1 (avec ou sans !), etc...
C'est d'ailleurs fou le temps que l'on peut prendre à chercher sur internet !
J'ai même essayé en cherchant comment trouver le nom de l'onglet ce qui est idiot puisque je les connait déjà : c'est C1, C2...C30

Eric, ne tient pas compte de ma dernière réponse. Ce sont 2 macros que tu as faites. Et moi qui regarde dans le gestionnaire de noms...
En fait, ce que je connais étant principalement par des livres, je croyais qu'une macro n'était déclenchée que par une action, style appuyer sur une touche, cliquer sur OK, Annuler, etc.

Reste encore les formules en D49, E49, F49, G49 et H49 de Décompte.
Celles là ne me poserons pas de problème. J'aurai juste voulu savoir une chose : laquelle est la meilleure ?
SOMME(SI.....) comme en D49, ou SOMME.SI () comme en E49

Voilà.
Que dire d'autre, sinon encore et toujours MERCI
Et si l'un ou l'autre peut me dévoiler un secret !!! Je suis preneur.

Amicalement
Joseph
DIRECTEUR-2.xls
(271 Kio) Téléchargé 6 fois
A
Amadéus
Modérateur
Modérateur
Messages : 17'692
Appréciations reçues : 78
Inscrit le : 7 mai 2006
Version d'Excel : Office Excel 2003 FR et 2013FR

Message par Amadéus » 3 décembre 2014, 19:12

Bonjour
Un essai en I49 (Pas triste) Matricielle
=INDEX(INDIRECT("'"&$A48&"'!$F:$F");SI(MAX(INDIRECT("'"&A48&"'!$B$3:$B$1000"))<$H$19;MAX(SI((INDIRECT("'"&A48&"'!$B$3:$B$1000")<$H$19)*(INDIRECT("'"&A48&"'!$B$3:$B$1000"));LIGNE(INDIRECT("'"&A48&"'!$B$3:$B$1000"))));MIN(SI((INDIRECT("'"&A48&"'!$B$3:$B$1000")>$H$19)*(INDIRECT("'"&A48&"'!$B$3:$B$1000"));LIGNE(INDIRECT("'"&A48&"'!$B$3:$B$1000"))))-1))
Cordialement
Amadéus vous informe que, pour cause de saturation, il ne peut plus répondre aux messages privés non sollicités.
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'389
Appréciations reçues : 403
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 3 décembre 2014, 19:20

Bonjour,
Pourrais-tu me dire d'où vient le =ancienSolde et nouveauSolde
Je ne les ai pas trouvé en gestionnaire de noms
D'autre part, en A48 de Décompte il n'y aura pas C1, mais par exemple Compte Courant, LDD, etc.
Par quoi faudra-t'il remplacer le A48
Je vois que tu as trouvé.
Il s'agit de fonctions personnalisées.
Une fois crées elles s'utilisent sur une feuille comme une fonction native d'excel.
On passe dans le 1er paramètre le nom de la feuille (via A48 ici) où doit s'effectuer la recherche du solde.
Si le libellé en A48 est différent du nom de la feuille il faut que tu te crées une table de correspondance libellé|Nom Feuille et que tu le retrouves le nom avec un recherchev() (valable pour la proposition d'Amadeus aussi).


eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Avatar du membre
Joseph67
Membre fidèle
Membre fidèle
Messages : 284
Inscrit le : 2 décembre 2007
Version d'Excel : 2007 FR, 2013FR

Message par Joseph67 » 3 décembre 2014, 21:39

Bonsoir Eric, Amadeus,
Bonsoir le forum,

Amadeus, pas triste en effet la formule ! Impressionnant même, je dirais. Je vais l'essayer !
Eric, il n'est pas possible de créer une correspondance Libellé/Nom feuille.
Le libellé peut être n'importe quoi. Cela peut être Compte courant pour 'C1' et également Compte courant pour 'C2'
Par contre la cellule C49 en Décompte est et sera toujours le solde de la feuille 'C1', comme la cellule C52 sera toujours le solde de la feuille 'C2', etc.
Donc dans
=ancienSolde(A48;$D$19)
il faut simplement remplacer la valeur de A48 qui est dans l'exemple C1, par 'C1' qui est le nom de l'onglet.
Un problème de syntaxe pour moi, mais cela n'est peut-être pas possible.
Bon, après je peux imaginer de mettre C1, C2...C30 dans une colonne cachée et y faire référence dans la formule.
Je vais chercher.

Merci à vous deux

Amicalement
Joseph
Avatar du membre
Joseph67
Membre fidèle
Membre fidèle
Messages : 284
Inscrit le : 2 décembre 2007
Version d'Excel : 2007 FR, 2013FR

Message par Joseph67 » 4 décembre 2014, 17:54

Bonsoir Eric, Amadeus,
Bonsoir le forum,

Je ne vous ai pas oublié, j'y travaille (lentement certes, mais j'y travaille.), mais j'ai eu beaucoup d'autres choses à faire aujourd'hui.

Je reviens vers vous dès que j'aurai avancé (bis : lentement certes, mais dès que j'aurai avancé.)

Donc, à demain.

Sans oublier les mercis...
Seul je n'aurai rien trouvé de toutes les réponses que vous m'avez apportées.

Amicalement
Joseph
Avatar du membre
Joseph67
Membre fidèle
Membre fidèle
Messages : 284
Inscrit le : 2 décembre 2007
Version d'Excel : 2007 FR, 2013FR

Message par Joseph67 » 5 décembre 2014, 18:57

Bonsoir Amadeus, Eric
Bonsoir le forum,

J'ai rajouté au fichier réel une feuille VAR dans laquelle j'ai mis la valeur C1 dans la cellule A1, la valeur C2 dans la cellule A2, et ainsi de suite jusqu'à la valeur C30 dans la cellule A30.
Ce qui m'a permis de remplacer tant dans les formules que dans la macro A48 par VAR!A1 et cela me semble fonctionner.

Amadeus, dans la formule "magique" qui l'est toujours, j'ai cherché et cherché pourquoi elle fonctionne pour les onglets C1 à C5, mais pas pour les onglets C6 à C30. Je l'ai donc modifiée (en ne sachant évidemment pas vraiment si c'est bien ou pas)
&COLONNE(A:E)&
par &COLONNE(A:AD)& ce qui me donne ceci :
=SOMMEPROD((NB.SI(DECALER(INDIRECT("C"&COLONNE(A:AD)&"!A3");LIGNE($1:$509)-1;0);$A26)*(N(DECALER(INDIRECT("C"&COLONNE(A:AD)&"!B3");LIGNE($1:$509)-1;0))<=H$19)*(N(DECALER(INDIRECT("C"&COLONNE(A:AD)&"!B3");LIGNE($1:$509)-1;0))>=D$19)*(N(DECALER(INDIRECT("C"&COLONNE(A:AD)&"!D3");LIGNE($1:$509)-1;0)))))
Le AD correspondant à 30
Est-ce correct ? En tout cas j'obtiens bien le total de tous les onglets.

Je reviens encore sur les formules en D49, E49, F49, G49 et H49 de Décompte.
Quelle est la meilleure solution ?
Utiliser SOMME(SI.....) comme en D49, ou SOMME.SI () comme en E49

Il ne me restera plus ensuite qu'à modifier toutes les formules et macros du fichier réel...
Et les comptes étant au nombre de 30, je vais donc en faire 15 par formule et 15 par macro.
Vous avez été tellement sympathiques que je ne peux pas décemment n'utiliser qu'une seule solution !

Merci

Amicalement
Joseph
Avatar du membre
Joseph67
Membre fidèle
Membre fidèle
Messages : 284
Inscrit le : 2 décembre 2007
Version d'Excel : 2007 FR, 2013FR

Message par Joseph67 » 12 décembre 2014, 11:26

Bonjour Amadeus, Eric
Bonjour le forum,

Bon j'ai toujours la grippe qui me mine, et qui explique le délai de réaction.
J'ai je pense tout testé, et bien évidemment tout fonctionne bien.

Tout, oui : mais la saisie et bien plus lente qu'avant.
Il faut que je voie ce qu'il est possible de faire.
Peut-être le sujet d'un autre post, en tout cas, je peux clore celui-ci.

Encore merci

Joseph
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message