XL 2016 Recherche de date et de valeurs en fonction des dates

M@xu3L

XLDnaute Junior
Bonjour tous le monde,

Je reviens vers vous car je sèche et je n'arrive pas à trouver une solution dans toutes les discussions que j'ai pu lire.

Je recherche une fonction (j'aimerai éviter le VBA) pour faire une recherche de date sur une ligne.

En gros j'ai une ligne (A1) qui contient des dates, mais pas que, et j'aimerai que dans un autre onglet sa puisse me lister toutes les dates présente dans cette ligne. Ensuite dans la colonne d'après j'aimerai avoir une recherche des valeurs présentes sur la ligne 27.

Voila je suis bloquer.

Merci d'avance à ceux qui pourrons m'aider dans cette problématique.

Cordialement
 

Pièces jointes

  • test forum.xlsx
    115.6 KB · Affichages: 3
Solution
Donc vous n'avez pas compris les formules précédentes.
1- Il fallait que les intitulés soient différents Date1,date2,date3 ...
2- Il fallait un Date x sur le bloc suivant le dernier bloc utilisé.
Come ce n'est pas le cas dans votre PJ, j'ai changé de formule avec :
VB:
=SIERREUR(SI(A3="";"";RECHERCHE(9^9;DECALER('2000656 charge alambic  '!$A$27:$O$27;0;EQUIV(A3;'2000656 charge alambic  '!$1:$1;0))));"")
La limite est qu'un bloc fasse moins de 16 colonnes ( <=15 ) car il faut bien limiter la zone de recherche dans le bloc considéré. ( en considérant que les 3 premières colonnes d'un bloc soient des dates, donc n'est rien en ligne 27 )
J'ai laissé l'autre formule en exemple mais cela suppose que les intitulés soient différents.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Le plus simple est de taper "=SIERREUR(PETITE.VALEUR( " puis d'aller sur la bonne feuille et cliquer sur la ligne 1 puis continuer la formule avec ";LIGNE()-2);"")" ainsi vous aurez la bonne syntaxe.
Idem pour la seconde formule.
Si votre feuille s'appelle toto alors cela devrait faire :
VB:
=SIERREUR(PETITE.VALEUR(toto!$1:$1;LIGNE()-2);"")
Sinon rectifiez votre PJ avec les bons noms d'onglets, et livrez le.
 

M@xu3L

XLDnaute Junior
Le plus simple est de taper "=SIERREUR(PETITE.VALEUR( " puis d'aller sur la bonne feuille et cliquer sur la ligne 1 puis continuer la formule avec ";LIGNE()-2);"")" ainsi vous aurez la bonne syntaxe.
Idem pour la seconde formule.
Si votre feuille s'appelle toto alors cela devrait faire :
VB:
=SIERREUR(PETITE.VALEUR(toto!$1:$1;LIGNE()-2);"")
Sinon rectifiez votre PJ avec les bons noms d'onglets, et livrez le.
Alors non pour la date sa fonctionne parfaitement c'est pour la recherche de valeur que sa me met une cellule vide et je ne comprend pas pourquoi...

J'ai bien mit le bon nom d'onglet ect...

Et ce que je ne comprend pas c'est que quand je le fait sur le premier fichier que j'ai envoyer sa fonctionne...

Si la valeur rechercher est un calcul ex : SOMME A1:A6 sa fonctionne pareille non?
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Alors c'est que votre fichier déjà envoyé n'est pas représentatif du votre actuel.
Vérifier ce point :
Dans la feuille de votre tableau, regardez en ligne 1 en quelle colonne est écrit "Date 2".
Descendez en ligne 27 colonne précédente, vous devez avoir la valeur demandée. Sinon c'est que la structure n'est pas la même.
Par ex dans la dernière PJ :
Date 2 est en Z1
Valeur est en Y27, c'est à dire 27 lignes plus bas, une colonne à gauche.
 

M@xu3L

XLDnaute Junior
Alors c'est que votre fichier déjà envoyé n'est pas représentatif du votre actuel.
Vérifier ce point :
Dans la feuille de votre tableau, regardez en ligne 1 en quelle colonne est écrit "Date 2".
Descendez en ligne 27 colonne précédente, vous devez avoir la valeur demandée. Sinon c'est que la structure n'est pas la même.
Par ex dans la dernière PJ :
Date 2 est en Z1
Valeur est en Y27, c'est à dire 27 lignes plus bas, une colonne à gauche.
Et bien si c'est bien sa pourtant c'est pour sa que je ne comprend pas parce que il y a juste des calculs dans ma feuille que je ne vous ai pas donné pensant que sa ne changerai rien voici une nouvelle version avec tous les calcul. Et d'ailleurs sur cette feuille vous verrez quelque chose que je ne comprend pas non plus je ne peu pas faire de somme sur la colonne R ligne 27 en total franchement je suis perdu la^^
 

Pièces jointes

  • test forum (6) (2) (2).xlsx
    122.7 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bien évidemment puisque si vous faites cela vous avez une référence circulaire puisque R26 utilise R27.
Mais si vous mettez en R27 par ex "=SOMME(R4:R25)" alors ça marche.
Cela m'étonnes que votre XL ne vous dit pas qu'il y a une référence circulaire quand vous tentez de mettre cette formule dans R27 :
1700052562496.png
 

M@xu3L

XLDnaute Junior
Bien évidemment puisque si vous faites cela vous avez une référence circulaire puisque R26 utilise R27.
Mais si vous mettez en R27 par ex "=SOMME(R4:R25)" alors ça marche.
Cela m'étonnes que votre XL ne vous dit pas qu'il y a une référence circulaire quand vous tentez de mettre cette formule dans R27 :
Regarde la pièce jointe 1183804
Alors non Excel ne me disais rien il me mettait 0 en valeur et vu que je ne suis pas à l'origine de ce tableau et de ces calculs je suis un peu perdu...
 

M@xu3L

XLDnaute Junior
Alors sans PJ réellement représentative, peu de chances de trouver. Ma boule de cristal est en panne. :)
Le souci est que je ne peut pas donner le nom de l'onglet... En revanche je remarque que lorsque je clic sur l'onglet pour remplacer celui de la formule il me l'écrit comme ceci :

VB:
Ta formule : =SIERREUR(INDEX(test!$27:$27;EQUIV("Date "&LIGNE()-1;test!$1:$1;0)-1);"")
Ma formule : =SIERREUR(INDEX('mononglet'!$27:$27;EQUIV("Date "&LIGNE()-1;'mononglet'!$1:$1;0)-1);"")

Je ne sais pas si cela est normal ou non...

Mais si je supprime les ' sa ne change rien...
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Désolé, mais je ne suis ni devin, ni magicien.
Sans fichier vraiment représentatif, je ne peux vous aider plus.
que si je n'ai pas noter Date mais autre chose avant la date
Bien évidemment que ça change tout, puisque la formule dans Equiv recherche la chaine "Date 2" à "Date n", mais ça je ne peux pas l'imaginer, seul vous pouvez résoudre le problème.
avec une fonction recherchev
RechercheV cherche une valeur dans un tableau à une certaine colonne. Mais si vos blocs n'ont pas toujours la même taille, vous ne pourrez jamais savoir de combien de colonnes vous devez vous décaler pour avoir la bonne valeur.
Le souci est que je ne peut pas donner le nom de l'onglet...
Franchement c'est n'importe quoi. En quoi un nom d'onglet peut être à ce point une donnée sensible ???

Dernier test, puis j'abandonne.
Dans ma PJ vous renommer l'onglet des datas par le nom de votre onglet, les formules se remettront à jour avec le bon nom d'onglet. Et vous recopiez cette formule dans votre fichier, et testez. Mais s'il n'y a pas Date 2 quelque part en ligne 1, ça ne peut pas marcher.

Sur ce, bon courage.
 

Discussions similaires

Réponses
6
Affichages
111

Statistiques des forums

Discussions
312 206
Messages
2 086 222
Membres
103 158
dernier inscrit
laufin